Skip to content

矩阵的广义逆

Published: at 09:37 AM

定义

对于一个 m×nm \times n 的实矩阵 AA,A+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 = y,Am×nA_{m \times n} 矩阵是一个 Rn→Rm\mathbb{R}^n \to \mathbb{R}^m 的线性变换。需要解出 x∗∈Rnx^* \in \mathbb{R}^n 使得 Ax∗=yAx^* = y,可以通过广义逆求出 x∗=A+yx^* = A^+y,相当于 x∗=A+Ax∗x^* = A^+Ax^*,这里的 Ax∗Ax^* 也一定在 AA 的列空间中。

如果方程 Ax=yAx = y 无解,即找不到一个 x∗x^* 使得 Ax∗=yAx^* = y,将 yy 投影到 AA 的列空间上并得到 y′y',这样方程才有解,即 Ax∗=y′Ax^* = 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=ATy′A^Ty = A^Ty' + A^Ty_0 = A^Ty'

其中 y′y' 可以写成 Ax∗Ax^*,可以得到 ATy=ATAx∗A^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 广义逆。

求解

如果 A−1A^{-1} 存在,那么 A+=A−1A^+ = 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