Skip to content

矩阵的广义逆

Published: at 09:37 AM

定义

对于一个 m×nm \times n 的实矩阵 AAA+A^+ 应该满足下面四个条件:

  1. AA+A=AAA^+A = A
  2. A+AA=A+A^+AA^= A^+
  3. (AA+)T=AA+(AA^+)^T = AA^+
  4. (A+A)T=A+A(A^+A)^T = A^+A

如果 AA 列线性无关,则有:

A+=(ATA)1ATA^+ = (A^TA)^{-1}A^T

称为左逆,并有 A+A=IA^+A = I

如果 AA 行线性无关,则有:

A+=AT(AAT)1A^+ = A^T(AA^T)^{-1}

称为右逆,并有 AA+=IAA^+ = I

几何解释

对于一个线性方程组 Ax=yAx = yAm×nA_{m \times n} 矩阵是一个 RnRm\mathbb{R}^n \to \mathbb{R}^m 的线性变换。需要解出 xRnx^* \in \mathbb{R}^n 使得 Ax=yAx^* = y,可以通过广义逆求出 x=A+yx^* = A^+y,相当于 x=A+Axx^* = A^+Ax^*,这里的 AxAx^* 也一定在 AA 的列空间中。

如果方程 Ax=yAx = y 无解,即找不到一个 xx^* 使得 Ax=yAx^* = y,将 yy 投影到 AA 的列空间上并得到 yy',这样方程才有解,即 Ax=yAx^* = y'

根据 AA 的向量子空间的性质,C(A)C(A)N(AT)N(A^T) 是正交的,可以用这两个空间里面的向量张成整个 Rm\mathbb{R}^m。一定能将 ymy_m 分解为 ym=PC(A)(y)+PN(AT)(y)=y+y0y_m = P_{C(A)}(y) + P_{N(A^T)}(y) = y' + y_0。可以得到

ATy=ATy+ATy0=ATyA^Ty = A^Ty' + A^Ty_0 = A^Ty'

其中 yy' 可以写成 AxAx^*,可以得到 ATy=ATAxA^Ty = A^TAx^*,如果 ATAA^TA 可以逆,即 R(A)=nR(A) = n,则有

x=(ATA)1ATyx^* = (A^TA)^{-1}A^Ty

其中,(ATA)1AT(A^TA)^{-1}A^T 叫做 Moore-Penrose 广义逆。

求解

如果 A1A^{-1} 存在,那么 A+=A1A^+ = A^{-1}

AA 进行 SVD 分解即 A=UΣVTA = U\Sigma V^T,就有 A+=VΣ+UTA^+ = V\Sigma^+U^T

其中 Σ+\Sigma^+ 就是将 Σ\Sigma 转置一下然后将 σi\sigma_i 变为 1/σi1/\sigma_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