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

1. 矩阵的对角化(Diagonalization)

\qquad 假设 A n × n A_{n\times 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 ,能够定义特征向量矩阵 S = [ x 1 , x 2 , , x n ] S=[x_1,x_2,\cdots,x_n] ,那么矩阵 A A 能够被对角化 ( d i a g o n a l i z e d ) (diagonalized) 为一个对角阵 Λ \Lambda (对角线元素为特征值):html

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]   或者   A = S Λ S 1 A=S\Lambda S^{-1} web

\qquad 为了完成矩阵 A A 的对角化,其特征向量矩阵 S S 必须可逆(要求 n n 个线性无关的特征向量,或者没有重复的特征值)。app

\qquad 上述对角化的过程其实是:ide

\qquad\qquad 由:  A x i = λ i x i ,   i = 1 , , n Ax_i=\lambda_ix_i,\ i=1,\cdots,n svg

\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] lua

\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 spa

\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}
\qquad .net

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

2.1 实对称矩阵的对角化

\qquad 假设 A n × n A_{n\times n} 实对称 ( r e a l   s y m m e t r i c ) \textbf(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. \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 3d

   \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 code

   \qquad\qquad\qquad\qquad\qquad\ \ \Longrightarrow   S 1 = S T S^{-1}=S^T S T S = I S^TS=\bold 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 正交矩阵 ( o r t h o g o n a l   m a t r i x ) (orthogonal\ matrix) ,具备特殊的性质: S S 中任意一个特征向量 x i x_i 与其余特征向量 x j ,   ( j i ) x_j,\ (j\neq 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.

\qquad 为了区别于通常矩阵的对角化,记实对称矩阵正交矩阵(特征向量矩阵)为 V V 、特征值对角阵 D D ,那么实对称矩阵 A A 能够对角化为:

A = V D V 1 = V D V T \qquad\qquad\qquad A=VDV^{-1}=VDV^T , 其中 V T V = I V^TV=\bold I V 1 = V T V^{-1}=V^T
\qquad

2.2 正交矩阵的几何意义

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

  • 将实对称矩阵 A A 当作 R n R^n R n R^n 线性变换

A : R n R n \qquad\qquad A:R^n\longrightarrow R^n
    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

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

\qquad A A 的对角化写为 A V = V D AV=VD ,也就是 A v i = λ i v i Av_i=\lambda_iv_i ,   v i R n ,\ v_i\in R^n ,那么:
( 1 ) \qquad(1) 向量 v i R n v_i\in R^n 通过矩阵 A A 变换以后仍在 R n R^n ( 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)
( 2 ) \qquad(2) 向量 v i v_i 的方向没变,只是向量的长度以 λ i \lambda_i 的比率进行了缩放
\qquad
\qquad 所以,若是采用正交矩阵 V V 中的特征向量 { v 1 , v 2 , , v n } , v i R n \{v_1,v_2,\cdots,v_n\},v_i\in R^n 同时做为构建变换前的 R n R^n 和变换后的 R n R^n 基向量,那么变换先后的 R n R^n 仅仅在尺度上发生了改变(如图 1 1 和图 3 3 所示)。

\qquad
例1  实对称矩阵 A = [ 3 0 0 1 ] A=\left[\begin{matrix}3&0\\0&1\end{matrix}\right] ,对应了 R 2 R^2 中的线性变换: [ 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

\qquad    特征向量为 v 1 = [ 1 0 ] \boldsymbol v_1=\left[\begin{matrix}1\\0\end{matrix}\right] v 2 = [ 0 1 ] \boldsymbol v_2=\left[\begin{matrix}0\\1\end{matrix}\right] ,特征向量矩阵 V = [ 1 0 0 1 ] V=\left[\begin{matrix}1&0\\0&1\end{matrix}\right]

\qquad    特征值为 λ 1 = 3 ,   λ 2 = 1 \lambda_1=3,\ \lambda_2=1 ,特征值对角阵 D = [ 3 0 0 1 ] D=\left[\begin{matrix}3&0\\0&1\end{matrix}\right]
\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
A v i = λ i v i Av_i=\lambda_iv_i ,特征向量 v i \boldsymbol v_i 通过线性变换以后,在新的 R 2 R^2 中方向不会改变,只是改变了长度。
所以,对于“标准坐标轴方向”的单位向量 e 1 \boldsymbol e_1 e 2 \boldsymbol e_2 而言,在新的 R 2 R^2 方向仍保持不变
( 1 )   e 1 (1)\ \boldsymbol e_1 方向上的尺度放大了 λ 1 = 3 \lambda_1=3
( 2 )   e 2 (2)\ \boldsymbol e_2 方向上的尺度放大了 λ 2 = 1 \lambda_2=1 倍(尺度没变)

例2  实对称矩阵 A = [ 2 1 1 2 ] A=\left[\begin{matrix}2&1\\1&2\end{matrix}\right] ,对应了 R 2 R^2 中的线性变换: [ 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]

\qquad    特征向量为 v 1 = 1 2 [ 2 2 ] \boldsymbol v_1=\frac{1}{2}\left[\begin{matrix}\sqrt{2}\\\sqrt{2}\end{matrix}\right] v 2 = 1 2 [ 2 2 ] \boldsymbol v_2=\frac{1}{2}\left[\begin{matrix}-\sqrt{2}\\\sqrt{2}\end{matrix}\right] ,特征向量矩阵 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]

\qquad    特征值为 λ 1 = 3 ,   λ 2 = 1 \lambda_1=3,\ \lambda_2=1 ,特征值对角阵 D = [ 3 0 0 1 ] D=\left[\begin{matrix}3&0\\0&1\end{matrix}\right]
\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
“标准坐标轴方向”的单位向量 e 1 \boldsymbol e_1 e 2 \boldsymbol e_2 通过线性变换以后,在新的 R 2 R^2 中为: 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
也就是会改变大小和方向 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

\qquad 在这里插入图片描述

图3 A v i = λ i v i Av_i=\lambda_iv_i ,特征向量 v i \boldsymbol v_i 通过线性变换以后,在新的 R 2 R^2 中方向不会改变,只是改变了长度:
( 1 )   v 1 = 1 2 [ 2 , 2 ] T (1)\ \boldsymbol v_1=\frac{1}{2}[\sqrt{2},\sqrt{2}]^T 方向上的尺度放大了 λ 1 = 3 \lambda_1=3
( 2 )   v 2 = 1 2 [ 2 , 2 ] T (2)\ \boldsymbol v_2=\frac{1}{2}[-\sqrt{2},\sqrt{2}]^T 方向上的尺度放大了 λ 2 = 1 \lambda_2=1 倍(尺度没变)
 
也就是说,若是采用特征向量 v 1 \boldsymbol v_1 v 2 \boldsymbol v_2 做为基向量来构造 R 2 R^2 ,那么变换先后的 R 2 R^2 仅仅是尺度发生了改变

\qquad

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

\qquad 奇异值分解 S V D SVD 能够实现对通常矩阵 A m × n A_{m\times n} (非方阵)的对角化:

A = U Σ V T \qquad\qquad A=U\Sigma V^T  或者  A V = U Σ AV=U\Sigma

\qquad\qquad 其中, U m × m U_{m\times m} V n × n V_{n\times n} 都是正交矩阵
\qquad\qquad     Σ m × n \Sigma_{m\times n} 对角阵 ( Σ i i = σ i ) (\Sigma_{ii}=\sigma_i)

\qquad

3.1 SVD的实质

\qquad 理解 S V D SVD 的本质,还得从线性变换的角度去看待,如图 4 4 所示:
在这里插入图片描述

图4 在《向量空间基础》一文中已经说明:
1 ) 1) 对于一个秩为 r r 的矩阵 A m × n A_{m\times n} ,其中必然包含着一个 r × r r\times r 可逆方阵 A ^ r × r \hat A_{r\times r}
2 ) 2) 线性变换 A m × n : R n R m A_{m\times n}:R^n\rightarrow R^m ,其实是由 A m × n : C ( A T ) C ( A ) A_{m\times n}:C(A^T)\rightarrow C(A) 完成(图中的 A x r = b A\boldsymbol x_r=\boldsymbol b
3 ) 3) 去掉空间 N ( A ) N(A) N ( A T ) N(A^T) ,线性变换 A m × n : C ( A T ) C ( A ) A_{m\times n}:C(A^T)\rightarrow C(A) 其实是指 r r 维子空间上的 A ^ r × r : R r R r \hat A_{r\times r}:R^r\rightarrow R^r
 
图片取自于《Introduction to Linear Algebra(Gilbert Strang)》Fig 4.3

\qquad 从线性变换的角度来看:矩阵 A m × n A_{m\times n} R n R^n 中的向量变换为 R m R^m 中的向量。
\qquad 然而,仅仅使用真实大小的可逆矩阵 A r × r A_{r\times r} 来表示矩阵 A m × n A_{m\times n} 的对角化,没法完整说明矩阵 A m × n A_{m\times n} 做为 R n R m R^n\longrightarrow R^m 线性变换的过程,只能说明实际的 C ( A T ) C ( A ) C(A^T)\longrightarrow C(A) 变换过程(图 4 4 中的 A x r = b A\boldsymbol x_r=\boldsymbol b ),而 C ( A ) C(A) C ( A T ) C(A^T) 空间的实际维度都为 r r —— 都只有 r r 个线性无关的基向量。

\qquad
\qquad 所以,对于一个秩为 r r 的矩阵 A m × n A_{m\times n} ,其 S V D SVD 对角化本质上是指 r r 维子空间上的可逆方阵 A ^ r × r \hat A_{r\times r} 所对应的线性变换 A ^ r × r : R r R r \hat A_{r\times r}:R^r\rightarrow R^r ,也就是:

{ 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]

\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 都在 A A 行空间 C ( A T ) C(A^T) 中,而 u 1 , , u r \boldsymbol u_1,\cdots,\boldsymbol u_r 都在 A A 列空间 C ( A ) C(A) 中。并且,奇异值 σ 1 , , σ r \sigma_1,\cdots,\sigma_r 都是正数(见 3.3 3.3 节 结论 1 1 )。

\qquad 所以,矩阵 A m × n A_{m\times 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

\qquad
例3  假设 r = 2 , m = n = r r=2,m=n=r ,奇异值分解的过程如图 5 5 所示:
\qquad 在这里插入图片描述

图5 与实对称矩阵的 E V D EVD 不一样:
( 1 ) (1) 奇异向量 v i R n \boldsymbol v_i\in R^n 通过矩阵 A m × n A_{m\times n} 变换为 A v i R m A\boldsymbol v_i\in R^m 以后 不必定知足方向不变
( 2 ) (2) 将矩阵 A m × n A_{m\times n} 变换后的向量 A v 1 A\boldsymbol v_1 A v 2 A\boldsymbol v_2 单位化,就是 R m R^m 中的向量 u 1 \boldsymbol u_1 u 2 \boldsymbol u_2
  且知足 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 (奇异值为长度)
( 3 ) (3) 正交的奇异向量 v 1 \boldsymbol v_1 v 2 \boldsymbol v_2 ,通过矩阵 A m × n A_{m\times n} 变换为 A v 1 A\boldsymbol v_1 A v 2 A\boldsymbol v_2 仍保持正交性,即:向量 u 1 \boldsymbol u_1 u 2 \boldsymbol u_2 也正交
 
【注】:本例中因为 m = n = r = 2 m=n=r=2 ,所以两个零空间 N ( A ) = { 0 } N(A)=\{\boldsymbol 0\} N ( A T ) = { 0 } N(A^T)=\{\boldsymbol 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 过程描述

\qquad 6 ( a ) ( b ) 6(a)(b) 表示源空间,图 6 ( c ) 6(c) 表示目标空间,矩阵 A 3 × 3 A_{3\times 3} 的秩为 r = 2 r=2 ,其 S V D SVD 过程为:

( 1 ) \qquad(1) 6 ( a ) 6(a) 中, R 3 R^3 空间 v 3 \boldsymbol v_3 轴上的全部向量通过 A 3 × 3 A_{3\times 3} 变换后为 0 \boldsymbol 0 ,即零空间 N ( A ) = { k v 3 } N(A)=\{k\boldsymbol v_3\}

( 2 ) \qquad(2) 在图 6 ( a ) 6(a) R 3 R^3 空间中去掉零空间 N ( A ) = { k v 3 } N(A)=\{k\boldsymbol v_3\} ,就变成了图 6 ( b ) 6(b) 中的实际维度为 2 2 行空间 C ( A T ) C(A^T) ,即图 6 ( b ) 6(b) 阴影区域所在平面

( 3 ) \qquad(3) 从图 6 ( b ) 6(b) 行空间 C ( A T ) C(A^T) 中选择出正交的奇异向量 v 1 , v 2 \boldsymbol v_1,\boldsymbol v_2 ,通过 A A 变换后就变成了图 6 ( c ) 6(c) 中的向量 A v 1 = σ 1 u 1 A\boldsymbol v_1=\sigma_1\boldsymbol u_1 A v 2 = σ 2 u 2 A\boldsymbol v_2=\sigma_2\boldsymbol u_2 ,向量 u 1 , u 2 \boldsymbol u_1,\boldsymbol u_2 仍保持正交性,以 u 1 , u 2 \boldsymbol u_1,\boldsymbol u_2 为基向量就构建出了实际维度为 2 2 列空间 C ( A ) C(A) ,即图 6 ( c ) 6(c) 阴影区域所在平面

( 4 ) \qquad(4) 奇异值分解 A = U Σ V T = U r Σ r V r T A=U\Sigma V^T=U_r\Sigma_r V_r^T 其实是指 A ^ 2 × 2 : C ( A T ) C ( A ) \hat A_{2\times 2}:C(A^T)\rightarrow 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 做为基向量构建行空间 C ( A T ) C(A^T) 、以及用 u 1 , , u r \boldsymbol u_1,\cdots,\boldsymbol u_r 做为基向量构建列空间 C ( A ) C(A) 来完成 S V D SVD 显然不足以描述线性变换 A m × n : R n R m A_{m\times n}:R^n\longrightarrow R^m 的完整过程,还必须完成如下内容:

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

( 1 ) \qquad(1) 因为 r r 个线性无关的 v 1 , , v r \boldsymbol v_1,\cdots,\boldsymbol v_r 都在 A A 行空间 C ( A T ) C(A^T) 中,实际上只是构成了 R n R^n 中的子空间 R r R n R^r\subseteq R^n ,并不足以构成整个 R n R^n

( 2 ) \qquad(2) 因为行空间 C ( A T ) C(A^T) R n R^n 中的正交补空间零空间 N ( A ) N(A) ,为了构建整个 R n R^n ,还必须补充构成 N ( A ) N(A) n r n-r { v i } i = r + 1 n \{\boldsymbol v_i\}_{i=r+1}^n 基向量,也就是要使用到 V n × n V_{n\times n} 的所有列向量 { v i } i = 1 n \{\boldsymbol v_i\}_{i=1}^n

零空间 N ( A ) N(A) 中的 n r n-r { v i } i = r + 1 n \{\boldsymbol v_i\}_{i=r+1}^n 基向量,均与行空间 C ( A T ) C(A^T) 中的 v 1 , , v r \boldsymbol v_1,\cdots,\boldsymbol v_r 正交
 
因为 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 ,矩阵 A A N ( A ) N(A) 中的向量变换为了 R m R^m 的原点
也就是说, N ( A ) N(A) 中的向量没能真正体现出“矩阵 A A 做为线性变换”应有的做用,能够认为是“冗余的”

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

( 1 ) \qquad(1) 因为 r r 个线性无关的 u 1 , , u r \boldsymbol u_1,\cdots,\boldsymbol u_r 都在 A A 列空间 C ( A ) C(A) 中,实际上只是构成了 R m R^m 中的子空间 R r R m R^r\subseteq R^m ,并不足以构成整个 R m R^m

( 2 ) \qquad(2) 因为列空间 C ( A ) C(A) R m R^m 中的正交补空间左零空间 N ( A T ) N(A^T) ,为了构建整个 R m R^m ,还必须补充构成 N ( A T ) N(A^T) m r m-r { u i } i = r + 1 m \{\boldsymbol u_i\}_{i=r+1}^m 基向量,也就是要使用到 U m × m U_{m\times m} 的所有列向量 { u i } i = 1 m \{\boldsymbol u_i\}_{i=1}^m

左零空间 N ( A T ) N(A^T) 中的 m r m-r { u i } i = r + 1 m \{\boldsymbol u_i\}_{i=r+1}^m 基向量,均与行空间 C ( A ) C(A) 中的 u 1 , , u r \boldsymbol u_1,\cdots,\boldsymbol u_r 正交
 
因为 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 ,矩阵 A T A^T R m R^m 中的一些向量 u i N ( A T ) \boldsymbol u_i\in N(A^T) 变换为了 R n R^n 的原点
所以, N ( A T ) R m N(A^T)\sub R^m 中的这些向量对于变换 A T A^T 而言也是“冗余的”

\qquad
\qquad 使用全部 { u i } i = 1 m \{\boldsymbol u_i\}_{i=1}^m { v i } i = 1 n \{\boldsymbol v_i\}_{i=1}^n 构建了完整的 R m R^m R n R^n 以后, 矩阵 A m × n A_{m\times n} 做为 R n R m R^n\longrightarrow R^m 的线性变换过程才得以完总体现。此时,完整的奇异值分解就表示为 A V = U Σ AV=U\Sigma ,也就是:
\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}}

\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 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}

\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 实对称矩阵 A T A A^TA 特征分解 E V D EVD 的特征向量集,且实对称矩阵 A T A A^TA 的特征值都是非负的矩阵 A m × n A_{m\times n} 进行 S V D SVD 后的奇异值都是非负的

A T A = V D V T \qquad\qquad A^TA=VDV^T
\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 就是 S V D SVD 右奇异向量矩阵
\qquad\qquad    对角阵 D n × n D_{n\times n} 的对角线元素 λ i \lambda_i A T A A^TA 特征值,假设特征值在对角线上以降序排列

\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

\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}

\qquad 这就说明,正交矩阵 V n × n V_{n\times n} 中正交的列向量 { v 1 , , v n } ,   v i R n \{\boldsymbol v_1,\cdots,\boldsymbol v_n\},\ \boldsymbol v_i\in R^n ,通过矩阵 A m × n A_{m\times n} 变换为 R m R^m 中的 { 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 后,仍然是正交的

\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.

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

\qquad 又由于,在 S V D 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\} ,所以:

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\}

\qquad 这就说明矩阵 A m × n A_{m\times n} 进行 S V D SVD 后的奇异值 σ i = λ i 0 \sigma_i=\sqrt{\lambda_i}\ge0 ,都是非负的

\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 是实现实对称矩阵 A A T AA^T 特征分解 E V D EVD 的特征向量集,并且具备与实对称矩阵 A T A A^TA 相同的非零特征值。

\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\}

\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\}

\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}

\qquad 也就是 A A T U = U D AA^TU=UD 或者 A A T = U D U T AA^T=UDU^T

\qquad 这就说明,实对称矩阵 A A T AA^T 具备与实对称矩阵 A T A A^TA 相同的非负特征值 λ i 0 ,   i { 1 , , r } \lambda_i\ge0,\ i\in\{1,\cdots,r\}
\qquad
\qquad
【注】:关于向量空间的基本概念,请参考《向量空间基础知识