奇异值分解(SVD)摘记——从EVD到SVD

1. 矩阵的对角化(Diagonalization)

\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}, xiRn,可以定义特征向量矩阵 S = [ x 1 , x 2 , ⋯   , x n ] S=[x_1,x_2,\cdots,x_n] S=[x1,x2,,xn],那么矩阵 A A A 可以被对角化 (diagonalized) \text{(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] S1AS=Λ= λ1λ2λn   或者   A = S Λ S − 1 A=S\Lambda S^{-1} A=SΛS1

\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ΛS1SΛS1SΛS1=SΛmS1
\qquad

2. 实对称矩阵的特征分解(Eigenvalue Decomposition,EVD)

2.1 实对称矩阵的对角化

\qquad 假设 A n × n A_{n\times n} An×n实对称 (real   symmetric) \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ΛS1=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ΛS1)T=(S1)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ΛS1=(S1)TΛST=AT

   ⟹ \qquad\qquad\qquad\qquad\qquad\ \ \Longrightarrow     S − 1 = S T S^{-1}=S^T S1=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],xiRn正交矩阵 (orthogonal matrix) \text{(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=VDV1=VDVT, 其中 V T V = I V^TV=\bold I VTV=I V − 1 = V T V^{-1}=V^T V1=VT
\qquad

2.2 正交矩阵的几何意义

\qquad 在实对称矩阵 A = V D V − 1 A=VDV^{-1} A=VDV1 的对角化过程中,正交矩阵 V V V主要作用在于:

  • 将实对称矩阵 A A A 看成 R n R^n Rn R n R^n Rn线性变换

A : R n ⟶ R n \qquad\qquad A:R^n\longrightarrow R^n A:RnRn
    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    viAvi,vi,AviRn

  • 实对称矩阵 A A A特征向量矩阵 V V V 提供了变换前后的 R n R^n Rn 中的正交基 { v 1 , v 2 , ⋯   , v n } \{v_1,v_2,\cdots,v_n\} {v1,v2,,vn}

\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 , viRn,那么:
( 1 ) \qquad(1) (1) 向量 v i ∈ R n v_i\in R^n viRn 经过矩阵 A A A 变换之后仍在 R n R^n Rn (the transformation takes  R n  to itself) \text{(the\ transformation\ takes}\ R^n\ \text{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},viRn 同时作为构建变换前的 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[2 2 ] v 2 = 1 2 [ − 2 2 ] \boldsymbol v_2=\frac{1}{2}\left[\begin{matrix}-\sqrt{2}\\\sqrt{2}\end{matrix}\right] v2=21[2 2 ],特征向量矩阵 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[2 2 2 2 ]

\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^{\prime}=2x_1+x_2,\ x_2^{\prime}=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^{\prime}=A\boldsymbol e_1=[2,1]^T,\boldsymbol e_2^{\prime}=A\boldsymbol e_2=[1,2]^T e1=Ae1=[2,1]T,e2=Ae2=[1,2]T

\qquad 在这里插入图片描述

图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

3. 奇异值分解(Singular Value Decomposition,SVD)

\qquad 奇异值分解 SVD \text{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

3.1 SVD的实质

\qquad 理解 SVD \text{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:RnRm,实际上是由 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:RrRr
 
图片取自于《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 RnRm 线性变换的过程,只能说明实际的 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,其 SVD \text{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:RrRr,也就是:

{ A v 1 = σ 1 u 1 A v 2 = σ 2 u 2 A v r = σ r u r ⟹ A m × n [   v 1 ⋯ v r   ] n × r = [   u 1 ⋯ u r   ] m × r [ σ 1 ⋱ σ r ] r × 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_{m\times n}\left[\begin{matrix} & &\\ \ \boldsymbol v_1 &\cdots &\boldsymbol v_r\ \\ & & \end{matrix}\right]_{n\times r}=\left[\begin{matrix} & &\\ \ \boldsymbol u_1 &\cdots &\boldsymbol u_r\ \\ & & \end{matrix}\right]_{m\times r}\left[\begin{matrix} \sigma_1 & & \\ & \ddots & \\ & & \sigma_r \end{matrix}\right]_{r\times r} Av1=σ1u1Av2=σ2u2Avr=σrurAm×n  v1vr  n×r=  u1ur  m×r σ1σr r×r

\qquad 奇异向量 (singular vector)  v 1 , ⋯   , v r \text{(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 与实对称矩阵的 EVD \text{EVD} EVD 不同:
( 1 ) (1) (1) 奇异向量 v i ∈ R n \boldsymbol v_i\in R^n viRn 经过矩阵 A m × n A_{m\times n} Am×n 变换为 A v i ∈ R m A\boldsymbol v_i\in R^m AviRm 之后 不一定满足方向不变
( 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,其 SVD \text{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

3.2 SVD的奇异向量(Singular vector)

\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) 来完成 SVD \text{SVD} SVD 显然不足以描述线性变换 A m × n : R n ⟶ R m A_{m\times n}:R^n\longrightarrow R^m Am×n:RnRm 的完整过程,还必须完成以下内容:

  • 使用正交矩阵 V n × n V_{n\times n} Vn×n 中的所有列向量 { v i } i = 1 n \{\boldsymbol v_i\}_{i=1}^n {vi}i=1n 构建 R n R^n Rn 空间

( 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 RrRn,并不足以构成整个 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 nr { 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 nr { 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\ \boldsymbol v_i\in N(A)\sub R^n Avi=0Rm,  viN(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 作为线性变换”应有的作用,可以认为是“冗余的”

  • 使用正交矩阵 U m × m U_{m\times m} Um×m 中的所有列向量 { u i } i = 1 m \{\boldsymbol u_i\}_{i=1}^m {ui}i=1m 构建 R m R^m Rm 空间

( 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 RrRm,并不足以构成整个 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 mr { 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 mr { 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\ \boldsymbol u_i\in N(A^T)\sub R^m ATui=0Rn,  uiN(AT)Rm,矩阵 A T A^T AT R m R^m Rm 中的一些向量 u i ∈ N ( A T ) \boldsymbol u_i\in N(A^T) uiN(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 RnRm 的线性变换过程才得以完整体现。此时,完整的奇异值分解就表示为 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] σ1000σr0000000000 v1TvrT——vr+1TvnT =UrΣrVrT [ u1  ur] σ1σr v1TvrT +[ur+1  um] 0 vr+1TvnT

\qquad

3.3 SVD奇异向量与EVD的关系

\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], viRn实对称矩阵 A T A A^TA ATA特征分解 EVD \text{EVD} EVD 的特征向量集,且实对称矩阵 A T A A^TA ATA 的特征值都是非负的矩阵 A m × n A_{m\times n} Am×n 进行 SVD \text{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], viRn 就是 SVD \text{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=VDATAvi=λ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}, viRn,经过矩阵 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}, AviRm 后,仍然是正交的

\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=Avi2=λi0,i=j,i=j

\qquad 这就说明实对称矩阵 A T A A^TA ATA 的特征值 λ i \lambda_i λi 都是非负的

\qquad 又因为,在 SVD \text{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=λi 1Avi=σi1Avi,i{1,,r}

\qquad 这就说明矩阵 A m × n A_{m\times n} Am×n 进行 SVD \text{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], uiRm 是实现实对称矩阵 A A T AA^T AAT特征分解 EVD \text{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=λi 1Avi=σ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\} λi0, i{1,,r}
\qquad
\qquad
【注】:关于向量空间的基本概念,请参考《向量空间基础知识

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值