提到矩阵的逆,其背景是我们要求解线性方程 Ax=y A x = y , 如果 矩阵 A A 有逆矩阵的话,那么 x=A−1y x = A − 1 y , 解起来,轻松加愉快。但问题是,想要 A−1 A − 1 存在且能求出来,这个条件太苛刻了。
- 如果 A A 的行数大于列数,那么方程可能没有解
- 如果 A A 的行数小于列数,那么方程可能有无数多个解
- 即使 A A 是个方阵,那也可能无解,可能有唯一的解,可能有无穷多解
就像方阵可以特征分解,非方阵造出来一个非奇异分解;那么满秩方阵可以求逆,那其他不满足条件的也要有一个类似的求逆的方法,其中一种叫做 Moore-Penrose 伪逆(Moore-Penrose pseudoinverse)。一个任意矩阵 A A 的伪逆定义为,
A+=limα→0(ATA+αI)−1AT A + = lim α → 0 ( A T A + α I ) − 1 A T
. 定义是定义,实际计算中,是使用这个公式
A+=VD+UT A + = V D + U T
. 其中,矩阵
U,D,V U , D , V 是矩阵
A A 进行奇异值分解后得到的,对角矩阵
D D 的伪逆
D+ D + 是其非零元素取倒数之后再转置得到的。
- 当 A A 的行数大于列数,那么方程可能没有解。通过伪逆得到的 x x 是满足欧氏距离 ∥Ax−y∥2 ‖ A x − y ‖ 2 最小的解
- 当 A A 的行数小于列数,使用伪逆求解线性方程式众多可能方法中的一种。具体地, x=A+y x = A + y 是方程所有可行解中, ∥x∥2 ‖ x ‖ 2 最小的一个