7.4 SVD 的几何背景

一、SVD 的几何解释

SVD 将矩阵分解成三个矩阵的乘积:(正交矩阵)×(对角矩阵)×(正交矩阵)(\pmb{正交矩阵})\times(\pmb{对角矩阵})×(\pmb{正交矩阵})(正交矩阵)×(对角矩阵)×(正交矩阵),用几何语言表述其几何背景:(旋转)×(伸缩)×(旋转)(\pmb{旋转})\times(\pmb{伸缩})\times(\pmb{旋转})(旋转)×(伸缩)×(旋转). UΣVTxU\Sigma V^T\boldsymbol xUΣVTx 首先旋转得到 VTxV^T\boldsymbol xVTx,然后 Σ\SigmaΣ 伸缩该向量得到 ΣVTx\Sigma V^T\boldsymbol xΣVTx,最后矩阵 UUU 旋转得到 Ax=UΣVTxA\boldsymbol x=U\Sigma V^T\boldsymbol xAx=UΣVTx,下面是图片:

在这里插入图片描述
诚然,上图仅适用于某些 2×22\times22×2 的矩阵,并非所有 2×22\times22×2 的矩阵都适用,因为 UUUVVV 并不包含反射 —— 这三个矩阵的行列式都大于 000. 此处的矩阵 AAA 一定可逆,因为这三个矩阵均可逆:[abcd]=[cos⁡θ−sin⁡θsin⁡θcos⁡θ][σ1σ2][cos⁡ϕsin⁡ϕ−sin⁡ϕcos⁡ϕ]=UΣVT(7.4.1)\begin{bmatrix}a&b\\c&d\end{bmatrix}=\begin{bmatrix}\cos\theta&-\sin\theta\\\sin\theta&\kern 7pt\cos\theta\end{bmatrix}\begin{bmatrix}\sigma_1\\&\sigma_2\end{bmatrix}\begin{bmatrix}\kern 7pt\cos\phi&\sin\phi\\-\sin\phi&\cos\phi\end{bmatrix}=U\Sigma V^T\kern20pt(7.4.1)[acbd]=[cosθsinθsinθcosθ][σ1σ2][cosϕsinϕsinϕcosϕ]=UΣVT(7.4.1)由矩阵 AAA 中的四个元素 a,b,c,da,b,c,da,b,c,d 得到 SVD 中的四个数 θ,σ1,σ2,ϕ\theta,\sigma_1,\sigma_2,\phiθ,σ1,σ2,ϕ.
由这张图导出矩阵代数中的三个重要概念:

  1. 矩阵范数 ∣∣A∣∣||\pmb{A}||∣∣A∣∣ —— 矩阵最大的增长因子.
  2. 极分解 A=QS\pmb{A=QS}A=QS —— 正交矩阵 QQQ 乘正定矩阵 SSS.
  3. 伪逆 A+\pmb{A^+}A+ —— 当 AAA 不可逆时的最佳逆矩阵.

二、矩阵范数

如果要在 Figure 7.5 中选择一个关键的数字,那么就是 σ1\sigma_1σ1,这个数字是任意向量 x\boldsymbol xx 的最大增长因子。观察 Figure 7.5 中左边的向量 v1\boldsymbol v_1v1,可以看到它先旋转至 (1,0)(1,0)(1,0),然后伸缩成 (σ1,0)(\sigma_1,0)(σ1,0),最后再旋转至 σ1u1\sigma_1\boldsymbol u_1σ1u1,表达式 Av1=σ1u1A\boldsymbol v_1=\sigma_1\boldsymbol u_1Av1=σ1u1 就是奇异值分解,这个最大的奇异值 σ1\sigma_1σ1 是矩阵 AAA 的 “范数(norm)”.

范数 ∣∣A∣∣ 是 ∣∣Ax∣∣∣∣x∣∣ 的最大值,∣∣A∣∣=max⁡x≠0∣∣Ax∣∣∣∣x∣∣=σ1(7.4.2)范数\, ||A||\,是\,\frac{||A\boldsymbol x||}{||\boldsymbol x||}\,的最大值,{\color{blue}||A||=\underset{\boldsymbol x\neq\boldsymbol 0}{\max}\frac{||A\boldsymbol x||}{||\boldsymbol x||}=\sigma_1}\kern 20pt(7.4.2)范数∣∣A∣∣∣∣x∣∣∣∣Ax∣∣的最大值,∣∣A∣∣=x=0max∣∣x∣∣∣∣Ax∣∣=σ1(7.4.2)

MATLAB 中使用 norm(x)\textrm{norm}(\boldsymbol x)norm(x) 得到向量 x\boldsymbol xx 长度,使用 norm(x)\textrm{norm}(\boldsymbol x)norm(x) 得到矩阵 AAA 的范数。数学符号是双竖线:∣∣x∣∣||\boldsymbol x||∣∣x∣∣∣∣A∣∣||A||∣∣A∣∣,这里 ∣∣x∣∣||\boldsymbol x||∣∣x∣∣ 的意思是向量的长度:∣∣x∣∣2=∣x1∣2+∣x2∣2+⋯+∣xn∣2||\boldsymbol x||^2=|x_1|^2+|x_2|^2+\cdots+|x_n|^2∣∣x2=x12+x22++xn2,矩阵的范数也来源于向量范数,当 x=v1\boldsymbol x=\boldsymbol v_1x=v1Ax=σ1u1A\boldsymbol x=\sigma_1\boldsymbol u_1Ax=σ1u1,则 ∣∣Ax∣∣∣∣x∣∣=σ1\displaystyle\frac{||A\boldsymbol x||}{||\boldsymbol x||}=\sigma_1∣∣x∣∣∣∣Ax∣∣=σ1,即最大的比值是 ∣∣A∣∣||A||∣∣A∣∣.
由定义直接得到数值 norm(A)\textrm{norm}(A)norm(A) 的两条重要性质:

三角不等式∣∣A+B∣∣≤∣∣A∣∣+∣∣B∣∣乘积不等式∣∣AB∣∣≤∣∣A∣∣ ∣∣B∣∣(7.4.3)\pmb{三角不等式}\kern 5pt{\color{blue}||A+B||\leq||A||+||B||}\kern 20pt\pmb{乘积不等式}\kern 5pt{\color{blue}||AB||\leq||A||\,||B||}\kern 15pt(7.4.3)三角不等式∣∣A+B∣∣∣∣A∣∣+∣∣B∣∣乘积不等式∣∣AB∣∣∣∣A∣∣∣∣B∣∣(7.4.3)

由定义(7.4.2)可知,对于任意向量 x\boldsymbol xx 都有 ∣∣Ax∣∣≤∣∣A∣∣ ∣∣x∣∣||A\boldsymbol x||\leq||A||\,||\boldsymbol x||∣∣Ax∣∣∣∣A∣∣∣∣x∣∣,然后再由向量的三角不等式推出矩阵的三角不等式:对于向量∣∣(A+B)x∣∣≤∣∣Ax∣∣+∣∣Bx∣∣≤∣∣A∣∣ ∣∣x∣∣+∣∣B∣∣ ∣∣x∣∣\pmb{对于向量}\kern 20pt||(A+B)\boldsymbol x||\le||A\boldsymbol x||+||B\boldsymbol x||\le||A||\,||\boldsymbol x||+||B||\,||\boldsymbol x||对于向量∣∣(A+B)x∣∣∣∣Ax∣∣+∣∣Bx∣∣∣∣A∣∣∣∣x∣∣+∣∣B∣∣∣∣x∣∣然后同时除以 ∣∣x∣∣||\boldsymbol x||∣∣x∣∣,遍历所有的 x\boldsymbol xx 取最大值,即得:∣∣A+B∣∣≤∣∣A∣∣+∣∣B∣∣||A+B||\le||A||+||B||∣∣A+B∣∣∣∣A∣∣+∣∣B∣∣.
乘积不等式可以由 ∣∣ABx∣∣≤∣∣A∣∣ ∣∣Bx∣∣≤∣∣A∣∣ ∣∣B∣∣ ∣∣x∣∣||AB\boldsymbol x||\le||A||\,||B\boldsymbol x||\le||A||\,||B||\,||\boldsymbol x||∣∣ABx∣∣∣∣A∣∣∣∣Bx∣∣∣∣A∣∣∣∣B∣∣∣∣x∣∣ 快速得到,同样除以 ∣∣x∣∣||\boldsymbol x||∣∣x∣∣,再遍历所有的 x\boldsymbol xx 取最大值,结果就是 ∣∣AB∣∣≤∣∣A∣∣ ∣∣B∣∣||AB||\le||A||\,||B||∣∣AB∣∣∣∣A∣∣∣∣B∣∣.

例1】秩一矩阵 A=uvTA=\boldsymbol u\boldsymbol v^TA=uvT 是我们能得到的最基础的矩阵,它有一个非零的特征值 λ1\lambda_1λ1 和一个非零的奇异值 σ1\sigma_1σ1,此外,它的特征向量是 u\boldsymbol uu,左和右奇异向量是 u\boldsymbol uuv\boldsymbol vv.特征向量Au=(uvT)u=u(vTu)=λ1u所以 λ1=vTu奇异向量ATAv=(vuT)(uvT)v=v(uTu)(vTv)所以 σ1=∣∣u∣∣ ∣∣v∣∣\begin{array}{lll}\pmb{特征向量}&A\boldsymbol u=(\boldsymbol u\boldsymbol v^T)\boldsymbol u=\boldsymbol u(\boldsymbol v^T\boldsymbol u)=\lambda_1\boldsymbol u&所以\,\lambda_1=\boldsymbol v^T\boldsymbol u\\\\\pmb{奇异向量}&A^TA\boldsymbol v=(\boldsymbol v\boldsymbol u^T)(\boldsymbol u\boldsymbol v^T)\boldsymbol v=\boldsymbol v(\boldsymbol u^T\boldsymbol u)(\boldsymbol v^T\boldsymbol v)&所以\,\sigma_1=||\boldsymbol u||\,||\boldsymbol v||\end{array}特征向量奇异向量Au=(uvT)u=u(vTu)=λ1uATAv=(vuT)(uvT)v=v(uTu)(vTv)所以λ1=vTu所以σ1=∣∣u∣∣∣∣v∣∣∣λ1∣≤σ1|\lambda_1|\le\sigma_1λ1σ1 正好对应施瓦茨不等式 ∣vTu∣≤∣∣u∣∣ ∣∣v∣∣|\boldsymbol v^T\boldsymbol u|\le||\boldsymbol u||\,||\boldsymbol v||vTu∣∣u∣∣∣∣v∣∣.
换个角度解释 ∣λ1∣≤σ1|\lambda_1|\le\sigma_1λ1σ1Ax=λ1xA\boldsymbol x=\lambda_1\boldsymbol xAx=λ1x 中的特征向量得到比值 ∣∣Ax∣∣∣∣x∣∣=∣∣λ1x∣∣∣∣x∣∣\displaystyle\frac{||A\boldsymbol x||}{||\boldsymbol x||}=\frac{||\lambda_1\boldsymbol x||}{||\boldsymbol x||}∣∣x∣∣∣∣Ax∣∣=∣∣x∣∣∣∣λ1x∣∣,这个就是 ∣λ1∣|\lambda_1|λ1,最大的比值 σ1\sigma_1σ1 不可能小于 ∣λ1∣|\lambda_1|λ1.
那么 ∣λ2∣≤σ2|\lambda_2|\le\sigma_2λ2σ2 也是正确的吗?,这个完全是错误的,实际上 2×22\times22×2 的矩阵有 ∣det⁡A∣=∣λ1λ2∣=σ1σ2|\det A|=|\lambda_1\lambda_2|=\sigma_1\sigma_2detA=λ1λ2=σ1σ2,由于 ∣λ1∣≤σ1|\lambda_1|\le\sigma_1λ1σ1 将会得到 ∣λ2∣≥∣σ2∣|\lambda_2|\ge|\sigma_2|λ2σ2.
距离矩阵 A 最近的秩 k 矩阵是 Ak=σ1u1v1T+σ2u2v2T+⋯+σkukvkT\pmb{距离矩阵\,A\,最近的秩\,k\,矩阵是\,A_k=\sigma_1\boldsymbol u_1\boldsymbol v_1^T+\sigma_2\boldsymbol u_2\boldsymbol v_2^T+\cdots+\sigma_k\boldsymbol u_k\boldsymbol v_k^T}距离矩阵A最近的秩k矩阵是Ak=σ1u1v1T+σ2u2v2T++σkukvkT这是矩阵逼近理论中的关键结果:埃卡特-杨-米尔斯基(Eckart-Young-Mirsky)定理,其表述为对所有的秩 k 矩阵都有:∣∣A−B∣∣≥∣∣A−Ak∣∣=σk+1\pmb{对所有的秩\,k\,矩阵都有:||A-B||\ge||A-A_k||=\sigma_{k+1}}对所有的秩k矩阵都有:∣∣AB∣∣∣∣AAk∣∣=σk+1这一结论完善了线性代数基本定理,vi\boldsymbol v_iviui\boldsymbol u_iui 给出矩阵 AAA 四个基本子空间的标准正交基,前 kkkvi\boldsymbol v_iviui\boldsymbol u_iuiσi\sigma_iσi 给出了 AAA 的最佳近似。

三、极分解 A = QS

每个复数 x+iyx+iyx+iy 都有极形式 reiθre^{i\theta}reiθ,即是一个数字 r≥0r\ge0r0 乘上单位圆周上的数 eiθe^{i\theta}eiθ,我们有 x+iy=rcos⁡θ+irsin⁡θ=r(cos⁡θ+isin⁡θ)=reiθx+iy=r\cos\theta+ir\sin\theta=r(\cos\theta+i\sin\theta)=re^{i\theta}x+iy=rcosθ+irsinθ=r(cosθ+isinθ)=reiθ. 将这些数看成 1×11\times11×1 的矩阵,则 eiθe^{i\theta}eiθ 就是一个正交矩阵 QQQ,而 r≥0r\ge0r0 是一个半正定矩阵(positive semidefinite matrix,称为 SSS),将这个思想推广到 n×nn\times nn×n 的矩阵就是极分解(polar decomposition) 的概念:正交矩阵乘半正定矩阵,A=QS\pmb{A=QS}A=QS.

任意的实方阵都可以分解为 A=QS\pmb{A=QS}A=QS,这里 QQQ正交矩阵SSS对称半正定矩阵。如果 AAA 可逆,则 SSS 是正定矩阵。

只需要插入 VTV=IV^TV=IVTV=I 代入 SVD 的中间,即可得到证明:极分解A=UΣVT=(UVT)(VΣVT)=(Q)(S)(7.4.4){\color{blue}\pmb{极分解\kern 15ptA=U\Sigma V^T=(UV^T)(V\Sigma V^T)=(Q)(S)}}\kern 20pt(7.4.4)极分解A=UΣVT=(UVT)(VΣVT)=(Q)(S)(7.4.4)第一个因子 UVTUV^TUVTQQQ,因为正交矩阵的乘积仍是正交矩阵。第二个因子 VΣVTV\Sigma V^TVΣVTSSS,它是半正定矩阵,因为它的特征值在 Σ\SigmaΣ 中。
如果 AAA 可逆,则 Σ\SigmaΣSSS 都可逆。由于 S2=VΣ2VT=ATAS^2=V\Sigma^2V^T=A^TAS2=VΣ2VT=ATA,所以 S\pmb SSATA\pmb{A^TA}ATA 的对称正定平方根,所以 SSS 的特征值就是 AAA 的奇异值,SSS 的特征向量就是 AAA 的奇异向量 v\boldsymbol vv.
还有一种逆序的极分解 A=KQA=KQA=KQQQQ 是一样的,但是 K=UΣUTK=U\Sigma U^TK=UΣUT,此时 KKKAATAA^TAAT 的半正定平方根。

例2】有 A=[3045]=UΣVTA=\begin{bmatrix}3&0\\4&5\end{bmatrix}=U\Sigma V^TA=[3405]=UΣVT,求出极分解 A=QSA=QSA=QS 的因子 QQQ(旋转因子)和 SSS(伸缩矩阵)。
解: U=110[1−331]Σ=[455]V=12[1−111]Q=UVT=120[1−331][11−11]=120[4−224]=15[2−112]S=VΣVT=52[1−111][31][11−11]=5[2112]\begin{array}{l}U=\displaystyle\frac{1}{\sqrt{10}}\begin{bmatrix}1&-3\\3&\kern 7pt1\end{bmatrix}\kern 10pt\Sigma=\begin{bmatrix}\sqrt{45}\\&\sqrt5\end{bmatrix}\kern 10ptV=\frac{1}{\sqrt2}\begin{bmatrix}1&-1\\1&\kern 7pt1\end{bmatrix}\\\\Q=UV^T=\displaystyle\frac{1}{\sqrt{20}}\begin{bmatrix}1&-3\\3&\kern 7pt1\end{bmatrix}\begin{bmatrix}\kern 7pt1&1\\-1&1\end{bmatrix}=\frac{1}{\sqrt{20}}\begin{bmatrix}4&-2\\2&\kern 7pt4\end{bmatrix}=\frac{1}{\sqrt5}\begin{bmatrix}2&-1\\1&\kern 7pt2\end{bmatrix}\\\\S=V\Sigma V^T=\displaystyle\frac{\sqrt5}{2}\begin{bmatrix}1&-1\\1&\kern 7pt1\end{bmatrix}\begin{bmatrix}3\\&1\end{bmatrix}\begin{bmatrix}\kern 7pt1&1\\-1&1\end{bmatrix}=\sqrt5\begin{bmatrix}2&1\\1&2\end{bmatrix}\end{array}U=101[1331]Σ=[455]V=21[1111]Q=UVT=201[1331][1111]=201[4224]=51[2112]S=VΣVT=25[1111][31][1111]=5[2112]A=QS\pmb{A=QS}A=QS.
在力学中,极分解将旋转(在 QQQ 中)和伸缩(在 SSS 中)分开了。在 Figure 7.5 中,SSS 的特征值得到伸缩因子,特征向量给出了伸缩方向(椭圆的主轴);正交矩阵 QQQ 包含了旋转矩阵 UUUVTV^TVT
关于旋转的一个事实:Q=UVTQ=UV^TQ=UVT最接近 AAA 的正交矩阵,这个 QQQ 使得范数 ∣∣Q−A∣∣||Q-A||∣∣QA∣∣ 尽可能的小。与此相对应的是 eiθe^{i\theta}eiθ 是单位圆周上最接近 reiθre^{i\theta}reiθ 最近的点。
SVD 告诉我们关于最近的奇异矩阵更重要的事实:

最接近 AAA 的奇异矩阵 A0A_0A0 就是将它最小的奇异值 σmin⁡\sigma_{\min}σmin 置零

所以 σmin⁡\sigma_{\min}σmin 是度量 AAA 到奇异矩阵的距离,对于例 222 中的矩阵,这个距离是 σmin⁡=5\sigma_{\min}=\sqrt5σmin=5,如果将 σmin⁡\sigma_{\min}σmin 置零,就是踢除 A=σ1u1v1T+σ2u2v2TA=\sigma_1\boldsymbol u_1\boldsymbol v_1^T+\sigma_2\boldsymbol u_2\boldsymbol v_2^TA=σ1u1v1T+σ2u2v2T 中的最后(最小的)一项,那么就只有一个秩一(奇异)矩阵 σ1u1v1T\sigma_1\boldsymbol u_1\boldsymbol v_1^Tσ1u1v1T 会剩下来:最接近 AAA. 这个最小的变化范数是 σ2=5\sigma_2=\sqrt5σ2=5(比 333 小)。
在计算机实践中,经常会踢掉一些非常小的 σ\sigmaσ,处理奇异矩阵要比处理这些趋近于零矩阵的部分而且无法注意到的要更好。

四、伪逆 A+A^+A+

通过选择一组好基,AAA 乘行空间中的 vi\boldsymbol v_ivi 得到列空间中的 σiui\sigma_i\boldsymbol u_iσiuiA−1A^{-1}A1 对应的是相反的操作,如果 Av=σuA\boldsymbol v=\sigma\boldsymbol uAv=σu,则 A−1u=vσA^{-1}\boldsymbol u=\displaystyle\frac{\boldsymbol v}{\sigma}A1u=σvA−1A^{-1}A1 的奇异值是 1σ\displaystyle\frac{1}{\sigma}σ1,就像 A−1A^{-1}A1 的特征值是 1λ\displaystyle\frac{1}{\lambda}λ1. 基被反转后,u\boldsymbol uuA−1A^{-1}A1 的行空间,v\boldsymbol vvA−1A^{-1}A1 的列空间。
到这里我们一般都会加上如果 A−1A^{-1}A1 存在这样的条件,但是这里不用,一个乘 ui\boldsymbol u_iui 得到 viσi\displaystyle\frac{\boldsymbol v_i}{\sigma_i}σivi 的矩阵一定存在,它就是伪逆 A+A^{+}A+A 的伪逆A+=VΣ+UT=[v1⋯vr⋯vn ][σ1−1⋱σr−1][u1⋯ur⋯un ]Tn×nn×mm×m\begin{array}{l}\pmb{A\,的伪逆}\\{\color{blue}A^+=V\Sigma^+U^T}&=\begin{bmatrix}\\\boldsymbol v_1&\cdots&\boldsymbol v_r&\cdots&\boldsymbol v_n\\\,\end{bmatrix}\begin{bmatrix}\sigma_1^{-1}\\&\ddots\\&&\sigma_r^{-1}\end{bmatrix}\begin{bmatrix}\\\boldsymbol u_1&\cdots&\boldsymbol u_r&\cdots&\boldsymbol u_n\\\,\end{bmatrix}^T\\&n\times n\kern 80ptn\times m\kern 80ptm\times m\end{array}A的伪逆A+=VΣ+UT=v1vrvnσ11σr1u1urunTn×nn×mm×m伪逆(pseudoinverse) A+A^{+}A+ 是一个 n×mn\times mn×m 的矩阵,如果 A−1A^{-1}A1 存在,则 A+A^+A+A−1A^{-1}A1 一样,在 m=n=rm=n=rm=n=r 这种情况下,UΣVTU\Sigma V^TUΣVT 的逆就是 VΣ−1UTV\Sigma^{-1}U^TVΣ1UT. 如果 r<mr<mr<mr<nr<nr<n,我们就需要新的符号 A+A^+A+,此时虽然 AAA 没有双边逆矩阵(左逆和右逆),但是它有一个有相同秩的伪逆 A+A^+A+对于 i≤r:A+ui=1σivi对于 i>r:A+ui=0\color{blue}对于\,i\le r:A^+\boldsymbol u_i=\frac{1}{\sigma_i}\boldsymbol v_i\kern 15pt对于\,i>r:A^+\boldsymbol u_i=\boldsymbol 0对于irA+ui=σi1vi对于i>rA+ui=0AAA 列空间中的向量 u1,u2,⋯ ur\boldsymbol u_1,\boldsymbol u_2,\cdots\,\boldsymbol u_ru1,u2,ur 可以回到行空间中的向量 v1,v2,⋯ ,vr\boldsymbol v_1,\boldsymbol v_2,\cdots,\boldsymbol v_rv1,v2,,vr,其余的向量 ur+1,ur+2,⋯ ,um\boldsymbol u_{r+1},\boldsymbol u_{r+2},\cdots,\boldsymbol u_mur+1,ur+2,,um 在左零空间,A+A^+A+ 将它们映射为零向量。当我们知道了这些全部基向量如何变化,也就知道了 A+A^+A+.
注意对角矩阵 Σ\SigmaΣ 的伪逆,Σ\SigmaΣ 中的每个 σ\sigmaσ 对应 Σ+\Sigma^+Σ+ 中的 σ−1\sigma^{-1}σ1,乘积 Σ+Σ\Sigma^+\SigmaΣ+Σ 是一个很接近单位矩阵的矩阵,它是一个投影矩阵,它包含子矩阵 III,其余的都是零。我们可以对每个 σ\sigmaσ 求逆,但是对零行和零列什么也做不了。下例中 σ1=2,σ2=3\sigma_1=2,\sigma_2=3σ1=2,σ2=3Σ+Σ=[1/20001/30000][200030000]=[100010000]=[I000]\Sigma^+\Sigma=\begin{bmatrix}\pmb{1/2}&0&0\\0&\pmb{1/3}&0\\0&0&\pmb0\end{bmatrix}\begin{bmatrix}\pmb2&0&0\\0&\pmb3&0\\0&0&\pmb0\end{bmatrix}=\begin{bmatrix}\pmb1&0&0\\0&\pmb1&0\\0&0&\pmb0\end{bmatrix}=\begin{bmatrix}\pmb I&0\\0&\pmb0\end{bmatrix}Σ+Σ=1/20001/30000200030000=100010000=[I000]伪逆 A+A^+A+ 是一个 n×mn\times mn×m 的矩阵,它使得 AA+AA^+AA+A+AA^+AA+A 成为投影矩阵。

在这里插入图片描述

对比AA−1=A−1A=IAA+=到 A 列空间上的投影矩阵A+A=到 A 行空间上的投影矩阵\begin{array}{l}\pmb{对比}\\AA^{-1}=A^{-1}A=I\end{array}\kern 16pt\color{blue}\begin{array}{l}AA^+=到\,A\,列空间上的投影矩阵\\A^+A=到\,A\,行空间上的投影矩阵\end{array}对比AA1=A1A=IAA+=A列空间上的投影矩阵A+A=A行空间上的投影矩阵

注:Figure 7.6 中 A+A=[I000]A^+A=\begin{bmatrix}I&0\\0&0\end{bmatrix}A+A=[I000] 是在 SVD 正交基(右奇异向量)的表示,其几何意义是保留行空间的分量,将零空间分量归零

例3】每个秩一矩阵都是一个行向量乘一个列向量。取单位向量 u\boldsymbol uuv\boldsymbol vv,则 A=σuvTA=\sigma\boldsymbol u\boldsymbol v^TA=σuvT,它的伪逆是 A+=vuTσA^+=\displaystyle\frac{\boldsymbol v\boldsymbol u^T}{\sigma}A+=σvuT,乘积 AA+AA^+AA+uuT\boldsymbol u\boldsymbol u^TuuT,就是到过向量 u\boldsymbol uu 的直线上的投影。乘积 A+AA^+AA+AvvT\boldsymbol v\boldsymbol v^TvvT.

例4】求 A=[1111]A=\begin{bmatrix}1&1\\1&1\end{bmatrix}A=[1111] 的伪逆。这个矩阵不可逆,它的秩为 111,唯一的奇异值是 σ1=2\sigma_1=2σ1=2,伪逆的奇异值就是 σ1\sigma_1σ1 的倒数,它在秩一的 Σ+\Sigma^+Σ+ 中:A+=VΣ+UT=12[111−1][1/2000]12[111−1]=14[1111]A^+=V\Sigma^+U^T=\frac{1}{\sqrt2}\begin{bmatrix}1&\kern 7pt1\\1&-1\end{bmatrix}\begin{bmatrix}1/2&0\\0&0\end{bmatrix}\frac{1}{\sqrt2}\begin{bmatrix}1&\kern 7pt1\\1&-1\end{bmatrix}=\pmb{\frac{1}{4}\begin{bmatrix}1&1\\1&1\end{bmatrix}}A+=VΣ+UT=21[1111][1/2000]21[1111]=41[1111]A+A^+A+ 的秩也为 111,它的列空间是 AAA 的行空间。

五、列线性相关矩阵的最小二乘解

如果矩阵 A=[1111]A=\begin{bmatrix}1&1\\1&1\end{bmatrix}A=[1111],它的四个元素全为 111,不满足列线性无关的要求。这个矩阵可能由我们在时刻 t=1t=1t=1 的两次测量结果得到,最优直线过测量值 111333 的中点,但是无法确定最优直线的斜率。
用矩阵语言表达,ATAA^TAATA 是奇异的,方程 ATAx=ATbA^TA\boldsymbol x=A^T\boldsymbol bATAx=ATb 有无穷多个解。伪逆给出了一种选择 “最优解” 的一种方法 x+=A+b\boldsymbol x^+=A^+\boldsymbol bx+=A+b.
先写出无解的方程 Ax=bA\boldsymbol x=\boldsymbol bAx=b 和无穷多个解的方程 ATAx^=ATbA^TA\hat{\boldsymbol x}=A^T\boldsymbol bATAx^=ATbAx=[1111][x1x2]=[31]=bATAx^=[2222][x^1x^2]=[44]=ATbA\boldsymbol x=\begin{bmatrix}1&1\\1&1\end{bmatrix}\begin{bmatrix}x_1\\x_2\end{bmatrix}=\begin{bmatrix}3\\1\end{bmatrix}=\boldsymbol b\kern 17ptA^TA\hat{\boldsymbol x}=\begin{bmatrix}2&2\\2&2\end{bmatrix}\begin{bmatrix}\hat x_1\\\hat x_2\end{bmatrix}=\begin{bmatrix}4\\4\end{bmatrix}=A^T\boldsymbol bAx=[1111][x1x2]=[31]=bATAx^=[2222][x^1x^2]=[44]=ATb任意向量 x^=(1+c,1−c)\hat x=(1+c,1-c)x^=(1+c,1c) 都是正规方程组(normal equations)ATAx^=bA^TA\hat{\boldsymbol x}=\boldsymbol bATAx^=b 的解,伪逆的目的就是选择一个解 x^=x+\hat{\boldsymbol x}=\boldsymbol x^+x^=x+.

x+=A+b=(1,1) 是 ATAx^=ATb 和 Ax^=p 的最短解\color{blue}\boldsymbol x^+=A^+\boldsymbol b=(1,1)\,是\,A^TA\hat{\boldsymbol x}=A^T\boldsymbol b\,和\,A\hat{\boldsymbol x}=\boldsymbol p\, 的最短解x+=A+b=(1,1)ATAx^=ATbAx^=p的最短解

可以看出 x+=(1,1)\boldsymbol x^+=(1,1)x+=(1,1)(这里是斜率和截距)比其它的任何解 x^=(1+c,1−c)\hat{\boldsymbol x}=(1+c,1-c)x^=(1+c,1c) 都短,x^\hat{\boldsymbol x}x^ 长度的平方是 (1+c)2+(1−c)2=2+2c2(1+c)^2+(1-c)^2=2+2c^2(1+c)2+(1c)2=2+2c2,最短的选择就是 c=0c=0c=0,此时给出了 AAA 行空间的解 x+=(1,1)\boldsymbol x^+=(1,1)x+=(1,1).
A+A^+A+ 的几何意义:由 AAA 的列空间得到行空间,这两个空间都是 rrr 维的,左零空间中的误差向量 e\boldsymbol ee 映射为零向量。
伪逆 A+A^+A+ 和最优解 x+\boldsymbol x^+x+ 在统计学中非常关键,因为实验得到的矩阵通常列向量和行向量都是线性相关的。

六、主要内容总结

  1. 向量 AxA\boldsymbol xAx 所形成椭圆的对称轴沿奇异向量 ui\boldsymbol u_iui 的方向。
  2. 矩阵范数 ∣∣A∣∣=σ1||A||=\sigma_1∣∣A∣∣=σ1 源自向量的长度:∣∣Ax∣∣∣∣x∣∣\displaystyle\frac{||A\boldsymbol x||}{||\boldsymbol x||}∣∣x∣∣∣∣Ax∣∣ 的最大值。
  3. 可逆矩阵 = (正交矩阵)(正定矩阵):A=QSA=QSA=QS.
  4. 任意矩阵 A=UΣVTA=U\Sigma V^TA=UΣVT 都有伪逆 A+=VΣ+UTA^+=V\Sigma^+U^TA+=VΣ+UT,它将左零空间 N(AT)\pmb N(A^T)N(AT) 映射为零空间 Z\pmb ZZ.

七、例题

例5】如果 m×nm\times nm×n 的矩阵 AAA 的秩为 nnn,即列满秩,则它有左逆(left inverse) L=(ATA)−1ATL=(A^TA)^{-1}A^TL=(ATA)1AT,由这个矩阵 LLL 可得 LA=I\pmb{LA=I}LA=I,解释为什么这种情况下伪逆 A+=L\pmb{A^+=L}A+=L.
如果 AAA 的秩为 mmm,即行满秩,则它有右逆(right inverse) R=AT(AAT)−1R=A^T(AA^T)^{-1}R=AT(AAT)1,由这个矩阵 RRR 可得 AR=I\pmb{AR=I}AR=I,解释为什么这种情况想伪逆 A+=R\pmb{A^+=R}A+=R.
A1A_1A1LLLA2A_2A2RRR,并分别求出矩阵 A1,A2,A3A_1,A_2,A_3A1,A2,A3 的伪逆:A1=[22]A2=[22]A3=[2211]A_1=\begin{bmatrix}\pmb2\\\pmb2\end{bmatrix}\kern 10ptA_2=\begin{bmatrix}\pmb2&\pmb2\end{bmatrix}\kern 10ptA_3=\begin{bmatrix}\pmb2&\pmb2\\\pmb1&\pmb1\end{bmatrix}A1=[22]A2=[22]A3=[2121]解: 如果 AAA 的各列线性无关则 ATAA^TAATA 可逆,从而 L=(ATA)−1ATL=(A^TA)^{-1}A^TL=(ATA)1ATAAALA=ILA=ILA=I:有左逆。
AL=A(ATA)−1ATAL=A(A^TA)^{-1}A^TAL=A(ATA)1AT 是到列空间的投影矩阵,所以 LLL 符合 A+A^+A+ 的要求:LALALAALALAL 分别是到 C(A)\pmb C(A)C(A)C(AT)\pmb C(A^T)C(AT) 的投影。
如果 AAA 的秩为 mmm,即行满秩,则 AATAA^TAAT 可逆,从而 AAAR=AT(AAT)−1R=A^T(AA^T)^{-1}R=AT(AAT)1AR=IAR=IAR=I. 反向相乘时,RA=AT(AAT)−1ARA=A^T(AA^T)^{-1}ARA=AT(AAT)1A 是到行空间的投影矩阵(ATA^TAT 的列向量),所以 RRR 等于伪逆 A+A^+A+.
矩阵 A1A_1A1 列满秩,有左逆 L=A1+L=A_1^+L=A1+,矩阵 A2A_2A2 行满秩,有右逆 R=A2+R=A_2^+R=A2+A1+=(A1TA1)−1A1T=18[22]A2+=A2T(A2A2T)−1=18[22]A_1^+=(A_1^TA_1)^{-1}A_1^T=\frac{1}{8}\begin{bmatrix}2&2\end{bmatrix}\kern 15ptA_2^+=A_2^T(A_2A_2^T)^{-1}=\frac{1}{8}\begin{bmatrix}2\\2\end{bmatrix}A1+=(A1TA1)1A1T=81[22]A2+=A2T(A2A2T)1=81[22]注意:A1+A1=[1],A2A2+=[1]A_1^+A_1=[1],\kern 3ptA_2A_2^+=[1]A1+A1=[1],A2A2+=[1]. 但是 A3A_3A3 没有左逆和右逆,它不是满秩矩阵,A3A_3A3 的伪逆将它的列空间作用到行空间。A3+=[2211]+=v1u1Tσ1=110[2121]A_3^+=\begin{bmatrix}2&2\\1&1\end{bmatrix}^+=\frac{\boldsymbol v_1\boldsymbol u_1^T}{\sigma_1}=\frac{1}{10}\begin{bmatrix}\pmb2&\pmb1\\\pmb2&\pmb1\end{bmatrix}A3+=[2121]+=σ1v1u1T=101[2211]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值