当前位置: 首页 > news >正文

7.4 SVD 的几何背景

一、SVD 的几何解释

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

在这里插入图片描述
诚然,上图仅适用于某些 2 × 2 2\times2 2×2 的矩阵,并非所有 2 × 2 2\times2 2×2 的矩阵都适用,因为 U U U V V V 并不包含反射 —— 这三个矩阵的行列式都大于 0 0 0. 此处的矩阵 A A A 一定可逆,因为这三个矩阵均可逆: [ a b c d ] = [ cos ⁡ θ − sin ⁡ θ sin ⁡ θ cos ⁡ θ ] [ σ 1 σ 2 ] [ cos ⁡ ϕ sin ⁡ ϕ − sin ⁡ ϕ cos ⁡ ϕ ] = U Σ V T ( 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)由矩阵 A A A 中的四个元素 a , b , c , d a,b,c,d a,b,c,d 得到 SVD 中的四个数 θ , σ 1 , σ 2 , ϕ \theta,\sigma_1,\sigma_2,\phi θ,σ1,σ2,ϕ.
由这张图导出矩阵代数中的三个重要概念:

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

二、矩阵范数

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

范数   ∣ ∣ A ∣ ∣   是   ∣ ∣ A x ∣ ∣ ∣ ∣ x ∣ ∣   的最大值, ∣ ∣ A ∣ ∣ = max ⁡ x ≠ 0 ∣ ∣ A x ∣ ∣ ∣ ∣ 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 x x 长度,使用 norm ( x ) \textrm{norm}(\boldsymbol x) norm(x) 得到矩阵 A A A 的范数。数学符号是双竖线: ∣ ∣ x ∣ ∣ ||\boldsymbol x|| ∣∣x∣∣ ∣ ∣ A ∣ ∣ ||A|| ∣∣A∣∣,这里 ∣ ∣ x ∣ ∣ ||\boldsymbol x|| ∣∣x∣∣ 的意思是向量的长度: ∣ ∣ x ∣ ∣ 2 = ∣ x 1 ∣ 2 + ∣ x 2 ∣ 2 + ⋯ + ∣ x n ∣ 2 ||\boldsymbol x||^2=|x_1|^2+|x_2|^2+\cdots+|x_n|^2 ∣∣x2=x12+x22++xn2,矩阵的范数也来源于向量范数,当 x = v 1 \boldsymbol x=\boldsymbol v_1 x=v1 A x = σ 1 u 1 A\boldsymbol x=\sigma_1\boldsymbol u_1 Ax=σ1u1,则 ∣ ∣ A x ∣ ∣ ∣ ∣ 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 ∣ ∣ 乘积不等式 ∣ ∣ A B ∣ ∣ ≤ ∣ ∣ 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 x x 都有 ∣ ∣ A x ∣ ∣ ≤ ∣ ∣ A ∣ ∣   ∣ ∣ x ∣ ∣ ||A\boldsymbol x||\leq||A||\,||\boldsymbol x|| ∣∣Ax∣∣∣∣A∣∣∣∣x∣∣,然后再由向量的三角不等式推出矩阵的三角不等式: 对于向量 ∣ ∣ ( A + B ) x ∣ ∣ ≤ ∣ ∣ A x ∣ ∣ + ∣ ∣ B x ∣ ∣ ≤ ∣ ∣ 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 x x 取最大值,即得: ∣ ∣ A + B ∣ ∣ ≤ ∣ ∣ A ∣ ∣ + ∣ ∣ B ∣ ∣ ||A+B||\le||A||+||B|| ∣∣A+B∣∣∣∣A∣∣+∣∣B∣∣.
乘积不等式可以由 ∣ ∣ A B x ∣ ∣ ≤ ∣ ∣ A ∣ ∣   ∣ ∣ B x ∣ ∣ ≤ ∣ ∣ 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 x x 取最大值,结果就是 ∣ ∣ A B ∣ ∣ ≤ ∣ ∣ A ∣ ∣   ∣ ∣ B ∣ ∣ ||AB||\le||A||\,||B|| ∣∣AB∣∣∣∣A∣∣∣∣B∣∣.

例1】秩一矩阵 A = u v T A=\boldsymbol u\boldsymbol v^T A=uvT 是我们能得到的最基础的矩阵,它有一个非零的特征值 λ 1 \lambda_1 λ1 和一个非零的奇异值 σ 1 \sigma_1 σ1,此外,它的特征向量是 u \boldsymbol u u,左和右奇异向量是 u \boldsymbol u u v \boldsymbol v v. 特征向量 A u = ( u v T ) u = u ( v T u ) = λ 1 u 所以   λ 1 = v T u 奇异向量 A T A v = ( v u T ) ( u v T ) v = v ( u T u ) ( v T v ) 所以   σ 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 正好对应施瓦茨不等式 ∣ v T u ∣ ≤ ∣ ∣ u ∣ ∣   ∣ ∣ v ∣ ∣ |\boldsymbol v^T\boldsymbol u|\le||\boldsymbol u||\,||\boldsymbol v|| vTu∣∣u∣∣∣∣v∣∣.
换个角度解释 ∣ λ 1 ∣ ≤ σ 1 |\lambda_1|\le\sigma_1 λ1σ1 A x = λ 1 x A\boldsymbol x=\lambda_1\boldsymbol x Ax=λ1x 中的特征向量得到比值 ∣ ∣ A x ∣ ∣ ∣ ∣ x ∣ ∣ = ∣ ∣ λ 1 x ∣ ∣ ∣ ∣ 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 × 2 2\times2 2×2 的矩阵有 ∣ det ⁡ A ∣ = ∣ λ 1 λ 2 ∣ = σ 1 σ 2 |\det A|=|\lambda_1\lambda_2|=\sigma_1\sigma_2 detA=λ1λ2=σ1σ2,由于 ∣ λ 1 ∣ ≤ σ 1 |\lambda_1|\le\sigma_1 λ1σ1 将会得到 ∣ λ 2 ∣ ≥ ∣ σ 2 ∣ |\lambda_2|\ge|\sigma_2| λ2σ2.
距离矩阵   A   最近的秩   k   矩阵是   A k = σ 1 u 1 v 1 T + σ 2 u 2 v 2 T + ⋯ + σ k u k v k T \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 − A k ∣ ∣ = σ k + 1 \pmb{对所有的秩\,k\,矩阵都有:||A-B||\ge||A-A_k||=\sigma_{k+1}} 对所有的秩k矩阵都有:∣∣AB∣∣∣∣AAk∣∣=σk+1这一结论完善了线性代数基本定理, v i \boldsymbol v_i vi u i \boldsymbol u_i ui 给出矩阵 A A A 四个基本子空间的标准正交基,前 k k k v i \boldsymbol v_i vi u i \boldsymbol u_i ui σ i \sigma_i σi 给出了 A A A 的最佳近似。

三、极分解 A = QS

每个复数 x + i y x+iy x+iy 都有极形式 r e i θ re^{i\theta} reiθ,即是一个数字 r ≥ 0 r\ge0 r0 乘上单位圆周上的数 e i θ e^{i\theta} eiθ,我们有 x + i y = r cos ⁡ θ + i r sin ⁡ θ = r ( cos ⁡ θ + i sin ⁡ θ ) = r e i θ 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 × 1 1\times1 1×1 的矩阵,则 e i θ e^{i\theta} eiθ 就是一个正交矩阵 Q Q Q,而 r ≥ 0 r\ge0 r0 是一个半正定矩阵(positive semidefinite matrix,称为 S S S),将这个思想推广到 n × n n\times n n×n 的矩阵就是极分解(polar decomposition) 的概念:正交矩阵乘半正定矩阵, A = Q S \pmb{A=QS} A=QS.

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

只需要插入 V T V = I V^TV=I VTV=I 代入 SVD 的中间,即可得到证明: 极分解 A = U Σ V T = ( U V T ) ( V Σ V T ) = ( 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)第一个因子 U V T UV^T UVT Q Q Q,因为正交矩阵的乘积仍是正交矩阵。第二个因子 V Σ V T V\Sigma V^T VΣVT S S S,它是半正定矩阵,因为它的特征值在 Σ \Sigma Σ 中。
如果 A A A 可逆,则 Σ \Sigma Σ S S S 都可逆。由于 S 2 = V Σ 2 V T = A T A S^2=V\Sigma^2V^T=A^TA S2=VΣ2VT=ATA,所以 S \pmb S S A T A \pmb{A^TA} ATA 的对称正定平方根,所以 S S S 的特征值就是 A A A 的奇异值, S S S 的特征向量就是 A A A 的奇异向量 v \boldsymbol v v.
还有一种逆序的极分解 A = K Q A=KQ A=KQ Q Q Q 是一样的,但是 K = U Σ U T K=U\Sigma U^T K=UΣUT,此时 K K K A A T AA^T AAT 的半正定平方根。

例2】有 A = [ 3 0 4 5 ] = U Σ V T A=\begin{bmatrix}3&0\\4&5\end{bmatrix}=U\Sigma V^T A=[3405]=UΣVT,求出极分解 A = Q S A=QS A=QS 的因子 Q Q Q(旋转因子)和 S S S(伸缩矩阵)。
解: U = 1 10 [ 1 − 3 3 1 ] Σ = [ 45 5 ] V = 1 2 [ 1 − 1 1 1 ] Q = U V T = 1 20 [ 1 − 3 3 1 ] [ 1 1 − 1 1 ] = 1 20 [ 4 − 2 2 4 ] = 1 5 [ 2 − 1 1 2 ] S = V Σ V T = 5 2 [ 1 − 1 1 1 ] [ 3 1 ] [ 1 1 − 1 1 ] = 5 [ 2 1 1 2 ] \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=10 1[1331]Σ=[45 5 ]V=2 1[1111]Q=UVT=20 1[1331][1111]=20 1[4224]=5 1[2112]S=VΣVT=25 [1111][31][1111]=5 [2112] A = Q S \pmb{A=QS} A=QS.
在力学中,极分解将旋转(在 Q Q Q 中)和伸缩(在 S S S 中)分开了。在 Figure 7.5 中, S S S 的特征值得到伸缩因子,特征向量给出了伸缩方向(椭圆的主轴);正交矩阵 Q Q Q 包含了旋转矩阵 U U U V T V^T VT
关于旋转的一个事实: Q = U V T Q=UV^T Q=UVT最接近 A A A 的正交矩阵,这个 Q Q Q 使得范数 ∣ ∣ Q − A ∣ ∣ ||Q-A|| ∣∣QA∣∣ 尽可能的小。与此相对应的是 e i θ e^{i\theta} eiθ 是单位圆周上最接近 r e i θ re^{i\theta} reiθ 最近的点。
SVD 告诉我们关于最近的奇异矩阵更重要的事实:

最接近 A A A 的奇异矩阵 A 0 A_0 A0 就是将它最小的奇异值 σ min ⁡ \sigma_{\min} σmin 置零

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

四、伪逆 A + A^+ A+

通过选择一组好基, A A A 乘行空间中的 v i \boldsymbol v_i vi 得到列空间中的 σ i u i \sigma_i\boldsymbol u_i σiui A − 1 A^{-1} A1 对应的是相反的操作,如果 A v = σ u A\boldsymbol v=\sigma\boldsymbol u Av=σu,则 A − 1 u = v σ A^{-1}\boldsymbol u=\displaystyle\frac{\boldsymbol v}{\sigma} A1u=σv A − 1 A^{-1} A1 的奇异值是 1 σ \displaystyle\frac{1}{\sigma} σ1,就像 A − 1 A^{-1} A1 的特征值是 1 λ \displaystyle\frac{1}{\lambda} λ1. 基被反转后, u \boldsymbol u u A − 1 A^{-1} A1 的行空间, v \boldsymbol v v A − 1 A^{-1} A1 的列空间。
到这里我们一般都会加上如果 A − 1 A^{-1} A1 存在这样的条件,但是这里不用,一个乘 u i \boldsymbol u_i ui 得到 v i σ i \displaystyle\frac{\boldsymbol v_i}{\sigma_i} σivi 的矩阵一定存在,它就是伪逆 A + A^{+} A+ A   的伪逆 A + = V Σ + U T = [ v 1 ⋯ v r ⋯ v n   ] [ σ 1 − 1 ⋱ σ r − 1 ] [ u 1 ⋯ u r ⋯ u n   ] T n × n n × m m × 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σr1 u1urun Tn×nn×mm×m伪逆(pseudoinverse) A + A^{+} A+ 是一个 n × m n\times m n×m 的矩阵,如果 A − 1 A^{-1} A1 存在,则 A + A^+ A+ A − 1 A^{-1} A1 一样,在 m = n = r m=n=r m=n=r 这种情况下, U Σ V T U\Sigma V^T UΣVT 的逆就是 V Σ − 1 U T V\Sigma^{-1}U^T VΣ1UT. 如果 r < m r<m r<m r < n r<n r<n,我们就需要新的符号 A + A^+ A+,此时虽然 A A A 没有双边逆矩阵(左逆和右逆),但是它有一个有相同秩的伪逆 A + A^+ A+ 对于   i ≤ r : A + u i = 1 σ i v i 对于   i > r : A + u i = 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=0 A A A 列空间中的向量 u 1 , u 2 , ⋯   u r \boldsymbol u_1,\boldsymbol u_2,\cdots\,\boldsymbol u_r u1,u2,ur 可以回到行空间中的向量 v 1 , v 2 , ⋯   , v r \boldsymbol v_1,\boldsymbol v_2,\cdots,\boldsymbol v_r v1,v2,,vr,其余的向量 u r + 1 , u r + 2 , ⋯   , u m \boldsymbol u_{r+1},\boldsymbol u_{r+2},\cdots,\boldsymbol u_m ur+1,ur+2,,um 在左零空间, A + A^+ A+ 将它们映射为零向量。当我们知道了这些全部基向量如何变化,也就知道了 A + A^+ A+.
注意对角矩阵 Σ \Sigma Σ 的伪逆, Σ \Sigma Σ 中的每个 σ \sigma σ 对应 Σ + \Sigma^+ Σ+ 中的 σ − 1 \sigma^{-1} σ1,乘积 Σ + Σ \Sigma^+\Sigma Σ+Σ 是一个很接近单位矩阵的矩阵,它是一个投影矩阵,它包含子矩阵 I I I,其余的都是零。我们可以对每个 σ \sigma σ 求逆,但是对零行和零列什么也做不了。下例中 σ 1 = 2 , σ 2 = 3 \sigma_1=2,\sigma_2=3 σ1=2,σ2=3 Σ + Σ = [ 1 / 2 0 0 0 1 / 3 0 0 0 0 ] [ 2 0 0 0 3 0 0 0 0 ] = [ 1 0 0 0 1 0 0 0 0 ] = [ I 0 0 0 ] \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/30000 200030000 = 100010000 =[I000]伪逆 A + A^+ A+ 是一个 n × m n\times m n×m 的矩阵,它使得 A A + AA^+ AA+ A + A A^+A A+A 成为投影矩阵。

在这里插入图片描述

对比 A A − 1 = A − 1 A = I A A + = 到   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 = [ I 0 0 0 ] A^+A=\begin{bmatrix}I&0\\0&0\end{bmatrix} A+A=[I000] 是在 SVD 正交基(右奇异向量)的表示,其几何意义是保留行空间的分量,将零空间分量归零

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

例4】求 A = [ 1 1 1 1 ] A=\begin{bmatrix}1&1\\1&1\end{bmatrix} A=[1111] 的伪逆。这个矩阵不可逆,它的秩为 1 1 1,唯一的奇异值是 σ 1 = 2 \sigma_1=2 σ1=2,伪逆的奇异值就是 σ 1 \sigma_1 σ1 的倒数,它在秩一的 Σ + \Sigma^+ Σ+ 中: A + = V Σ + U T = 1 2 [ 1 1 1 − 1 ] [ 1 / 2 0 0 0 ] 1 2 [ 1 1 1 − 1 ] = 1 4 [ 1 1 1 1 ] 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=2 1[1111][1/2000]2 1[1111]=41[1111] A + A^+ A+ 的秩也为 1 1 1,它的列空间是 A A A 的行空间。

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

如果矩阵 A = [ 1 1 1 1 ] A=\begin{bmatrix}1&1\\1&1\end{bmatrix} A=[1111],它的四个元素全为 1 1 1,不满足列线性无关的要求。这个矩阵可能由我们在时刻 t = 1 t=1 t=1 的两次测量结果得到,最优直线过测量值 1 1 1 3 3 3 的中点,但是无法确定最优直线的斜率。
用矩阵语言表达, A T A A^TA ATA 是奇异的,方程 A T A x = A T b A^TA\boldsymbol x=A^T\boldsymbol b ATAx=ATb 有无穷多个解。伪逆给出了一种选择 “最优解” 的一种方法 x + = A + b \boldsymbol x^+=A^+\boldsymbol b x+=A+b.
先写出无解的方程 A x = b A\boldsymbol x=\boldsymbol b Ax=b 和无穷多个解的方程 A T A x ^ = A T b A^TA\hat{\boldsymbol x}=A^T\boldsymbol b ATAx^=ATb A x = [ 1 1 1 1 ] [ x 1 x 2 ] = [ 3 1 ] = b A T A x ^ = [ 2 2 2 2 ] [ x ^ 1 x ^ 2 ] = [ 4 4 ] = A T b A\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 b Ax=[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) A T A x ^ = b A^TA\hat{\boldsymbol x}=\boldsymbol b ATAx^=b 的解,伪逆的目的就是选择一个解 x ^ = x + \hat{\boldsymbol x}=\boldsymbol x^+ x^=x+.

x + = A + b = ( 1 , 1 )   是   A T A x ^ = A T b   和   A x ^ = 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 + 2 c 2 (1+c)^2+(1-c)^2=2+2c^2 (1+c)2+(1c)2=2+2c2,最短的选择就是 c = 0 c=0 c=0,此时给出了 A A A 行空间的解 x + = ( 1 , 1 ) \boldsymbol x^+=(1,1) x+=(1,1).
A + A^+ A+ 的几何意义:由 A A A 的列空间得到行空间,这两个空间都是 r r r 维的,左零空间中的误差向量 e \boldsymbol e e 映射为零向量。
伪逆 A + A^+ A+ 和最优解 x + \boldsymbol x^+ x+ 在统计学中非常关键,因为实验得到的矩阵通常列向量和行向量都是线性相关的。

六、主要内容总结

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

七、例题

例5】如果 m × n m\times n m×n 的矩阵 A A A 的秩为 n n n,即列满秩,则它有左逆(left inverse) L = ( A T A ) − 1 A T L=(A^TA)^{-1}A^T L=(ATA)1AT,由这个矩阵 L L L 可得 L A = I \pmb{LA=I} LA=I,解释为什么这种情况下伪逆 A + = L \pmb{A^+=L} A+=L.
如果 A A A 的秩为 m m m,即行满秩,则它有右逆(right inverse) R = A T ( A A T ) − 1 R=A^T(AA^T)^{-1} R=AT(AAT)1,由这个矩阵 R R R 可得 A R = I \pmb{AR=I} AR=I,解释为什么这种情况想伪逆 A + = R \pmb{A^+=R} A+=R.
A 1 A_1 A1 L L L A 2 A_2 A2 R R R,并分别求出矩阵 A 1 , A 2 , A 3 A_1,A_2,A_3 A1,A2,A3 的伪逆: A 1 = [ 2 2 ] A 2 = [ 2 2 ] A 3 = [ 2 2 1 1 ] 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]解: 如果 A A A 的各列线性无关则 A T A A^TA ATA 可逆,从而 L = ( A T A ) − 1 A T L=(A^TA)^{-1}A^T L=(ATA)1AT A A A L A = I LA=I LA=I:有左逆。
A L = A ( A T A ) − 1 A T AL=A(A^TA)^{-1}A^T AL=A(ATA)1AT 是到列空间的投影矩阵,所以 L L L 符合 A + A^+ A+ 的要求: L A LA LA A L AL AL 分别是到 C ( A ) \pmb C(A) C(A) C ( A T ) \pmb C(A^T) C(AT) 的投影。
如果 A A A 的秩为 m m m,即行满秩,则 A A T AA^T AAT 可逆,从而 A A A R = A T ( A A T ) − 1 R=A^T(AA^T)^{-1} R=AT(AAT)1 A R = I AR=I AR=I. 反向相乘时, R A = A T ( A A T ) − 1 A RA=A^T(AA^T)^{-1}A RA=AT(AAT)1A 是到行空间的投影矩阵( A T A^T AT 的列向量),所以 R R R 等于伪逆 A + A^+ A+.
矩阵 A 1 A_1 A1 列满秩,有左逆 L = A 1 + L=A_1^+ L=A1+,矩阵 A 2 A_2 A2 行满秩,有右逆 R = A 2 + R=A_2^+ R=A2+ A 1 + = ( A 1 T A 1 ) − 1 A 1 T = 1 8 [ 2 2 ] A 2 + = A 2 T ( A 2 A 2 T ) − 1 = 1 8 [ 2 2 ] 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]注意: A 1 + A 1 = [ 1 ] , A 2 A 2 + = [ 1 ] A_1^+A_1=[1],\kern 3ptA_2A_2^+=[1] A1+A1=[1],A2A2+=[1]. 但是 A 3 A_3 A3 没有左逆和右逆,它不是满秩矩阵, A 3 A_3 A3 的伪逆将它的列空间作用到行空间。 A 3 + = [ 2 2 1 1 ] + = v 1 u 1 T σ 1 = 1 10 [ 2 1 2 1 ] 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]

相关文章:

  • JCR一区文章,壮丽细尾鹩莺算法Superb Fairy-wren Optimization-附Matlab免费代码
  • 介质访问控制——信道划分
  • from fastmcp import FastMCP和from mcp.server.fastmcp import FastMCP的区别是什么?
  • C51单片机学习笔记——LCD1602调试
  • SEO长尾关键词优化策略
  • 语法: value=kbhit( );和 value=kbhit( stream );
  • 10天速通强化学习-009--DDPG、SAC、TD3
  • 闭包和装饰器
  • 工业自动化领域边缘计算机崛起:PLC 替代之势渐显
  • 基于spring boot 鲜花销售系统PPT(源码+lw+部署文档+讲解),源码可白嫖!
  • 微软主要收入云计算,OFFICE,操作系统和游戏10大分类
  • 【项目管理】第2章 信息技术发展 --知识点整理
  • AutowiredAnnotationBeanPostProcessor
  • AIDD-人工智能药物设计-双扩散模型结合多目标优化策略助力3D小分子药物设计
  • 产品经理课程
  • Go语言常用算法实现
  • c++进阶--c++11
  • 更详细的广度优先搜索合集
  • LLM-大语言模型浅谈
  • 【Python使用】嘿马python数据分析教程第3篇:全渠道业务概述,目的,获取数据,连带率【附代码文档】
  • 行业门户网站的优化怎么做yps行业门户系统/网络营销常用的方法有哪些
  • 今日进出沈阳最新通知/短视频seo营销系统
  • 中国住建部和城乡建设部官网/苏州手机关键词优化
  • 番禺网站 建设信科网络/常见的搜索引擎有哪些?
  • wordpress上传网站模板/长沙seo外包优化
  • 网站外链 快速建设/页面设计漂亮的网站