【Rethink Math】矩阵论的几何理解:广义逆矩阵
呃啊!好难写!
至于字母混乱,您多担待。
通过之前的论述,我们知道,一个矩阵的逆矩阵就是一个线性变换的逆变换。比如一个向量$x$,经过矩阵$A$所表示的线性变换,变成$Ax$,那么再经过$A^{-1}$,就又变回了$x$。
若方阵$A$可逆,那么$A^{-1}$表示与$A$相反的线性变换。向量$x$经过$A$变成$Ax$后,再经过$A^{-1}$,就能恢复为原向量:
$$
A^{-1}(Ax)=x.
$$</p><p>同样,对任意输出向量$b$,都有</p><p>$$
A(A^{-1}b)=b.
$$</p><p>在应用中,我们通常会求解$Ax=b$这种方程组,那么逆矩阵就相当于做了这样一件事,给定了一个线性变换$A$和变换后的向量$b$,我们要找到变换之前的向量$x$,那么一个矩阵如果没有逆矩阵,找到这个$x$就很难,我们需要想一些办法。</p><!--more--><h2>原向量有哪几种情况?</h2><blockquote><p>Takeaway:</p><p>没有逆矩阵,那么目标向量,要么对应无穷多个原向量,1个原向量,要么对应0个原向量。</p></blockquote><p>为什么会没有逆矩阵?很显然,因为矩阵把很多方向压到了零向量,这样就相当于把一些维度的信息压没了,就导致没有办法逆过来运算。那么这个时候,对于不同的$b$,$x$有哪几种情况?其实只有两种情况——要么有无穷多个原向量,要么压根找不到一个合理的原向量。</p><p>一个$b$对应无穷多个$x$,是由压没维度导致的。例如:</p><p>$$
A=
\begin{pmatrix}
1&0\
0&0
\end{pmatrix}.
$$</p><p>那么</p><p>$$
A
\begin{pmatrix}
x_1\x_2
\end{pmatrix}
=
\begin{pmatrix}
x_1\0
\end{pmatrix}.
$$</p><p>对于</p><p>$$
b=
\begin{pmatrix}
1\0
\end{pmatrix},
$$</p><p>有无穷多个解:</p><p>$$
x=
\begin{pmatrix}
1\t
\end{pmatrix},
\qquad t\in\mathbb R.
$$</p><p>因为第二个方向被完全压没了,而一个方向上有无穷多个向量,那么很显然,原向量就有无穷多个。</p><p>一个$b$没有对应的$x$,还是上面的矩阵:</p><p>$$
A
\begin{pmatrix}
x_1\x_2
\end{pmatrix}
=
\begin{pmatrix}
x_1\0
\end{pmatrix}.
$$</p><p>它只能产生第二个分量为0的向量。所以,对于</p><p>$$
b=
\begin{pmatrix}
1\1
\end{pmatrix},
$$</p><p>方程</p><p>$$
Ax=b
$$</p><p>根本无解。</p><p>各种广义逆就是用不同的方法处理这两个问题。</p><ul><li>1-逆:如果$b$确实来自某个$x$,那就从多个原像中选一个。</li><li>MP逆:若有多个解,就选长度最小的;若没有精确解,就找最接近的解。</li><li>Drazin逆:它把线性变换分成可逆的长期部分和最终消失的幂零部分,只反转可逆部分。</li></ul><h2>1-逆</h2><blockquote><p>Takeaway:</p><p>如果一个向量确实对应一个或多个原向量,1-逆就负责找出来,或者随便找一个。</p><p>如果难以处理,不妨试试把矩阵简化,然后再另行处理。</p></blockquote><p>1-逆,通常记作$A^{(1)}$,要满足:</p><p>$$
AA^{(1)}A=A
$$</p><p>也就是,如果</p><p>$$
b=Ax,
$$</p><p>那么</p><p>$$
A A^{(1)} b=b.
$$</p><p>所以 $A^{(1)}b$ 是方程</p><p>$$
Ax=b
$$</p><p>的一个解。</p><p>也就是说,如果一个$b$确实对应一个或多个原向量$x$,就找出来,或者随便找一个。</p><p>「哎呀你这家伙,这哪有意思啊?那书上不是告诉你怎么算了吗?你这蠢货怎么不讲!」有读者肯定要说啦。哈哈,您别急,且听下一部分分解!</p><p>1-逆的一个计算方法是这样的,设$A\in \mathbb{R}^{m\times n}_r(r>0)$,且有$S\in \mathbb{R}^{m\times m}_m$和$n$阶置换矩阵$P$,使得:</p><p>$$
SAP=\begin{bmatrix}\mathbf{I_r} & \mathbf{K}\ \mathbf{O} & \mathbf{O}\end{bmatrix}=M
$$</p><p>其中,$K\in \mathbb{R}^{r\times (n-r)}$,则对任意$L\in \mathbb{R}^{(n-r)\times (m-r)}$,下面这个是$A$的1-逆:</p><p>$$
X=P\begin{bmatrix}\mathbf{I_r} & \mathbf{O}\ \mathbf{O} & \mathbf{L}\end{bmatrix}S=PNS
$$</p><p>这个方法就是,通过初等变换把$A$变化成一个易于处理的形式,然后再考虑构造1-逆。</p><p>首先,我们来看矩阵$M$,它其实把矩阵$A$拆成了两个部分,左上角是一个$r$阶单位阵,这是因为前$r$个方向是独立、有效的方向,后面的零行表示输出空间中有$m-r$个方向永远无法被$A$产生;$K$表示后面那些列可以由前$r$个主元列线性表示。</p><p>然后,我们为$M$构造一个1-逆,也就是$N$阵,根据分块矩阵的知识,很好验证。现在$N$是$M$的1-逆,但我们需要的是原矩阵$A$的1-逆。</p><p>由</p><p>$$
M=SAP
$$</p><p>得到</p><p>$$
A=S^{-1}MP^{-1}.
$$</p><p>定义</p><p>$$
X=PNS.
$$</p><p>那么</p><p>$$
\begin{aligned}
AXA
&=
\left(S^{-1}MP^{-1}\right)
(PNS)
\left(S^{-1}MP^{-1}\right)\
&=
S^{-1}MNMP^{-1}.
\end{aligned}
$$</p><p>因为</p><p>$$
MNM=M
$$</p><p>所以</p><p>$$
AXA
=
S^{-1}MP^{-1}
=A.
$$</p><p>因此$X$就是$A$的一个1-逆。</p><h2>前两个Penrose条件</h2><blockquote><p>Takeaway:</p><p>条件一保证“映回输出没有错”,条件二保证“选出的反向结果自身一致”。</p></blockquote><p>有一类广义逆矩阵叫做Moore-Penrose逆矩阵,也可以叫做MP逆,那么一个矩阵如果是MP逆,可以记作$A^+$,就需要满足四个Penrose条件,分别是:</p><p>$$
AA^+A=A
$$</p><p>$$
A^+AA^+=A^+
$$</p><p>$$
(AA^+)^T=AA^+
$$</p><p>$$
(A^+A)^T=A^+A
$$</p><p>对于第一条,实际上就和1-逆满足的条件一样,其实,正因为1-逆满足Penrose条件的第一条,才叫做1-逆。那么第一条实际上说的就是,如果一个向量有与之对应的原向量,那么逆矩阵必须要能够找到一个有效的原向量。</p><p>第二条看起来就是把逆矩阵和原矩阵交换了位置,但是几何含义上略有出入,我们知道,$b$对应的一个原向量,可以用$A^+b$来表示,那么第二个式子两边同时右乘$b$:</p><p>$$
A^+AA^+b=A^+b
$$</p><p>那么左边表示,我有一个原向量$A^+b$,那么在经历$A$变换和$A^+$变换之后,仍然还是原向量,直观含义就是,$A^+$选出的解必须是稳定的,不能反复“反推”之后又得到另一个解。这相当于条件一保证“映回输出没有错”,条件二保证“选出的反向结果自身一致”。</p><p>根据条件一二,实际上可以推出:</p><p>$$
(AA^+)^2=AA^+AA^+=AA^+
$$</p><p>那么实际上,$AA^+$就是一个投影矩阵。</p><h2>突发新闻:投影矩阵</h2><blockquote><p>Takeaway:</p><p>投影矩阵要满足幂等性,输入输出空间应是一个空间。</p><p>正交投影能得到与原向量,最近的向量。</p></blockquote><p>投影矩阵相当于把向量投影到某个空间上,那么通常满足幂等性,也就是$P^2=P$,幂次相当于多次投影,但是在第一次投影之后,已经在某个空间了,后面的投影就不会对向量进行改变了。考虑这样一个矩阵:</p><p>$$
P=
\begin{pmatrix}
1&0\
0&0
\end{pmatrix}.
$$</p><p>对向量</p><p>$$
x=
\begin{pmatrix}
3\
2
\end{pmatrix},
$$</p><p>有</p><p>$$
Px=
\begin{pmatrix}
3\
0
\end{pmatrix}.
$$</p><p>这相当于把</p><p>$$
\begin{pmatrix}
3\
2
\end{pmatrix}
=
\begin{pmatrix}
3\
0
\end{pmatrix}
+
\begin{pmatrix}
0\
2
\end{pmatrix}
$$</p><p>分成水平部分和竖直部分。投影保留了水平部分,删除了竖直部分。</p><p>投影一定要求,输入输出在同一个空间内,只是删除了一些方向的信息,比如一个向量$x=u+v$,投影之后可能只保持了$u$方向的信息,如果$u$和$v$正交,那么投影矩阵就叫做正交投影矩阵。我们上面的例子就是一个正交投影矩阵,删除了$y$轴方向的信息。</p><p>那么正交投影矩阵有什么性质?它能找到与原向量,最近的向量。为什么?因为<strong>点到直线的最短距离,是垂线段。</strong></p><p>没听懂?设要把向量$b$投影到子空间$V$,投影结果记为</p><p>$$
p=Pb.
$$</p><p>正交投影的定义保证:</p><p>$$
p\in V
$$</p><p>并且误差</p><p>$$
r=b-p
$$</p><p>垂直于整个子空间$V$:</p><p>$$
r\perp V.
$$</p><p>现在从$V$中任意选择另一个向量$v$。比较谁离$b$更近。</p><p>我们有</p><p>$$
b-v=(b-p)+(p-v).
$$</p><p>其中:</p><ul><li>$b-p=r$垂直于$V$;</li><li>$p-v\in V$,因为$p,v\in V$。</li></ul><p>所以</p><p>$$
b-p\perp p-v.
$$</p><p>根据勾股定理:</p><p>$$
|b-v|^2
=
|b-p|^2+|p-v|^2.
$$</p><p>因为</p><p>$$
|p-v|^2\geq 0,
$$</p><p>所以</p><p>$$
\boxed{|b-v|^2\geq|b-p|^2}.
$$</p><p>也就是:</p><p>$$
\boxed{|b-v|\geq|b-p|}.
$$</p><p>因此,$p=Pb$是子空间$V$中离$b$最近的向量。只有当</p><p>$$
v=p
$$</p><p>时等号成立,所以最近点还是唯一的。</p><h2>后两个Penrose条件</h2><blockquote><p>Takeaway:</p><p>条件三解决了目标向量没有原向量与之对应的情况,找到了一个向量,使之变换后与目标向量足够接近。</p><p>条件四解决了目标向量没有原向量与之对应的情况,找到了一个向量,范数最小。</p></blockquote><p>通过前两个Penrose条件,我们已经能得到$AA^+$是一个投影矩阵,那么很明显,投影矩阵要求输入输出在同一个空间中,那么$AA^+$相当于把向量$b$投影到$A$能够产生的空间中,亦即投影到$\text{Col}(A)$空间中。因为对于一个向量$b$,它可能不在$\text{Col}(A)$中,但是$AA^+b$一定在$\text{Col}(A)$中。那么条件三要求投影矩阵是对称的——也就是说$AA^+$是一个正交投影矩阵。这解决了一个很大的问题——<strong>目标向量没有原向量与之对应的情况</strong>。</p><p>如果这样,我们就<strong>对于一个无法精确产生的向量,先把它沿垂直方向投影到能够产生的空间中。</strong></p><p>最后一个Penrose条件有点棘手,直观来看,我们只知道,$A^+A$是一个正交投影矩阵,但是这有什么用呢?那么这里我需要要求读者死记硬背下一个结论,那就是,这个矩阵将向量投影到:</p><p>$$
\operatorname{Col}(A^+)
=
\operatorname{Col}(A^T)
=
\operatorname{Row}(A)
=
\operatorname{ker}(A)^\perp
$$</p><p>这个空间,也就是$A$的零空间的正交补空间,这个空间和零空间的方向彼此垂直。举个例子,设</p><p>$$
A=\begin{pmatrix}1&1\end{pmatrix}.
$$</p><p>它把二维向量变成一个数:</p><p>$$
A\begin{pmatrix}x_1\x_2\end{pmatrix}=x_1+x_2.
$$</p><p>例如原向量是</p><p>$$
x=\begin{pmatrix}3\1\end{pmatrix},
$$</p><p>那么</p><p>$$
Ax=3+1=4.
$$</p><p>这里有个问题:看到4,能恢复出原来的$(3,1)$吗?不能,因为以下向量经过$A$都得到4:</p><p>$$
\begin{pmatrix}4\0\end{pmatrix},
\quad
\begin{pmatrix}3\1\end{pmatrix},
\quad
\begin{pmatrix}2\2\end{pmatrix},
\quad
\begin{pmatrix}1\3\end{pmatrix}.
$$</p><p>更一般地,所有解都是</p><p>$$
\begin{pmatrix}2+t\2-t\end{pmatrix}.
$$</p><p>把它拆开:</p><p>$$
\begin{pmatrix}2+t\2-t\end{pmatrix}
=
\begin{pmatrix}2\2\end{pmatrix}
+
t\begin{pmatrix}1\-1\end{pmatrix}.
$$</p><p>其中</p><p>$$
A\begin{pmatrix}1\-1\end{pmatrix}=1-1=0.
$$</p><p>所以$(1,-1)^T$是$A$的零空间方向。这意味着:无论在$(1,-1)$方向上增加多少,输出都不会改变。那么,第四条约束就表明,我要把这些零空间方向,全置0。</p><p>详细一点说,设任意输入向量 $x$ 都可以唯一分解为</p><p>$$
x=x_{\perp}+x_0,
$$</p><p>其中</p><p>$$
x_{\perp}\in \ker(A)^\perp,
\qquad
x_0\in \ker(A).
$$</p><p>因为$x_0$属于零空间,所以</p><p>$$
Ax_0=0.
$$</p><p>于是</p><p>$$
Ax=A(x_{\perp}+x_0)=Ax_{\perp}.
$$</p><p>也就是说,经过$A$后,$x_0$这部分的信息彻底消失了。只看到$Ax$,无法知道原来的$x_0$是多少,既然不知道,我就把它设成0,那么这就有一个好处——<strong>能够找到范数最小的解</strong>。为什么?令</p><p>$$
x_*=A^+b,
\qquad
\hat b=Ax_*=AA^+b.
$$</p><p>因为$AA^+$是到$\operatorname{Col}(A)$的正交投影,所以</p><p>$$
b-\hat b\perp\operatorname{Col}(A).
$$</p><p>对于任意$x$,都有$Ax\in\operatorname{Col}(A)$,因此</p><p>$$
b-Ax=(b-\hat b)+(\hat b-Ax),
$$</p><p>且等号右边的两个向量互相正交。根据勾股定理,</p><p>$$
|b-Ax|^2
=
|b-\hat b|^2+|\hat b-Ax|^2
\geq
|b-\hat b|^2.
$$</p><p>因此</p><p>$$
x_*=A^+b
$$</p><p>是一个最小二乘解。接下来,设$y$是任意另一个最小二乘解。由于列空间中的最近点是唯一的,所以</p><p>$$
Ay=\hat b=Ax_*.
$$</p><p>于是</p><p>$$
A(y-x_*)=0,
$$</p><p>即存在$z\in\ker(A)$,使得</p><p>$$
y=x_*+z.
$$</p><p>另一方面,</p><p>$$
x_*=A^+b\in\ker(A)^\perp.
$$</p><p>所以$x_*\perp z$,从而</p><p>$$
|y|^2
=
|x_*+z|^2
=
|x_*|^2+|z|^2
\geq
|x_*|^2.
$$</p><p>只有当$z=0$ 时取等号。因此</p><p>$$
\boxed{
A^+b
=
\arg\min
\left{
|x|:
x\in\arg\min_y|Ay-b|
\right}.
}
$$</p><p>即$A^+b$是所有最小二乘解中唯一的最小范数解。