L33-左右逆和伪逆

linear-algebra

L33-左右逆和伪逆

参考

若矩阵 AA 是可逆矩阵/非奇异矩阵,则它的逆矩阵(假设其左逆矩阵)A1A^{-1} 满足 A1A=IA^{-1}A=I

求解逆矩阵

在之前的 L3-矩阵的乘法和逆 课堂上所介绍的算法来求解逆矩阵,只能针对方阵

另外在 L20-克拉默法则、逆矩阵、体积 课堂上介绍了逆矩阵的代数表达式,可以用它来求解逆矩阵

左右逆相等

当矩阵 Am×nA_{m \times n} 满秩(行满秩和列满秩 r=m=nr=m=n)时,它具有左右逆 2-sided inverse 且它们是相同的 Aleft1=Aright1A_{left}^{-1}=A_{right}^{-1}

提示

当矩阵同时存在左右逆时,表示 r=m=nr=m=n 矩阵行满秩和列满秩,则矩阵必为方阵

左逆

当矩阵 Am×nA_{m \times n} 列满秩时 r=n<mr=n<m,则矩阵存在左逆 left inverse Aleft1A_{left}^{-1}(但不存在右逆,因为行不满秩),它满足 Aleft1A=IA_{left}^{-1}A=I

左逆可以用矩阵 AA 及其转置 A1A^{-1} 所构成的表达式来表示 Aleft1=(ATA)1ATA_{left}^{-1}=(A^{T}A)^{-1}A^{T}

证明

或许有其他形式的左逆表达式,但是以上的形式更佳/更通用

当矩阵 AA 列满秩时,矩阵 AA 是可逆的,则对称矩阵 ATAA^{T}A(它将形状为长方形的矩阵 AA 转换为方阵)也是可逆的(证明可参考 L16-投影矩阵与最小二乘法),所以存在 (ATA)1(A^{T}A)^{-1}

则表达式 (ATA)1AT{\color{Red}(A^{T}A)^{-1}A^{T} } 满足

(ATA)1ATA=(ATA)1ATA=I{\color{Red}(A^{T}A)^{-1}A^{T} }A=(A^{T}A)^{-1}A^{T}A=I

即它与矩阵 AA 相乘的结果是 II,根据逆矩阵的定义,所以该表达式就是矩阵 AA 的左逆 Aleft1=(ATA)1ATA_{left}^{-1}={\color{Red}(A^{T}A)^{-1}A^{T} }

提示

如果将左逆(以上表达式)(ATA)1AT{\color{Red}(A^{T}A)^{-1}A^{T} } 乘到矩阵 AA右边,则所得的结果矩阵是投影矩阵 P=A(ATA)1ATP=A{\color{Red}(A^{T}A)^{-1}A^{T} }

该投影矩阵的作用是将该空间的向量投影到矩阵 AA列空间

右逆

当矩阵 Am×nA_{m \times n} 行满秩时 r=m<nr=m<n,则矩阵存在右逆 right inverse Aright1A_{right}^{-1}(但不存在左逆,因为列不满秩),它满足 AAright1=IAA_{right}^{-1}=I

右逆可以用矩阵 AA 及其转置 A1A^{-1} 所构成的表达式来表示 Aright1=AT(AAT)1A_{right}^{-1}=A^{T}(AA^{T})^{-1}

证明

或许有其他形式的右逆表达式,但是以上的形式更佳/更通用

当矩阵 AA 行满秩时,矩阵 AA 是可逆的,则对称矩阵 AATAA^{T}(它将形状为长方形的矩阵 AA 转换为方阵)也是可逆的(证明可参考 L16-投影矩阵与最小二乘法),所以存在 (AAT)1(AA^{T})^{-1}

则表达式 AT(AAT)1{\color{Blue}A^{T}(AA^{T})^{-1} } 满足

AAT(AAT)1=AAT(AAT)1=IA{\color{Blue}A^{T}(AA^{T})^{-1} }=AA^{T}(AA^{T})^{-1}=I

即矩阵 AA 与它相乘的结果是 II,根据逆矩阵的定义,所以该表达式就是矩阵 AA 的右逆 Aright1=AT(AAT)1A_{right}^{-1}={\color{Blue}A^{T}(AA^{T})^{-1} }

提示

如果将右逆(以上表达式)AT(AAT)1{\color{Blue}A^{T}(AA^{T})^{-1} } 乘到矩阵 AA左边,则所得的结果矩阵是投影矩阵 P=AT(AAT)1AP={\color{Blue}A^{T}(AA^{T})^{-1} }A

该投影矩阵的作用是将该空间的向量投影到矩阵 AA行空间

伪逆

根据前面的分析,可知

  • 当一个矩阵满秩时 r=m=nr=m=n 它存在左逆和右逆,则它的零空间和左零空间都只有一个零向量
  • 当一个矩阵列满秩时 r=nr=n 它存在左逆,则它的零空间 nullspace 只有一个零向量(即对于方程组 Ax=0Ax=0 未知数 xx 的解只能是零向量)
  • 当一个矩阵行满秩时 r=mr=m 它存在右逆,则它的右零空间 left nullspace 只有一个零向量(即对于方程组 ATy=0A^{T}y=0 未知数 yy 的解只能是零向量)

那么当一个矩阵的零空间或左零空间具有非零向量,则表示该矩阵不可逆(没有左逆或右逆),从求解方程组的角度来理解也是一样的

当矩阵 Am×nA_{m \times n} 列不满秩且行不满秩时 r<m,r<nr<m, r<n,则在矩阵 AA 的零空间和左零空间中,除了零向量以外,都还存在非零的向量,则矩阵 AA 不可逆。可以将零空间存在着非零向量看作是「毁掉」了逆矩阵的存在性。

如果不把零空间(和左零空间)纳入考虑,将矩阵 AA 看作仅作用于行空间中的向量,即通过 AxAx 将行空间向量 xx(可逆地)映射到列空间中,则存在矩阵可以实现逆方向的映射,该矩阵称为矩阵 AA 的伪逆 pseudoinverse,记作 A+A^{+}

提示

如果向量 xx 取自行空间(以列向量的形式表示),则通过转换计算 AxAx 可以映射到列空间中,因为从线性变换的角度来看待表达式 AxAx 它是对矩阵 AA 的各列向量进行线性组合,所以结果向量依然在列空间中

向量从行空间映射到列空间的转换是可以实现一一对应的,由于行空间和列空间的维度都是 rr(矩阵的秩),所以可以基于行空间的所有向量,通过 AxAx 转换,得到一个完整的列空间

证明

若向量 xxyy 在行空间中不相等 xyx \ne y,则转换到列空间的向量 AxAxAyAy 也是不相等的 AxAyAx \ne Ay 即通过矩阵 AA 从行空间映射到列空间的转换是可以实现一一对应的

反证法:

  • 首先假设 Ax=AyAx=Ay 成立,可得 A(xy)=0A(x-y)=0xyx-y 在矩阵 AA 的零空间中
  • 根据题设,向量 xxyy 在行空间中,则它们的线性组合 xyx-y 依然在行空间中
  • 同时在零空间和行空间的向量只能是零向量,即 xy=0x-y=0 所以 x=yx=y 与题设矛盾

如果将矩阵 AA 的映射作用局限/约束在行空间和列空间(向量),则它可以实现 xAxx \mapsto Ax 从行空间到列空间的映射。那么它存在伪逆 A+A^{+} 可以实现反方向的映射,例如满足 y=A+(Ay)y=A^{+}(Ay)

提示

伪逆对于统计学家在处理线性回归时非常有用,因为他们所接触的矩阵可能无法保证列满秩,但伪逆的存在可以让逆映射成为可能

求解伪逆

求矩阵 AA 的其中一种方法是通过 SVD 奇异值分解 A=UΣVTA=U \Sigma V^{T} 对矩阵进行拆分,只对可逆矩阵求逆,而对于不可逆的矩阵求伪逆

对于矩阵 AA 的 SVD 奇异值分解形式 A=UΣVTA=U \Sigma V^{T},其中 UUVTV^{T} 都是正交矩阵,它们都是可逆的,可以直接求出逆矩阵;而 Σ\Sigma 是对角矩阵,它可能是不可逆的

矩阵 Σ\Sigma 对角线上的元素是矩阵 AA 的特征值(最后可能还有 00 元素,当矩阵 r<nr<n 时,则对角线上的右下角会有 nrn-r 个零元素)

Σ=[σ1000000σ2000000σr000000000000]\Sigma= \begin{bmatrix} \sigma_{1} & 0 & 0 & 0 & 0 & \dots & 0 \\ 0 & \sigma_{2} & 0 & 0 & 0 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \vdots \\ 0 & \dots & 0 & \sigma_{r} & 0 & \dots & 0 \\ 0 & \dots & 0 & 0& 0 & \dots & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & \dots & 0 & 0 & 0 & \dots & 0 \end{bmatrix}

则对于矩阵 Σ\Sigma 需要求它的伪逆 Σ+\Sigma^{+} 其表达式如下(对角线上的元素取倒数)

Σ+=[1/σ10000001/σ20000001/σr000000000000]\Sigma^{+}= \begin{bmatrix} 1/\sigma_{1} & 0 & 0 & 0 & 0 & \dots & 0 \\ 0 & 1/\sigma_{2} & 0 & 0 & 0 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \vdots \\ 0 & \dots & 0 & 1/\sigma_{r} & 0 & \dots & 0 \\ 0 & \dots & 0 & 0& 0 & \dots & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & \dots & 0 & 0 & 0 & \dots & 0 \end{bmatrix}

伪逆的作用和逆矩阵的作用相似,所以 ΣΣ+\Sigma \Sigma^{+} 的结果会接近于单位矩阵

ΣΣ+=[100000010000001000000000000]\Sigma \Sigma^{+}= \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & \dots & 0 \\ 0 & 1 & 0 & 0 & 0 & \dots & 0 \\ \vdots & \vdots & \ddots & \vdots & \vdots & \vdots & \vdots \\ 0 & \dots & 0 & 1 & 0 & \dots & 0 \\ 0 & \dots & 0 & 0& 0 & \dots & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \ddots & \vdots \\ 0 & \dots & 0 & 0 & 0 & \dots & 0 \end{bmatrix}

伪逆可以与原矩阵进行左右相乘,分别得到不同作用的投影矩阵

  • 如果伪逆 Σn×m+\Sigma_{n \times m}^{+} 与原矩阵左乘 Σn×m+Σm×n\Sigma_{n \times m}^{+}\Sigma_{m \times n} 它可以得到一个(近似于单位矩阵)n×nn \times n 的矩阵,它是一个投影矩阵,其的作用是将向量投影到行空间
  • 如果伪逆 Σn×m+\Sigma_{n \times m}^{+} 与原矩阵右乘 Σm×nΣn×m+\Sigma_{m \times n}\Sigma_{n \times m}^{+} 它可以得到一个(近似于单位矩阵)m×mm \times m 的矩阵,它是一个投影矩阵,其的作用是将向量投影到列空间
提示

虽然伪逆还有其他形式的表达式,即对角线上最后的 00 元素 可以替换为非零元素,但是以上的形式可以让伪逆的作用更接近于真正的逆矩阵,即与原矩阵相乘的结果与单位矩阵更相似

根据以上的分析,可以得到矩阵 AA 的伪逆

A+=(UΣVT)1=(VT)1Σ1U1=VΣ+UT\begin{aligned} A^{+}&=(U \Sigma V^{T})^{-1} \\ &=(V^{T})^{-1}\Sigma^{-1}U^{-1} \\ &=V\Sigma^{+}U^{T} \end{aligned}

Copyright © 2024 Ben

Theme BlogiNote

Icons from Icônes