\qquad 假设 A n × n A_{n\times n} An×n 具有 n n n 个线性无关的特征向量 { x 1 , x 2 , ⋯ , x n } , x i ∈ R n \{x_1,x_2,\cdots,x_n\},\ x_i\in R^n {x1,x2,⋯,xn}, xi∈Rn,可以定义特征向量矩阵 S = [ x 1 , x 2 , ⋯ , x n ] S=[x_1,x_2,\cdots,x_n] S=[x1,x2,⋯,xn],那么矩阵 A A A 可以被对角化 ( d i a g o n a l i z e d ) (diagonalized) (diagonalized) 为一个对角阵 Λ \Lambda Λ(对角线元素为特征值):
S − 1 A S = Λ = [ λ 1 λ 2 ⋱ λ n ] \qquad\qquad S^{-1}AS=\Lambda=\left[\begin{matrix} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{matrix}\right] S−1AS=Λ=⎣⎢⎢⎡λ1λ2⋱λn⎦⎥⎥⎤ 或者 A = S Λ S − 1 A=S\Lambda S^{-1} A=SΛS−1
\qquad 为了完成矩阵 A A A 的对角化,其特征向量矩阵 S S S 必须可逆(要求 n n n 个线性无关的特征向量,或者没有重复的特征值)。
\qquad 上述对角化的过程实际上是:
\qquad\qquad 由: A x i = λ i x i , i = 1 , ⋯ , n Ax_i=\lambda_ix_i,\ i=1,\cdots,n Axi=λixi, i=1,⋯,n
\qquad\qquad 可得: A S = A [ x 1 , x 2 , ⋯ , x n ] = [ λ 1 x 1 , λ 2 x 2 , ⋯ , λ n x n ] AS=A[x_1,x_2,\cdots,x_n]=[\lambda_1x_1,\lambda_2x_2,\cdots,\lambda_nx_n] AS=A[x1,x2,⋯,xn]=[λ1x1,λ2x2,⋯,λnxn]
\qquad\qquad 而: [ λ 1 x 1 , λ 2 x 2 , ⋯ , λ n x n ] = [ x 1 , x 2 , ⋯ , x n ] [ λ 1 λ 2 ⋱ λ n ] = S Λ [\lambda_1x_1,\lambda_2x_2,\cdots,\lambda_nx_n]=[x_1,x_2,\cdots,x_n] \left[\begin{matrix} \lambda_1 & & & \\ & \lambda_2 & & \\ & & \ddots & \\ & & & \lambda_n \end{matrix}\right]=S\Lambda [λ1x1,λ2x2,⋯,λnxn]=[x1,x2,⋯,xn]⎣⎢⎢⎡λ1λ2⋱λn⎦⎥⎥⎤=SΛ
\qquad 矩阵的对角化可以简化很多问题。例如, A m = S Λ S − 1 S Λ S − 1 ⋯ S Λ S − 1 ⏟ m = S Λ m S − 1 A^m=\underbrace{S\Lambda S^{-1} S\Lambda S^{-1}\cdots S\Lambda S^{-1}}_m=S\Lambda^mS^{-1} Am=m SΛS−1SΛS−1⋯SΛS−1=SΛmS−1
\qquad
\qquad 假设 A n × n A_{n\times n} An×n 为实对称 ( r e a l s y m m e t r i c ) \textbf(real\ symmetric) (real symmetric)矩阵,考虑其对角化过程:
\qquad
{ A = S Λ S − 1 A = A T \qquad\qquad \left\{ \begin{aligned} \ A&=S\Lambda S^{-1} \\ A&=A^T \end{aligned} \right. { AA=SΛS−1=AT ⟹ \Longrightarrow ⟹ A T = ( S Λ S − 1 ) T = ( S − 1 ) T Λ S T A^T=\left(S\Lambda S^{-1}\right)^T=\left(S^{-1}\right)^T\Lambda S^T AT=(SΛS−1)T=(S−1)TΛST
⟹ \qquad\qquad\qquad\qquad\qquad\ \ \Longrightarrow ⟹ A = S Λ S − 1 = ( S − 1 ) T Λ S T = A T A=S\Lambda S^{-1}=\left(S^{-1}\right)^T\Lambda S^T=A^T A=SΛS−1=(S−1)TΛST=AT
⟹ \qquad\qquad\qquad\qquad\qquad\ \ \Longrightarrow ⟹ S − 1 = S T S^{-1}=S^T S−1=ST 或 S T S = I S^TS=\bold I STS=I
\qquad
\qquad 此时,特征向量矩阵 S = [ x 1 , x 2 , ⋯ , x n ] , x i ∈ R n S=[x_1,x_2,\cdots,x_n],x_i\in R^n S=[x1,x2,⋯,xn],xi∈Rn 是正交矩阵 ( o r t h o g o n a l m a t r i x ) (orthogonal\ matrix) (orthogonal matrix),具有特殊的性质: S S S 中任意一个特征向量 x i x_i xi 与其他特征向量 x j , ( j ≠ i ) x_j,\ (j\neq i) xj, (j=i) 都正交。
S T S = I ⟹ { x i T x j = 0 , i ≠ j x i T x j = 1 , i = j \qquad\qquad S^TS=\bold I \quad \Longrightarrow\quad\left\{ \begin{aligned} \ x_i^Tx_j&=0&,i\neq j \\ x_i^Tx_j&=1&,i=j \end{aligned} \right. STS=I⟹{ xiTxjxiTxj=0=1,i=j,i=j
\qquad 为了区别于一般矩阵的对角化,记实对称矩阵的正交矩阵(特征向量矩阵)为 V V V、特征值对角阵为 D D D,那么实对称矩阵 A A A 可以对角化为:
A = V D V − 1 = V D V T \qquad\qquad\qquad A=VDV^{-1}=VDV^T A=VDV−1=VDVT, 其中 V T V = I V^TV=\bold I VTV=I 或 V − 1 = V T V^{-1}=V^T V−1=VT
\qquad
\qquad 在实对称矩阵 A = V D V − 1 A=VDV^{-1} A=VDV−1 的对角化过程中,正交矩阵 V V V 的主要作用在于:
A : R n ⟶ R n \qquad\qquad A:R^n\longrightarrow R^n A:Rn⟶Rn
v i ⟶ A v i , v i , A v i ∈ R n \qquad\qquad\quad\ \ \ v_i\longrightarrow Av_i,\qquad v_i,Av_i\in R^n vi⟶Avi,vi,Avi∈Rn
\qquad 将 A A A 的对角化写为 A V = V D AV=VD AV=VD,也就是 A v i = λ i v i Av_i=\lambda_iv_i Avi=λivi , v i ∈ R n ,\ v_i\in R^n , vi∈Rn,那么:
( 1 ) \qquad(1) (1) 向量 v i ∈ R n v_i\in R^n vi∈Rn 经过矩阵 A A A 变换之后仍在 R n R^n Rn 中 ( t h e t r a n s f o r m a t i o n t a k e s R n t o i t s e l f ) (the\ transformation\ takes\ R^n\ to\ itself) (the transformation takes Rn to itself)
( 2 ) \qquad(2) (2) 向量 v i v_i vi 的方向没变,只是向量的长度以 λ i \lambda_i λi 的比率进行了缩放
\qquad
\qquad 因此,如果采用正交矩阵 V V V 中的特征向量 { v 1 , v 2 , ⋯ , v n } , v i ∈ R n \{v_1,v_2,\cdots,v_n\},v_i\in R^n {v1,v2,⋯,vn},vi∈Rn 同时作为构建变换前的 R n R^n Rn 和变换后的 R n R^n Rn 的基向量,那么变换前后的 R n R^n Rn 仅仅在尺度上发生了改变(如图 1 1 1 和图 3 3 3 所示)。
\qquad
例1 实对称矩阵 A = [ 3 0 0 1 ] A=\left[\begin{matrix}3&0\\0&1\end{matrix}\right] A=[3001],对应了 R 2 R^2 R2 中的线性变换: [ 3 0 0 1 ] [ x 1 x 2 ] = [ 3 x 1 x 2 ] , [ x 1 x 2 ] ∈ R 2 \left[\begin{matrix}3&0\\0&1\end{matrix}\right]\left[\begin{matrix}x_1\\x_2\end{matrix}\right]=\left[\begin{matrix}3x_1\\x_2\end{matrix}\right],\ \ \left[\begin{matrix}x_1\\x_2\end{matrix}\right]\in R^2 [3001][x1x2]=[3x1x2], [x1x2]∈R2
\qquad 特征向量为 v 1 = [ 1 0 ] \boldsymbol v_1=\left[\begin{matrix}1\\0\end{matrix}\right] v1=[10] 和 v 2 = [ 0 1 ] \boldsymbol v_2=\left[\begin{matrix}0\\1\end{matrix}\right] v2=[01],特征向量矩阵 V = [ 1 0 0 1 ] V=\left[\begin{matrix}1&0\\0&1\end{matrix}\right] V=[1001]
\qquad 特征值为 λ 1 = 3 , λ 2 = 1 \lambda_1=3,\ \lambda_2=1 λ1=3, λ2=1,特征值对角阵 D = [ 3 0 0 1 ] D=\left[\begin{matrix}3&0\\0&1\end{matrix}\right] D=[3001]
\qquad
图1 标准坐标轴方向
正好是
特征向量的方向: e 1 = [ 1 , 0 ] T = v 1 , e 2 = [ 0 , 1 ] T = v 2 \boldsymbol e_1=[1,0]^T=\boldsymbol v_1,\ \boldsymbol e_2=[0,1]^T=\boldsymbol v_2 e1=[1,0]T=v1, e2=[0,1]T=v2
由 A v i = λ i v i Av_i=\lambda_iv_i Avi=λivi,特征向量 v i \boldsymbol v_i vi 经过线性变换之后,在新的 R 2 R^2 R2 中方向不会改变,只是改变了长度。
因此,对于“标准坐标轴方向”的单位向量 e 1 \boldsymbol e_1 e1 和 e 2 \boldsymbol e_2 e2 而言,在新的 R 2 R^2 R2 中方向仍保持不变:
( 1 ) e 1 (1)\ \boldsymbol e_1 (1) e1 方向上的尺度放大了 λ 1 = 3 \lambda_1=3 λ1=3 倍
( 2 ) e 2 (2)\ \boldsymbol e_2 (2) e2 方向上的尺度放大了 λ 2 = 1 \lambda_2=1 λ2=1 倍(尺度没变)
例2 实对称矩阵 A = [ 2 1 1 2 ] A=\left[\begin{matrix}2&1\\1&2\end{matrix}\right] A=[2112],对应了 R 2 R^2 R2 中的线性变换: [ 2 1 1 2 ] [ x 1 x 2 ] = [ 2 x 1 + x 2 x 1 + 2 x 2 ] \left[\begin{matrix}2&1\\1&2\end{matrix}\right]\left[\begin{matrix}x_1\\x_2\end{matrix}\right]=\left[\begin{matrix}2x_1+x_2\\x_1+2x_2\end{matrix}\right] [2112][x1x2]=[2x1+x2x1+2x2]
\qquad 特征向量为 v 1 = 1 2 [ 2 2 ] \boldsymbol v_1=\frac{1}{2}\left[\begin{matrix}\sqrt{2}\\\sqrt{2}\end{matrix}\right] v1=21[22] 和 v 2 = 1 2 [ − 2 2 ] \boldsymbol v_2=\frac{1}{2}\left[\begin{matrix}-\sqrt{2}\\\sqrt{2}\end{matrix}\right] v2=21[−22],特征向量矩阵 V = 1 2 [ 2 − 2 2 2 ] V=\frac{1}{2}\left[\begin{matrix}\sqrt{2}&-\sqrt{2}\\\sqrt{2}&\sqrt{2}\end{matrix}\right] V=21[22−22]
\qquad 特征值为 λ 1 = 3 , λ 2 = 1 \lambda_1=3,\ \lambda_2=1 λ1=3, λ2=1,特征值对角阵 D = [ 3 0 0 1 ] D=\left[\begin{matrix}3&0\\0&1\end{matrix}\right] D=[3001]
\qquad
图2 标准坐标轴方向
不再是
特征向量的方向: e 1 = [ 1 , 0 ] T ≠ k 1 v 1 , e 2 = [ 0 , 1 ] T ≠ k 2 v 2 \boldsymbol e_1=[1,0]^T\neq k_1\boldsymbol v_1,\ \boldsymbol e_2=[0,1]^T\neq k_2\boldsymbol v_2 e1=[1,0]T=k1v1, e2=[0,1]T=k2v2
“标准坐标轴方向”的单位向量 e 1 \boldsymbol e_1 e1 和 e 2 \boldsymbol e_2 e2 经过线性变换之后,在新的 R 2 R^2 R2 中为: x 1 ′ = 2 x 1 + x 2 , x 2 ′ = x 1 + 2 x 2 x_1^{'}=2x_1+x_2,\ x_2^{'}=x_1+2x_2 x1′=2x1+x2, x2′=x1+2x2
也就是会改变大小和方向: e 1 ′ = A e 1 = [ 2 , 1 ] T , e 2 ′ = A e 2 = [ 1 , 2 ] T \boldsymbol e_1^{'}=A\boldsymbol e_1=[2,1]^T,\boldsymbol e_2^{'}=A\boldsymbol e_2=[1,2]^T e1′=Ae1=[2,1]T,e2′=Ae2=[1,2]T。
图3 由 A v i = λ i v i Av_i=\lambda_iv_i Avi=λivi,特征向量 v i \boldsymbol v_i vi 经过线性变换之后,在新的 R 2 R^2 R2 中方向不会改变,只是改变了长度:
( 1 ) v 1 = 1 2 [ 2 , 2 ] T (1)\ \boldsymbol v_1=\frac{1}{2}[\sqrt{2},\sqrt{2}]^T (1) v1=21[2,2]T 方向上的尺度放大了 λ 1 = 3 \lambda_1=3 λ1=3 倍
( 2 ) v 2 = 1 2 [ − 2 , 2 ] T (2)\ \boldsymbol v_2=\frac{1}{2}[-\sqrt{2},\sqrt{2}]^T (2) v2=21[−2,2]T 方向上的尺度放大了 λ 2 = 1 \lambda_2=1 λ2=1 倍(尺度没变)
也就是说,如果采用特征向量 v 1 \boldsymbol v_1 v1 和 v 2 \boldsymbol v_2 v2 作为基向量来构造 R 2 R^2 R2,那么变换前后的 R 2 R^2 R2 仅仅是尺度发生了改变。
\qquad
\qquad 奇异值分解 S V D SVD SVD 可以实现对一般矩阵 A m × n A_{m\times n} Am×n(非方阵)的对角化:
A = U Σ V T \qquad\qquad A=U\Sigma V^T A=UΣVT 或者 A V = U Σ AV=U\Sigma AV=UΣ
\qquad\qquad 其中, U m × m U_{m\times m} Um×m 和 V n × n V_{n\times n} Vn×n 都是正交矩阵
\qquad\qquad Σ m × n \Sigma_{m\times n} Σm×n 是对角阵 ( Σ i i = σ i ) (\Sigma_{ii}=\sigma_i) (Σii=σi)
\qquad
\qquad 理解 S V D SVD SVD 的本质,还得从线性变换的角度去看待,如图 4 4 4 所示:
图4 在《向量空间基础》一文中已经说明:
1 ) 1) 1) 对于一个秩为 r r r 的矩阵 A m × n A_{m\times n} Am×n,其中必然包含着一个 r × r r\times r r×r 的可逆方阵 A ^ r × r \hat A_{r\times r} A^r×r
2 ) 2) 2) 线性变换 A m × n : R n → R m A_{m\times n}:R^n\rightarrow R^m Am×n:Rn→Rm,实际上是由 A m × n : C ( A T ) → C ( A ) A_{m\times n}:C(A^T)\rightarrow C(A) Am×n:C(AT)→C(A) 完成(图中的 A x r = b A\boldsymbol x_r=\boldsymbol b Axr=b)
3 ) 3) 3) 去掉空间 N ( A ) N(A) N(A)和 N ( A T ) N(A^T) N(AT),线性变换 A m × n : C ( A T ) → C ( A ) A_{m\times n}:C(A^T)\rightarrow C(A) Am×n:C(AT)→C(A) 实际上是指 r r r 维子空间上的 A ^ r × r : R r → R r \hat A_{r\times r}:R^r\rightarrow R^r A^r×r:Rr→Rr
图片取自于《Introduction to Linear Algebra(Gilbert Strang)》Fig 4.3
\qquad 从线性变换的角度来看:矩阵 A m × n A_{m\times n} Am×n 将 R n R^n Rn 中的向量变换为 R m R^m Rm 中的向量。
\qquad 然而,仅仅使用真实大小的可逆矩阵 A r × r A_{r\times r} Ar×r 来表示矩阵 A m × n A_{m\times n} Am×n 的对角化,无法完整说明矩阵 A m × n A_{m\times n} Am×n 作为 R n ⟶ R m R^n\longrightarrow R^m Rn⟶Rm 线性变换的过程,只能说明实际的 C ( A T ) ⟶ C ( A ) C(A^T)\longrightarrow C(A) C(AT)⟶C(A) 变换过程(图 4 4 4 中的 A x r = b A\boldsymbol x_r=\boldsymbol b Axr=b),而 C ( A ) C(A) C(A) 和 C ( A T ) C(A^T) C(AT) 空间的实际维度都为 r r r —— 都只有 r r r 个线性无关的基向量。
\qquad
\qquad 因此,对于一个秩为 r r r 的矩阵 A m × n A_{m\times n} Am×n,其 S V D SVD SVD 对角化本质上是指 r r r 维子空间上的可逆方阵 A ^ r × r \hat A_{r\times r} A^r×r 所对应的线性变换 A ^ r × r : R r → R r \hat A_{r\times r}:R^r\rightarrow R^r A^r×r:Rr→Rr,也就是:
{ A v 1 = σ 1 u 1 A v 2 = σ 2 u 2 A v r = σ r u r ⟹ A [ v 1 ⋯ v r ] = [ u 1 ⋯ u r ] [ σ 1 ⋱ σ r ] \qquad\qquad\left\{\begin{aligned}A\boldsymbol v_1=\sigma_1\boldsymbol u_1 \\ A\boldsymbol v_2=\sigma_2\boldsymbol u_2\\ \\ A\boldsymbol v_r=\sigma_r\boldsymbol u_r\end{aligned}\right.\quad\Longrightarrow\quad A\left[\begin{matrix} & &\\ \ \boldsymbol v_1 &\cdots &\boldsymbol v_r\ \\ & & \end{matrix}\right]=\left[\begin{matrix} & &\\ \ \boldsymbol u_1 &\cdots &\boldsymbol u_r\ \\ & & \end{matrix}\right]\left[\begin{matrix} \sigma_1 & & \\ & \ddots & \\ & & \sigma_r \end{matrix}\right] ⎩⎪⎪⎪⎪⎨⎪⎪⎪⎪⎧Av1=σ1u1Av2=σ2u2Avr=σrur⟹A⎣⎡ v1⋯vr ⎦⎤=⎣⎡ u1⋯ur ⎦⎤⎣⎡σ1⋱σr⎦⎤
\qquad 奇异向量 ( s i n g u l a r v e c t o r ) v 1 , ⋯ , v r (singular\ vector)\ \boldsymbol v_1,\cdots,\boldsymbol v_r (singular vector) v1,⋯,vr 都在 A A A 的行空间 C ( A T ) C(A^T) C(AT) 中,而 u 1 , ⋯ , u r \boldsymbol u_1,\cdots,\boldsymbol u_r u1,⋯,ur 都在 A A A 的列空间 C ( A ) C(A) C(A) 中。而且,奇异值 σ 1 , ⋯ , σ r \sigma_1,\cdots,\sigma_r σ1,⋯,σr 都是正数(见 3.3 3.3 3.3 节 结论 1 1 1)。
\qquad 因此,矩阵 A m × n A_{m\times n} Am×n 的奇异值分解也可以写为:
\qquad\qquad A = U Σ V T = U r Σ r V r T = u 1 σ 1 v 1 T + ⋯ + u r σ r v r T A=U\Sigma V^T=U_r\Sigma_r V_r^T=\boldsymbol u_1\sigma_1\boldsymbol v_1^T+\cdots+\boldsymbol u_r\sigma_r\boldsymbol v_r^T A=UΣVT=UrΣrVrT=u1σ1v1T+⋯+urσrvrT
\qquad
例3 假设 r = 2 , m = n = r r=2,m=n=r r=2,m=n=r,奇异值分解的过程如图 5 5 5 所示:
\qquad
图5 与实对称矩阵的 E V D EVD EVD 不同:
( 1 ) (1) (1) 奇异向量 v i ∈ R n \boldsymbol v_i\in R^n vi∈Rn 经过矩阵 A m × n A_{m\times n} Am×n 变换为 A v i ∈ R m A\boldsymbol v_i\in R^m Avi∈Rm 之后 不一定满足方向不变
( 2 ) (2) (2) 将矩阵 A m × n A_{m\times n} Am×n 变换后的向量 A v 1 A\boldsymbol v_1 Av1 和 A v 2 A\boldsymbol v_2 Av2 单位化,就是 R m R^m Rm 中的向量 u 1 \boldsymbol u_1 u1 和 u 2 \boldsymbol u_2 u2
且满足 A v 1 = σ 1 u 1 , A v 2 = σ 2 u 2 A\boldsymbol v_1=\sigma_1\boldsymbol u_1,A\boldsymbol v_2=\sigma_2\boldsymbol u_2 Av1=σ1u1,Av2=σ2u2(奇异值为长度)
( 3 ) (3) (3) 正交的奇异向量 v 1 \boldsymbol v_1 v1 和 v 2 \boldsymbol v_2 v2,经过矩阵 A m × n A_{m\times n} Am×n 变换为 A v 1 A\boldsymbol v_1 Av1 和 A v 2 A\boldsymbol v_2 Av2 后仍保持正交性,即:向量 u 1 \boldsymbol u_1 u1 和 u 2 \boldsymbol u_2 u2 也正交
【注】:本例中由于 m = n = r = 2 m=n=r=2 m=n=r=2,因此两个零空间 N ( A ) = { 0 } N(A)=\{\boldsymbol 0\} N(A)={0} 和 N ( A T ) = { 0 } N(A^T)=\{\boldsymbol 0\} N(AT)={0}
图1,2,3,5 均取自于:《We Recommend a Singular Value Decomposition》
\qquad
例4 奇异值分解 A = U Σ V T = U r Σ r V r T = u 1 σ 1 v 1 T + ⋯ + u r σ r v r T A=U\Sigma V^T=U_r\Sigma_r V_r^T=\boldsymbol u_1\sigma_1\boldsymbol v_1^T+\cdots+\boldsymbol u_r\sigma_r\boldsymbol v_r^T A=UΣVT=UrΣrVrT=u1σ1v1T+⋯+urσrvrT 过程描述
\qquad 图 6 ( a ) ( b ) 6(a)(b) 6(a)(b) 表示源空间,图 6 ( c ) 6(c) 6(c) 表示目标空间,矩阵 A 3 × 3 A_{3\times 3} A3×3 的秩为 r = 2 r=2 r=2,其 S V D SVD SVD 过程为:
( 1 ) \qquad(1) (1) 图 6 ( a ) 6(a) 6(a) 中, R 3 R^3 R3 空间 v 3 \boldsymbol v_3 v3 轴上的所有向量经过 A 3 × 3 A_{3\times 3} A3×3 变换后为 0 \boldsymbol 0 0,即零空间 N ( A ) = { k v 3 } N(A)=\{k\boldsymbol v_3\} N(A)={kv3}
( 2 ) \qquad(2) (2) 在图 6 ( a ) 6(a) 6(a) 的 R 3 R^3 R3 空间中去掉零空间 N ( A ) = { k v 3 } N(A)=\{k\boldsymbol v_3\} N(A)={kv3},就变成了图 6 ( b ) 6(b) 6(b) 中的实际维度为 2 2 2 的行空间 C ( A T ) C(A^T) C(AT),即图 6 ( b ) 6(b) 6(b) 阴影区域所在平面
( 3 ) \qquad(3) (3) 从图 6 ( b ) 6(b) 6(b) 的行空间 C ( A T ) C(A^T) C(AT) 中选择出正交的奇异向量 v 1 , v 2 \boldsymbol v_1,\boldsymbol v_2 v1,v2,经过 A A A 变换后就变成了图 6 ( c ) 6(c) 6(c) 中的向量 A v 1 = σ 1 u 1 A\boldsymbol v_1=\sigma_1\boldsymbol u_1 Av1=σ1u1 和 A v 2 = σ 2 u 2 A\boldsymbol v_2=\sigma_2\boldsymbol u_2 Av2=σ2u2,向量 u 1 , u 2 \boldsymbol u_1,\boldsymbol u_2 u1,u2 仍保持正交性,以 u 1 , u 2 \boldsymbol u_1,\boldsymbol u_2 u1,u2 为基向量就构建出了实际维度为 2 2 2 的列空间 C ( A ) C(A) C(A),即图 6 ( c ) 6(c) 6(c) 阴影区域所在平面
( 4 ) \qquad(4) (4) 奇异值分解 A = U Σ V T = U r Σ r V r T A=U\Sigma V^T=U_r\Sigma_r V_r^T A=UΣVT=UrΣrVrT 实际上是指 A ^ 2 × 2 : C ( A T ) → C ( A ) \hat A_{2\times 2}:C(A^T)\rightarrow C(A) A^2×2:C(AT)→C(A)
\qquad
图6 取自于《A Singularly Valuable Decomposition: The SVD of a Matrix》Fig.2
\qquad
\qquad 由上节分析可知,只考虑用 v 1 , ⋯ , v r \boldsymbol v_1,\cdots,\boldsymbol v_r v1,⋯,vr 作为基向量构建行空间 C ( A T ) C(A^T) C(AT) 、以及用 u 1 , ⋯ , u r \boldsymbol u_1,\cdots,\boldsymbol u_r u1,⋯,ur 作为基向量构建列空间 C ( A ) C(A) C(A) 来完成 S V D SVD SVD 显然不足以描述线性变换 A m × n : R n ⟶ R m A_{m\times n}:R^n\longrightarrow R^m Am×n:Rn⟶Rm 的完整过程,还必须完成以下内容:
( 1 ) \qquad(1) (1) 由于 r r r 个线性无关的 v 1 , ⋯ , v r \boldsymbol v_1,\cdots,\boldsymbol v_r v1,⋯,vr 都在 A A A 的行空间 C ( A T ) C(A^T) C(AT) 中,实际上只是构成了 R n R^n Rn 中的子空间 R r ⊆ R n R^r\subseteq R^n Rr⊆Rn,并不足以构成整个 R n R^n Rn
( 2 ) \qquad(2) (2) 由于行空间 C ( A T ) C(A^T) C(AT) 在 R n R^n Rn 中的正交补空间为零空间 N ( A ) N(A) N(A),为了构建整个 R n R^n Rn,还必须补充构成 N ( A ) N(A) N(A) 的 n − r n-r n−r 个 { v i } i = r + 1 n \{\boldsymbol v_i\}_{i=r+1}^n {vi}i=r+1n 基向量,也就是要使用到 V n × n V_{n\times n} Vn×n 的全部列向量 { v i } i = 1 n \{\boldsymbol v_i\}_{i=1}^n {vi}i=1n
零空间 N ( A ) N(A) N(A) 中的 n − r n-r n−r 个 { v i } i = r + 1 n \{\boldsymbol v_i\}_{i=r+1}^n {vi}i=r+1n 基向量,均与行空间 C ( A T ) C(A^T) C(AT) 中的 v 1 , ⋯ , v r \boldsymbol v_1,\cdots,\boldsymbol v_r v1,⋯,vr 正交
由于 A v i = 0 ∈ R m , ∀ v i ∈ N ( A ) ⊂ R n A\boldsymbol v_i=\boldsymbol 0\in R^m,\ \forall\ v_i\in N(A)\sub R^n Avi=0∈Rm, ∀ vi∈N(A)⊂Rn,矩阵 A A A 将 N ( A ) N(A) N(A) 中的向量变换为了 R m R^m Rm 的原点
也就是说, N ( A ) N(A) N(A) 中的向量没能真正体现出“矩阵 A A A 作为线性变换”应有的作用,可以认为是“冗余的”
( 1 ) \qquad(1) (1) 由于 r r r 个线性无关的 u 1 , ⋯ , u r \boldsymbol u_1,\cdots,\boldsymbol u_r u1,⋯,ur 都在 A A A 的列空间 C ( A ) C(A) C(A) 中,实际上只是构成了 R m R^m Rm 中的子空间 R r ⊆ R m R^r\subseteq R^m Rr⊆Rm,并不足以构成整个 R m R^m Rm
( 2 ) \qquad(2) (2) 由于列空间 C ( A ) C(A) C(A) 在 R m R^m Rm 中的正交补空间为左零空间 N ( A T ) N(A^T) N(AT),为了构建整个 R m R^m Rm,还必须补充构成 N ( A T ) N(A^T) N(AT) 的 m − r m-r m−r 个 { u i } i = r + 1 m \{\boldsymbol u_i\}_{i=r+1}^m {ui}i=r+1m 基向量,也就是要使用到 U m × m U_{m\times m} Um×m 的全部列向量 { u i } i = 1 m \{\boldsymbol u_i\}_{i=1}^m {ui}i=1m
左零空间 N ( A T ) N(A^T) N(AT) 中的 m − r m-r m−r 个 { u i } i = r + 1 m \{\boldsymbol u_i\}_{i=r+1}^m {ui}i=r+1m 基向量,均与行空间 C ( A ) C(A) C(A) 中的 u 1 , ⋯ , u r \boldsymbol u_1,\cdots,\boldsymbol u_r u1,⋯,ur 正交
由于 A T u i = 0 ∈ R n , ∀ u i ∈ N ( A T ) ⊂ R m A^T\boldsymbol u_i=\boldsymbol 0\in R^n,\ \forall\ u_i\in N(A^T)\sub R^m ATui=0∈Rn, ∀ ui∈N(AT)⊂Rm,矩阵 A T A^T AT 将 R m R^m Rm 中的一些向量 u i ∈ N ( A T ) \boldsymbol u_i\in N(A^T) ui∈N(AT) 变换为了 R n R^n Rn 的原点
因此, N ( A T ) ⊂ R m N(A^T)\sub R^m N(AT)⊂Rm 中的这些向量对于变换 A T A^T AT 而言也是“冗余的”
\qquad
\qquad 使用所有 { u i } i = 1 m \{\boldsymbol u_i\}_{i=1}^m {ui}i=1m 和 { v i } i = 1 n \{\boldsymbol v_i\}_{i=1}^n {vi}i=1n 构建了完整的 R m R^m Rm 和 R n R^n Rn 之后, 矩阵 A m × n A_{m\times n} Am×n 作为 R n ⟶ R m R^n\longrightarrow R^m Rn⟶Rm 的线性变换过程才得以完整体现。此时,完整的奇异值分解就表示为 A V = U Σ AV=U\Sigma AV=UΣ,也就是:
\qquad
A [ v 1 ⋯ v r ⋯ v n ] ⏟ V n × n = [ u 1 ⋯ u r ⋯ u m ] ⏟ U m × m [ σ 1 ⋱ σ r ] ⏟ Σ m × n \qquad\qquad A\ \underbrace{\left[\begin{matrix} \\ \ \boldsymbol v_1\ \cdots\ \boldsymbol v_r\ \cdots\ \boldsymbol v_n\\ \\ \end{matrix}\right] }_{V_{n\times n}}=\underbrace{ \left[\begin{matrix} \\ \ \boldsymbol u_1\ \cdots\ \boldsymbol u_r\ \cdots\ \boldsymbol u_m\\ \\ \end{matrix}\right] }_{U_{m\times m}} \underbrace{ \left[\begin{matrix} \sigma_1 & & \\ & \ddots & \\ & & \sigma_r \\ & & & \end{matrix}\right]}_{\Sigma_{m\times n}} A Vn×n ⎣⎡ v1 ⋯ vr ⋯ vn⎦⎤=Um×m ⎣⎡ u1 ⋯ ur ⋯ um⎦⎤Σm×n ⎣⎢⎢⎡σ1⋱σr⎦⎥⎥⎤
\qquad 或者 A = U Σ V T = U r Σ r V r T A=U\Sigma V^T=U_r\Sigma_r V_r^T A=UΣVT=UrΣrVrT 的形式:
A = [ u 1 ⋯ u r ∣ u r + 1 ⋯ u m ] [ σ 1 0 ⋯ 0 ⋱ ⋮ 0 ⋮ σ r ⋮ 0 ⋮ 0 ⋯ 0 0 ⋯ 0 ⋮ 0 ⋮ ⋮ ⋱ ⋮ 0 ⋯ 0 0 ⋯ 0 ] [ v 1 T ⋮ v r T — — v r + 1 T ⋮ v n T ] = [ u 1 ⋯ u r ] [ σ 1 ⋱ σ r ] [ v 1 T ⋮ v r T ] ⏟ U r Σ r V r T + [ u r + 1 ⋯ u m ] [ 0 ] [ v r + 1 T ⋮ v n T ] \qquad\qquad \begin{aligned}A &= \left[\begin{matrix} \ \boldsymbol u_1\ \cdots\ \boldsymbol u_r\ \Big|\ \boldsymbol u_{r+1}\ \cdots\ \boldsymbol u_m \end{matrix}\right] \left[\begin{matrix} \sigma_1 & & & 0 &\cdots & 0 \\ & \ddots & &\vdots & 0 & \vdots \\ & & \sigma_r & \vdots & 0 & \vdots\\ 0& \cdots & 0 & 0 & \cdots & 0 \\ \vdots & 0 & \vdots & \vdots &\ddots & \vdots \\ 0& \cdots & 0 & 0 & \cdots &0 \end{matrix}\right] \left[\begin{matrix} \boldsymbol v_1^T\\ \vdots\\ \boldsymbol v_r^T\\ ——\\ \boldsymbol v_{r+1}^T\\ \vdots\\ \boldsymbol v_n^T\\ \end{matrix}\right]\\ &= \underbrace{ \left[\begin{matrix} \ \boldsymbol u_1\ \cdots\ \boldsymbol u_r \end{matrix}\right] \left[\begin{matrix} \sigma_1 & & \\ & \ddots & \\ & & \sigma_r \end{matrix}\right] \left[\begin{matrix} \boldsymbol v_1^T\\ \vdots\\ \boldsymbol v_r^T \end{matrix}\right] }_{U_r\Sigma_r V_r^T}+ \left[\begin{matrix} \boldsymbol u_{r+1}\ \cdots\ \boldsymbol u_m \end{matrix}\right] \left[\begin{matrix} & & \\ & \bold 0 & \\ & & \end{matrix}\right] \left[\begin{matrix} \boldsymbol v_{r+1}^T\\ \vdots\\ \boldsymbol v_n^T\\ \end{matrix}\right] \end{aligned} A=[ u1 ⋯ ur ∣∣∣ ur+1 ⋯ um]⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡σ10⋮0⋱⋯0⋯σr0⋮00⋮⋮0⋮0⋯00⋯⋱⋯0⋮⋮0⋮0⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎡v1T⋮vrT——vr+1T⋮vnT⎦⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎤=UrΣrVrT [ u1 ⋯ ur]⎣⎡σ1⋱σr⎦⎤⎣⎢⎡v1T⋮vrT⎦⎥⎤+[ur+1 ⋯ um]⎣⎡0⎦⎤⎣⎢⎡vr+1T⋮vnT⎦⎥⎤
\qquad
\qquad
结论1 右奇异向量矩阵 V n × n = [ v 1 , ⋯ , v n ] , v i ∈ R n V_{n\times n}=[\boldsymbol v_1,\cdots,\boldsymbol v_n],\ \boldsymbol v_i\in R^n Vn×n=[v1,⋯,vn], vi∈Rn 是实对称矩阵 A T A A^TA ATA 的特征分解 E V D EVD EVD 的特征向量集,且实对称矩阵 A T A A^TA ATA 的特征值都是非负的,矩阵 A m × n A_{m\times n} Am×n 进行 S V D SVD SVD 后的奇异值都是非负的。
A T A = V D V T \qquad\qquad A^TA=VDV^T ATA=VDVT
\qquad\qquad 其中,正交矩阵 V n × n = [ v 1 , ⋯ , v n ] , v i ∈ R n V_{n\times n}=[\boldsymbol v_1,\cdots,\boldsymbol v_n],\ \boldsymbol v_i\in R^n Vn×n=[v1,⋯,vn], vi∈Rn 就是 S V D SVD SVD 的右奇异向量矩阵
\qquad\qquad 对角阵 D n × n D_{n\times n} Dn×n 的对角线元素 λ i \lambda_i λi 为 A T A A^TA ATA 的特征值,假设特征值在对角线上以降序排列
\qquad 由于:
A T A V = V D ⟹ A T A v i = λ i v i \qquad\qquad\qquad A^TAV=VD\Longrightarrow A^TA\boldsymbol v_i=\lambda_i\boldsymbol v_i ATAV=VD⟹ATAvi=λivi
\qquad 可得:
( A v i ) T ( A v j ) = v i T A T A v j = v i T ( λ j v j ) = λ j v i T v j = 0 \qquad\qquad\qquad\begin{aligned}(A\boldsymbol v_i)^T(A\boldsymbol v_j)&=\boldsymbol v_i^TA^TA\boldsymbol v_j \\ &=\boldsymbol v_i^T(\lambda_j\boldsymbol v_j) \\ &=\lambda_j\boldsymbol v_i^T\boldsymbol v_j \\ &=0 \end{aligned} (Avi)T(Avj)=viTATAvj=viT(λjvj)=λjviTvj=0
\qquad 这就说明,正交矩阵 V n × n V_{n\times n} Vn×n 中正交的列向量 { v 1 , ⋯ , v n } , v i ∈ R n \{\boldsymbol v_1,\cdots,\boldsymbol v_n\},\ \boldsymbol v_i\in R^n {v1,⋯,vn}, vi∈Rn,经过矩阵 A m × n A_{m\times n} Am×n 变换为 R m R^m Rm 中的 { A v 1 , ⋯ , A v n } , A v i ∈ R m \{A\boldsymbol v_1,\cdots,A\boldsymbol v_n\},\ A\boldsymbol v_i\in R^m {Av1,⋯,Avn}, Avi∈Rm 后,仍然是正交的。
\qquad
\qquad 因此:
( A v i ) T ( A v j ) ⟹ { ( A v i ) T ( A v j ) = λ j v i T v j = 0 , i ≠ j ( A v i ) T ( A v i ) = ∥ A v i ∥ 2 = λ i ≥ 0 , i = j \qquad\qquad\qquad(A\boldsymbol v_i)^T(A\boldsymbol v_j)\Longrightarrow\left\{\begin{aligned}(A\boldsymbol v_i)^T(A\boldsymbol v_j)&=\lambda_j\boldsymbol v_i^T\boldsymbol v_j=0 &,i\neq j\\ \\(A\boldsymbol v_i)^T(A\boldsymbol v_i)&=\Vert A\boldsymbol v_i \Vert^2=\lambda_i\ge0 &,i=j \end{aligned}\right. (Avi)T(Avj)⟹⎩⎪⎨⎪⎧(Avi)T(Avj)(Avi)T(Avi)=λjviTvj=0=∥Avi∥2=λi≥0,i=j,i=j
\qquad 这就说明,实对称矩阵 A T A A^TA ATA 的特征值 λ i \lambda_i λi 都是非负的。
\qquad 又因为,在 S V D SVD SVD 中满足 A v i = σ i u i , i ∈ { 1 , ⋯ , r } A\boldsymbol v_i=\sigma_i\boldsymbol u_i,\quad i\in\{1,\cdots,r\} Avi=σiui,i∈{1,⋯,r},因此:
u i = A v i ∣ A v i ∣ = 1 λ i A v i = 1 σ i A v i , i ∈ { 1 , ⋯ , r } \qquad\qquad\qquad\boldsymbol u_i=\dfrac{A\boldsymbol v_i}{\big|A\boldsymbol v_i \big|}=\dfrac{1}{\sqrt{\lambda_i}}A\boldsymbol v_i=\dfrac{1}{\sigma_i}A\boldsymbol v_i,\quad i\in\{1,\cdots,r\} ui=∣∣Avi∣∣Avi=λi1Avi=σi1Avi,i∈{1,⋯,r}
\qquad 这就说明,矩阵 A m × n A_{m\times n} Am×n 进行 S V D SVD SVD 后的奇异值 σ i = λ i ≥ 0 \sigma_i=\sqrt{\lambda_i}\ge0 σi=λi≥0 ,都是非负的。
\qquad
结论2 左奇异向量矩阵 U m × m = [ u 1 , ⋯ , u m ] , u i ∈ R m U_{m\times m}=[\boldsymbol u_1,\cdots,\boldsymbol u_m],\ \boldsymbol u_i\in R^m Um×m=[u1,⋯,um], ui∈Rm 是实现实对称矩阵 A A T AA^T AAT 的特征分解 E V D EVD EVD 的特征向量集,而且具有与实对称矩阵 A T A A^TA ATA 相同的非零特征值。
\qquad 由于满足 A v i = σ i u i , i ∈ { 1 , ⋯ , r } \ \ A\boldsymbol v_i=\sigma_i\boldsymbol u_i,\quad i\in\{1,\cdots,r\} Avi=σiui,i∈{1,⋯,r}
\qquad 又因为:
u i = 1 λ i A v i = 1 σ i A v i , i ∈ { 1 , ⋯ , r } \qquad\qquad\qquad \boldsymbol u_i=\dfrac{1}{\sqrt{\lambda_i}}A\boldsymbol v_i=\dfrac{1}{\sigma_i}A\boldsymbol v_i,\quad i\in\{1,\cdots,r\} ui=λi1Avi=σi1Avi,i∈{1,⋯,r}
\qquad 因此:
A A T u i = A A T ( 1 σ i A v i ) = 1 σ i A ( A T A v i ) = 1 σ i A ( λ i v i ) = 1 σ i λ i ( A v i ) = 1 σ i λ i ( σ i u i ) = λ i u i \qquad\qquad\qquad \begin{aligned}AA^T\boldsymbol u_i&=AA^T\left(\dfrac{1}{\sigma_i}A\boldsymbol v_i\right)\\ &=\dfrac{1}{\sigma_i}A(A^TA\boldsymbol v_i)\\ &=\dfrac{1}{\sigma_i}A(\lambda_i\boldsymbol v_i)\\ &=\dfrac{1}{\sigma_i}\lambda_i(A\boldsymbol v_i) \\ &=\dfrac{1}{\sigma_i}\lambda_i(\sigma_i\boldsymbol u_i)\\ &=\lambda_i\boldsymbol u_i \end{aligned} AATui=AAT(σi1Avi)=σi1A(ATAvi)=σi1A(λivi)=σi1λi(Avi)=σi1λi(σiui)=λiui
\qquad 也就是 A A T U = U D AA^TU=UD AATU=UD 或者 A A T = U D U T AA^T=UDU^T AAT=UDUT
\qquad 这就说明,实对称矩阵 A A T AA^T AAT 具有与实对称矩阵 A T A A^TA ATA 相同的非负特征值 λ i ≥ 0 , i ∈ { 1 , ⋯ , r } \lambda_i\ge0,\ i\in\{1,\cdots,r\} λi≥0, i∈{1,⋯,r}。
\qquad
\qquad
【注】:关于向量空间的基本概念,请参考《向量空间基础知识》