线性代数学习笔记10-4:左右逆、伪逆/M-P广义逆(从四个子空间和SVD角度理解)

下面讨论 m × n m\times n m×n的秩为 r r r的矩阵

对于不同情况,讨论逆矩阵

两侧逆矩阵 2-sided inverse

这也是一般所说的“逆矩阵”的含义
方阵 A \boldsymbol{A} A满秩 r = m = n r=m=n r=m=n,那么有 A − 1 A = A A − 1 = I \boldsymbol{A}^{-1} \boldsymbol{A}^{=} \boldsymbol{A} \boldsymbol{A}^{-1}=\boldsymbol{I} A1A=AA1=I,其中 A − 1 \boldsymbol{A}^{-1} A1为两侧逆矩阵(简称逆矩阵)

更一般的,对于长方形的矩阵,可以推广逆矩阵的概念,得到单侧逆

单边逆 one-sided inverse

一般的 n × m n\times m n×m长方形矩阵,不可能有两侧逆矩阵
原因:假如矩阵向量相乘得到零向量 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0,对应于降维的线性变换没有逆矩阵能够还原这个过程;
因此我们说:零空间的存在( A \boldsymbol{A} A的零空间和 A T \boldsymbol{A}^T AT的零空间中有非零向量)毁掉了逆矩阵,而长方形矩阵 A \boldsymbol{A} A A T \boldsymbol{A}^T AT总有一个的零空间维数不为0( n − r ≠ 0 或 m − r ≠ 0 n-r\neq 0或m-r\neq 0 nr=0mr=0

具体在下面的四个子空间讨论的部分还会讲到

左逆矩阵 Left inverse

矩阵 A \boldsymbol{A} A列满秩 r = n ≤ m r=n\leq m r=nm,存在左逆矩阵 A left  − 1 \boldsymbol{A}_{\text {left }}^{-1} Aleft 1,满足 A left  − 1 n × m A m × n = I n × n {\boldsymbol{A}_{\text {left }}^{-1}}_{n\times m} \boldsymbol{A}_{m\times n}=\boldsymbol{I}_{n\times n} Aleft 1n×mAm×n=In×n
其中左逆矩阵 A left  − 1 = ( A T A ) − 1 A T \boldsymbol{A}_{\text {left }}^{-1}=\left(\boldsymbol{A}^{T} \boldsymbol{A}\right)^{-1} \boldsymbol{A}^{T} Aleft 1=(ATA)1AT(注意,实际上有很多左逆,这里写出的是其中一个)

前置知识:
对于长方形矩阵, A T A \boldsymbol{A}^{T} \boldsymbol{A} ATA是很好的观察对象;
A T A \boldsymbol{A}^{T} \boldsymbol{A} ATA至少为半正定矩阵; A \boldsymbol{A} A列满秩 r = n r=n r=n时, A T A \boldsymbol{A}^{T} \boldsymbol{A} ATA正定,进而行列式大于0、满秩、可逆
详见线性代数学习笔记8-4:正定矩阵

证明:
假如 A \boldsymbol{A} A列满秩 r = n r=n r=n,则 ( A T A ) n × n (\boldsymbol{A}^{T} \boldsymbol{A})_{n\times n} (ATA)n×n满秩 r = n r=n r=n、可逆,则有 ( A T A ) − 1 A T A = I \left(\boldsymbol{A}^{T} \boldsymbol{A}\right)^{-1} \boldsymbol{A}^{T} \boldsymbol{A}=\boldsymbol{I} (ATA)1ATA=I
由上式可得, A \boldsymbol{A} A的左逆矩阵 A left  − 1 = ( A T A ) − 1 A T \boldsymbol{A}_{\text {left }}^{-1}=\left(\boldsymbol{A}^{T} \boldsymbol{A}\right)^{-1} \boldsymbol{A}^{T} Aleft 1=(ATA)1AT

注意,上面介绍的左逆矩阵,也是最小二乘法能够奏效的核心所在
之前说过,根据最小二乘法, A x = b \mathbf A \boldsymbol x=\boldsymbol b Ax=b无解时,转而求解 A T A x ^ = A T b \mathbf A^T\mathbf A \hat{\boldsymbol x}=\mathbf A^T\boldsymbol b ATAx^=ATb,该方程的解 x ~ \tilde{\boldsymbol x} x~会是“最优解”
实际上,其理论依据就在于, A \mathbf A A列满秩 r = n r=n r=n时, A T A \mathbf A^T \mathbf A ATA为正定矩阵,进而可逆(后一个方程必有解)
详见线性代数学习笔记8-4:正定矩阵、最小二乘法与半正定矩阵A^T A
后面将会看到, A \mathbf A A不是列满秩时,我们需要用伪逆矩阵来求最小范数解

右逆矩阵 Right inverse

矩阵 A \boldsymbol{A} A行满秩 r = m ≤ n r=m\leq n r=mn,存在右逆矩阵 A right  − 1 \boldsymbol{A}_{\text {right }}^{-1} Aright 1,满足 A m × n A right − 1 n × m = I m × m \boldsymbol{A}_{m\times n}{\boldsymbol{A}_{\text {right}}^{-1}}_{n\times m} =\boldsymbol{I}_{m\times m} Am×nAright1n×m=Im×m
其中右逆矩阵 A right − 1 = A T ( A A T ) − 1 \boldsymbol{A}_{\text {right}}^{-1}=\boldsymbol{A}^{T}\left( \boldsymbol{A\boldsymbol{A}^{T}}\right)^{-1} Aright1=AT(AAT)1(注意,实际上有很多右逆,这里写出的是其中一个)

证明思路和过程类似上面,即基于 A A T \boldsymbol{A\boldsymbol{A}^{T}} AAT的良好性质展开研究

右乘左逆矩阵/左乘右逆矩阵,会发生什么

首先给出结论:右乘左逆矩阵/左乘右逆矩阵,无法得到单位阵 I \boldsymbol I I,而是得到 A \boldsymbol A A列空间/行空间的投影矩阵

对于列满秩 r = n ≤ m r=n\leq m r=nm(存在左逆)的情况,右乘左逆矩阵的结果为: A A left  − 1 = A ( A T A ) − 1 A T \boldsymbol{A}\boldsymbol{A}_{\text {left }}^{-1}=\boldsymbol{A}\left(\boldsymbol{A}^{T} \boldsymbol{A}\right)^{-1} \boldsymbol{A}^{T} AAleft 1=A(ATA)1AT
这正是将 R m \boldsymbol{R}^m Rm空间中的向量投影到 A \boldsymbol{A} A的列空间(维度 r r r)的投影矩阵 P m × m = A ( A T A ) − 1 A T \boldsymbol{P}_{m\times m}=\boldsymbol{A}\left(\boldsymbol{A}^{T} \boldsymbol{A}\right)^{-1} \boldsymbol{A}^{T} Pm×m=A(ATA)1AT

  • 若希望 A A left  − 1 = I \boldsymbol{A}\boldsymbol{A}_{\text {left }}^{-1}=\boldsymbol I AAleft 1=I,那么等价于要求上述投影矩阵为单位阵(无需投影),对应于 A \boldsymbol{A} A的列空间本身就是整个 R m \boldsymbol{R}^m Rm空间的情况,即 r = m r=m r=m的情况(行列都满秩的方阵,与假设不符
  • 可见,左逆矩阵不可能同时满足“右逆”,即右乘左逆矩阵无法得到单位阵 I \boldsymbol I I,因此 n × m n\times m n×m长方形矩阵不可能有两侧逆矩阵

同理,左乘右逆矩阵得到 A right  − 1 A = A T ( A A T ) − 1 A = P n × n \boldsymbol{A}_{\text {right }}^{-1}\boldsymbol{A}= \boldsymbol{A}^{T}\left(\boldsymbol{A}\boldsymbol{A}^{T}\right)^{-1}\boldsymbol{A}=\boldsymbol{P}_{n\times n} Aright 1A=AT(AAT)1A=Pn×n,这就是将 R n \boldsymbol{R}^n Rn空间中的向量投影到 A \boldsymbol{A} A的行空间(维度 r r r)的投影矩阵
可见,右逆矩阵矩阵不可能同时满足“左逆”,即左乘右逆逆矩阵无法得到单位阵 I \boldsymbol I I

小结:逆矩阵存在性与四个子空间的关系

首先,回顾四个子空间的图像如下
在这里插入图片描述

其中,行空间和零空间互为正交补;列空间和左零空间互为正交补

  1. 方阵 A \boldsymbol{A} A满秩 r = m = n r=m=n r=m=n,有两侧逆

    矩阵 A \boldsymbol{A} A零空间维度 n − r = 0 n-r=0 nr=0、左零空间维度 m − r = 0 m-r=0 mr=0(只有零向量)

  2. 矩阵 A \boldsymbol{A} A列满秩 r = n ≤ m r=n\leq m r=nm只有左逆

    矩阵 A \boldsymbol{A} A零空间维度 n − r = 0 n-r=0 nr=0

  3. 矩阵 A \boldsymbol{A} A行满秩 r = m ≤ n r=m\leq n r=mn只有右逆

    矩阵 A \boldsymbol{A} A左零空间 N ( A T ) N(\boldsymbol{A}^T) N(AT)维度 m − r = 0 m-r=0 mr=0(只有零向量)

  4. 矩阵 A \boldsymbol{A} A行列都不满秩,即 r < m r<m r<m r < n r<n r<n

    矩阵 A \boldsymbol{A} A的零空间维度 n − r > 0 n-r>0 nr>0、左零空间维度 m − r > 0 m-r>0 mr>0

    零空间和左零空间都存在,导致了逆矩阵、左逆、右逆都不存在,由此引入伪逆,记为 A + \boldsymbol{A}^+ A+,下面详细介绍

伪逆矩阵Pseudo-inverse / M-P广义逆

规律:零空间的存在,导致了逆矩阵不存在

实际上, A \boldsymbol{A} A是将行空间中向量一一映射到列空间的变换,而“逆矩阵”就是将列空间中向量一一反向映射到行空间的变换

对于 R n \mathbf R^n Rn中的所有向量 x \mathbf x x,可以划分为两部分

  1. 位于 A \mathbf A A零空间中的 x \mathbf x x满足 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0 x \mathbf x x映射为零向量,这个映射不可逆(零向量与任意矩阵相乘得到零向量)
  2. 位于 A \mathbf A A行空间中的 x \mathbf x x满足 A x = u ( u ≠ 0 ) \mathbf {A}\boldsymbol x=\mathbf u(\mathbf u\neq0) Ax=u(u=0)行空间中的 x \mathbf x x映射为 A \mathbf A A列空间中的一个非零向量 u = A x \mathbf u=\mathbf A\mathbf x u=Ax,且这个映射为一一映射,是可逆的(视为对 A \mathbf A A的列向量的线性组合);在这里插入图片描述

可以归纳规律:零空间的存在 A \boldsymbol{A} A的零空间和 A T \boldsymbol{A}^T AT的零空间中有非零向量)导致逆矩阵不存在
原因

  • 从四个子空间角度:
    A. 若零空间不存在,以在行空间和列空间之间建立一一映射,矩阵可逆
    B. 零空间存在时,零空间中的 x \mathbf x x满足 A x = 0 \mathbf A\mathbf x=\mathbf 0 Ax=0,对应于降维的线性变换没有逆矩阵能够还原这个过程,此时只能找到伪逆/M-P广义逆 A + \boldsymbol{A}^+ A+广义逆使得行空间中的向量 x \boldsymbol{x} x可以被还原 A + A x = x \boldsymbol{A}^+\boldsymbol{A}\boldsymbol{x}=\boldsymbol{x} A+Ax=x,而零空间中的向量 x \boldsymbol{x} x A \boldsymbol{A} A映射为零向量后,只能被 A + \boldsymbol{A}^+ A+再次映射为零向量: A + A x = 0 \boldsymbol{A}^+\boldsymbol{A}\boldsymbol{x}=\boldsymbol{0} A+Ax=0
    在这里插入图片描述

  • 从SVD角度(若矩阵的SVD为 A = U Σ V T \boldsymbol{A}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T} A=UΣVT):

    四个子空间和SVD的关系:

    矩阵的SVD为 A m × n = U m × m Σ m × n V n × n T \boldsymbol{A}_{m\times n} =\boldsymbol{U}_{m\times m} \boldsymbol{\Sigma}_{m\times n} \boldsymbol{V}^{T}_{n\times n} Am×n=Um×mΣm×nVn×nT
    在这里插入图片描述
    图中红色部分对应的是 A \mathbf {A} A行空间中的第一部分标准正交基 v i ( i = 1 , 2 , . . . , r ) \mathbf{v}_{i}(i=1,2,...,r) vi(i=1,2,...,r),线性变换 A \mathbf {A} A将其映射生成到列空间到中的一组标准正交基,满足 A v i = σ i u i \mathbf {A}\mathbf v_i=\sigma_i \mathbf u_i Avi=σiui σ i \sigma_i σi组成了红色部分的对角矩阵 Σ ^ r × r \hat{\mathbf \Sigma}_{r\times r} Σ^r×r
    图中蓝色部分对应零空间中的第二部分标准正交基 v i ( i = r + 1 , r + 2 , . . . , n ) \mathbf v_i(i=r+1,r+2,...,n) vi(i=r+1,r+2,...,n),满足 A v i = 0 \mathbf {A}\mathbf v_i=0 Avi=0,对应 Σ \boldsymbol{\Sigma} Σ中的右下角零元素(这部分对应了将零空间的向量映射到零向量 A v i = 0 \mathbf {A}\mathbf v_i=0 Avi=0)

    总之,行/列不满秩,导致了 Σ \boldsymbol{\Sigma} Σ出现右下角的0元素部分,进而矩阵和其他矩阵相乘就不可得到单位阵(从而不存在逆矩阵),这再次对应了前面说的“零空间的存在使得逆矩阵不存在

M-P广义逆

由上,矩阵 A \boldsymbol{A} A行列都不满秩 r < m r<m r<m r < n r<n r<n)时,既没有左逆也没有右逆,此时我们能找到的“最好的逆”就是伪逆矩阵

满秩方阵才有逆矩阵;
当矩阵不满秩/矩阵不是方阵,则只有"伪逆/广义逆",这是逆矩阵的推广

若矩阵 A \boldsymbol{A} A的SVD为 A = U Σ V T \boldsymbol{A}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T} A=UΣVT,那么伪逆矩阵 A + = V Σ + U T \boldsymbol{A}^{+}=\boldsymbol{V} \boldsymbol{\Sigma}^{+} \boldsymbol{U}^{T} A+=VΣ+UT
伪逆满足:

  • A A + A = A \boldsymbol{A} \boldsymbol{A}^{+} \boldsymbol{A}=\boldsymbol{A} AA+A=A
  • A + A A + = A + \boldsymbol{A}^{+} \boldsymbol{A} \boldsymbol{A}^{+}=\boldsymbol{A}^{+} A+AA+=A+
  • A A + = ( A A + ) T \boldsymbol{A} \boldsymbol{A}^{+}=\left(\boldsymbol{A} \boldsymbol{A}^{+}\right)^{T} AA+=(AA+)T
  • A + A = ( A + A ) T \boldsymbol{A}^{+} \boldsymbol{A}=\left(\boldsymbol{A}^{+} \boldsymbol{A}\right)^{T} A+A=(A+A)T

伪逆矩阵的原理:从SVD角度理解

我们从SVD的视角来拆解问题:现在希望求一个伪逆,其与原矩阵的乘积尽可能接近单位阵;
但要注意,当行列都不满秩 r < m r<m r<m r < n r<n r<n)时,矩阵与其他矩阵相乘,不可能得到单位阵,只能尽可能接近;

做SVD后 A = U Σ V T \boldsymbol{A}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T} A=UΣVT

  • A. 若 A \boldsymbol{A} A满秩, A = U [ σ 1 ⋱ σ r ] n × n V T \boldsymbol{A}=\boldsymbol{U}\left[\begin{array}{lll} \sigma_{1} & &\\ & \ddots &\\ & & \sigma_{r} \end{array}\right]_{n\times n}\boldsymbol{V}^{T} A=U σ1σr n×nVT,则矩阵可逆:逆矩阵为 A − 1 = V Σ − 1 U T \boldsymbol{A}^{-1}=\boldsymbol{V}\boldsymbol{\Sigma}^{-1}\boldsymbol{U}^{T} A1=VΣ1UT

  • B. 若 A \boldsymbol{A} A行/列不满秩, A = U [ σ 1 0 σ 2 ⋱ 0 0 ] m × n V T \boldsymbol{A}=\boldsymbol{U}\begin{bmatrix} \sigma _1 & & & 0\\ & \sigma _2 & & \\ & & \ddots & \\ 0 & & &0 \end{bmatrix}_{m\times n}\boldsymbol{V}^{T} A=U σ10σ200 m×nVT(由于上述的零空间的存在, Σ \boldsymbol{\Sigma} Σ的右下角出现0元素),这从根本上决定了 A \boldsymbol{A} A与其他矩阵相乘,不可能得到单位阵,寻找M-P广义逆,应保证它与原矩阵的乘积尽可能接近单位阵,故M-P广义逆 A + = V Σ + U T \boldsymbol{A}^{+}=\boldsymbol{V}\boldsymbol{\Sigma}^{+}\boldsymbol{U}^{T} A+=VΣ+UT,其中 Σ + = [ 1 σ 1 0 1 σ 2 ⋱ 0 0 ] n × m \boldsymbol {\varSigma ^ + } =\begin{bmatrix} \frac{1}{\sigma _1} & & & 0\\ & \frac{1}{\sigma _2} & & \\ & & \ddots & \\ 0 & & &0 \end{bmatrix}_{n\times m} Σ+= σ110σ2100 n×m,满足 Σ + Σ = [ 1 0 1 ⋱ 0 0 ] n × n {\boldsymbol \varSigma ^ + }\boldsymbol \varSigma = \begin{bmatrix} 1 & & & 0\\ & 1 & & \\ & & \ddots & \\ 0 & & &0 \end{bmatrix}_{n\times n} Σ+Σ= 10100 n×n Σ Σ + = [ 1 0 1 ⋱ 0 0 ] m × m \boldsymbol \varSigma{\boldsymbol \varSigma ^ + } = \begin{bmatrix} 1 & & & 0\\ & 1 & & \\ & & \ddots & \\ 0 & & &0 \end{bmatrix}_{m\times m} ΣΣ+= 10100 m×m

i.e. 构造伪逆矩阵的思路是,尽量使 Σ Σ + \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+} ΣΣ+ Σ + Σ \boldsymbol{\Sigma}^{+}\boldsymbol{\Sigma} Σ+Σ中的左上角的r阶对角阵为单位阵(虽然不能得到整个单位阵,但尽量接近单位阵;而 Σ Σ + = Σ + Σ = I \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+}=\boldsymbol{\Sigma}^{+}\boldsymbol{\Sigma}=\boldsymbol I ΣΣ+=Σ+Σ=I就是矩阵可逆的情况)

实际上,有很多的伪逆矩阵 Σ + \boldsymbol{\Sigma}^{+} Σ+都能满足上述要求(因为 Σ \boldsymbol{\Sigma} Σ有右下角的0元素部分,不管 Σ + \boldsymbol{\Sigma}^{+} Σ+如何,这部分的乘积结果都是0),我们这里选择的是其中最简洁、不参杂多余非零元素的一个伪逆矩阵

右乘左逆矩阵/左乘右逆矩阵,会发生什么

对于 A = U Σ V T \boldsymbol{A}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T} A=UΣVT

A \boldsymbol{A} A左乘伪逆矩阵,得到 A A + = U Σ V T V Σ + U T = U Σ Σ + U T \boldsymbol{A}\boldsymbol{A}^{+}=\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T}\boldsymbol{V} \boldsymbol{\Sigma}^{+} \boldsymbol{U}^{T}=\boldsymbol{U} \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+} \boldsymbol{U}^{T} AA+=UΣVTVΣ+UT=UΣΣ+UT,其中 Σ Σ + \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+} ΣΣ+左上角包含一个单位阵,如上;

A \boldsymbol{A} A右乘伪逆矩阵,得到 A + A = V Σ + U T U Σ V T = V Σ + Σ V T \boldsymbol{A}^{+}\boldsymbol{A}=\boldsymbol{V} \boldsymbol{\Sigma}^{+} \boldsymbol{U}^{T}\boldsymbol{U} \boldsymbol{\Sigma} \boldsymbol{V}^{T}=\boldsymbol{V} \boldsymbol{\Sigma}^{+}\boldsymbol{\Sigma} \boldsymbol{V}^{T} A+A=VΣ+UTUΣVT=VΣ+ΣVT,其中 Σ + Σ \boldsymbol{\Sigma}^{+}\boldsymbol{\Sigma} Σ+Σ左上角包含一个单位阵,如上;

矩阵 左乘/右乘 伪逆矩阵,都不能得到单位阵,但是能得到投影矩阵(类似上面的右乘左逆矩阵)

  • 右乘伪逆,得到投影矩阵 A A + \boldsymbol{A}\boldsymbol{A}^{+} AA+(将向量投影到 A \boldsymbol{A} A的列空间);

例如,对于 A A + x = U Σ Σ + U T x \boldsymbol{A}\boldsymbol{A}^{+}\mathbf x=\boldsymbol{U} \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+} \boldsymbol{U}^{T}\mathbf x AA+x=UΣΣ+UTx
U T x \boldsymbol{U}^{T}\mathbf x UTx得到向量 x \mathbf x x U \boldsymbol{U} U这个单位正交基上的坐标;
再乘以 Σ Σ + \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+} ΣΣ+(左上角为r阶单位阵)相当于只保留向量 x \mathbf x x U \boldsymbol{U} U这个单位正交基上中属于 A \boldsymbol{A} A列空间(r维)的那部分;
最后再乘以单位正交基 U \boldsymbol{U} U,就是 x \mathbf x x A \boldsymbol{A} A列空间的投影了

  • 左乘伪逆,得到投影矩阵 A + A \boldsymbol{A}^{+}\boldsymbol{A} A+A(将向量投影到 A \boldsymbol{A} A的行空间);
  • 投影矩阵 Σ Σ + \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+} ΣΣ+ Σ + Σ \boldsymbol{\Sigma}^{+}\boldsymbol{\Sigma} Σ+Σ的SVD中,左上角都包含一个单位阵,这接近于真正可逆的情况

对比上面的左逆矩阵:矩阵左乘左逆矩阵得到单位阵;右乘左逆矩阵得到将 R m \mathbf R^m Rm中的向量投影到列空间的投影矩阵;
这里无论左乘/右乘伪逆,都只能得到一个投影矩阵,但这已经伪逆能做到的最好结果

  • 投影矩阵 Σ Σ + \boldsymbol{\Sigma}\boldsymbol{\Sigma}^{+} ΣΣ+ Σ + Σ \boldsymbol{\Sigma}^{+}\boldsymbol{\Sigma} Σ+Σ能将问题带入很好的空间中(即带入行空间和列空间,而排除了零空间/左零空间)
  • 5
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值