定义
对于一个 m×n 的实矩阵 A,A+ 应该满足下面四个条件:
- AA+A=A
- A+AA=A+
- (AA+)T=AA+
- (A+A)T=A+A
如果 A 列线性无关,则有:
A+=(ATA)−1AT
称为左逆,并有 A+A=I。
如果 A 行线性无关,则有:
A+=AT(AAT)−1
称为右逆,并有 AA+=I。
几何解释
对于一个线性方程组 Ax=y,Am×n 矩阵是一个 Rn→Rm 的线性变换。需要解出 x∗∈Rn 使得 Ax∗=y,可以通过广义逆求出 x∗=A+y,相当于 x∗=A+Ax∗,这里的 Ax∗ 也一定在 A 的列空间中。
如果方程 Ax=y 无解,即找不到一个 x∗ 使得 Ax∗=y,将 y 投影到 A 的列空间上并得到 y′,这样方程才有解,即 Ax∗=y′。
根据 A 的向量子空间的性质,C(A) 与 N(AT) 是正交的,可以用这两个空间里面的向量张成整个 Rm。一定能将 ym 分解为 ym=PC(A)(y)+PN(AT)(y)=y′+y0。可以得到
ATy=ATy′+ATy0=ATy′
其中 y′ 可以写成 Ax∗,可以得到 ATy=ATAx∗,如果 ATA 可以逆,即 R(A)=n,则有
x∗=(ATA)−1ATy
其中,(ATA)−1AT 叫做 Moore-Penrose 广义逆。
求解
如果 A−1 存在,那么 A+=A−1。
将 A 进行 SVD 分解即 A=UΣVT,就有 A+=VΣ+UT。
其中 Σ+ 就是将 Σ 转置一下然后将 σi 变为 1/σi。
[1] Matrix Methods in Data Analysis, Signal Processing, and Machine Learning
[2] Moore–Penrose inverse
[3] Geometrical meaning of the Moore-Penrose pseudo inverse