奇异值分解

为方便讨论所有矩阵都考虑在实数域范围内(复数域的情况可以做相应的替换,如:ATAHA^T\rightarrow A^H,正交矩阵(Orthogonal Matrix) \rightarrow 酉矩阵(Unitary Matrix))

引理:

  1. m×nm\times n 矩阵 AA 秩为 rr ,则 AATAA^TATAA^TA 的所有非零特征值完全相同且非零特征值的个数均为 rr

    rank(A)=rank(AAT)=rank(ATA)=rrank(A)=rank(AA^T)=rank(A^TA)=r

  2. m×nm\times n 矩阵 AAn×mn\times m 矩阵 BB ,则 ABABBABA 具有相同的非零特征值,且非零特征值的代数重数相同

现有一个 m×nm\times n 矩阵 AA ,假设它的秩 rank(A)=rmin(m,n)rank\left( A \right) =r\le min(m,n) ,则 AA 可分解为

Am×n=Um×mΣm×nVn×nTA_{m\times n}=U_{m\times m}\varSigma _{m\times n}V^T_{n\times n}

其中 U,VU,V 是正交矩阵(归一化后就是单位正交矩阵(Orthonormal Matrix))

Um×m=[u1u2urum]U_{m\times m}=\left[ \begin{matrix} u_1& u_2& \cdots& u_r& \cdots& u_m\\ \end{matrix} \right]

Σm×n=[σ10000σ20000σr00000]=[ΣrOOO]\varSigma _{m\times n}=\left[ \begin{matrix} \sigma _1& 0& \cdots& 0& \cdots& 0\\ 0& \sigma _2& \cdots& 0& \cdots& 0\\ \vdots& \vdots& \ddots& \vdots& \ddots& \vdots\\ 0& 0& \cdots& \sigma _r& \cdots& 0\\ \vdots& \vdots& \ddots& \vdots& \ddots& \vdots\\ 0& 0& \cdots& 0& \cdots& 0\\ \end{matrix} \right] =\left[ \begin{matrix} \varSigma _r& O\\ O& O\\ \end{matrix} \right]

Vn×nT=[v1Tv2TvrTvnT]V_{n\times n}^{T}=\left[ \begin{array}{c} v_1^T\\ v_2^T\\ \vdots\\ v_r^T\\ \vdots\\ v_n^T\\ \end{array} \right]

u,vu,v 均为列向量

  • uu 叫左奇异值向量(Left Singular vectors)是 AATAA^T​​​ 的单位特征向量

    u1u2ur\begin{matrix} u_1& u_2& \cdots& u_r\\ \end{matrix}C(A)C(A) 的一组标准正交基

    ur+1ur+2um\begin{matrix} u_{r+1}& u_{r+2}& \cdots& u_m\\ \end{matrix}N(AT)N(A^T) 的一组标准正交基

  • vv 叫右奇异值向量(Right Singular vectors)是 ATAA^TA​ 的单位特征向量

    v1v2vr\begin{matrix} v_1& v_2& \cdots& v_r\\ \end{matrix}C(AT)C(A^T)​ 的一组标准正交基

    vr+1vr+2vn\begin{matrix} v_{r+1}& v_{r+2}& \cdots& v_n\\ \end{matrix}N(A)N(A) 的一组标准正交基

σi\sigma_i 为奇异值(Singular Value)

m×nm\times n 矩阵 AAn<mn<m ,矩阵 ATAA^TA 的特征值满足 λ1λ2λr>0\lambda _1\ge \lambda _2\ge \cdot \cdot \cdot \ge \lambda _r>0λr+1=λr+2==λn=0\lambda _{r+1}=\lambda _{r+2}=\cdot \cdot \cdot =\lambda _n=0 ,称 σi=λi , i=1,,n\sigma _i=\sqrt{\lambda _i}\ ,\ i=1,\cdot \cdot \cdot ,n 为矩阵 AA奇异值。特别地,称 σi ,i=1,,r\sigma _i\ ,i=1,\cdot \cdot \cdot ,r 为矩阵 AA​​ 的正奇异值

证明:λi>0 ,i=1,,r\lambda_i>0\ , i=1,\cdot \cdot \cdot,r ,且奇异值 σi\sigma_iAviAv_i 的模长

λi,vi\lambda_i,v_i 是矩阵 ATAA^TA 的特征值和特征多项式,则

ATAvi=λivi ,i=1,2,,nA^TAv_i=\lambda _iv_i\ ,i=1,2,\cdot \cdot \cdot ,n

Avi2=(Avi)T(Avi)=viTATAvi=viTλivi=λiviTvi=λivi2\lVert Av_i \rVert ^2=\left( Av_i \right) ^T\left( Av_i \right) =v_i^TA^TAv_i =v_i^T\lambda _iv_i =\lambda _iv_{i}^{T}v_i =\lambda _i\lVert v_i \rVert ^2

又因为 viv_i 为单位向量,模长为1

Avi2=λi1=λi\lVert Av_i \rVert ^2=\lambda _i\cdot 1=\lambda _i

Avi=λi=σi\lVert Av_i \rVert=\sqrt{\lambda _i}=\sigma_i

得出奇异值 σi\sigma_iAviAv_i 的模长

又因为 Avi20\lVert Av_i \rVert ^2\ge0 所以 λi0\lambda _i\ge0

并且因为 rank(ATA)=rank(A)=rrank(A^TA)=rank(A)=r ,所以矩阵 ATAA^TA 的非零特征值有 r 个

奇异值分解步骤

  1. 比较 AATAA^TATAA^TA 阶数的大小,优先考虑计算阶数小的矩阵的特征值
  2. 假设 AATAA^T 阶数小,求解出m个特征值,确定对角阵 Σm×n\varSigma_{m\times n}
  3. 计算 AATAA^T 对应的m个特征向量 α1α2αrαm\begin{matrix} \alpha _1& \alpha _2& \cdots& \alpha _r& \cdots& \alpha _m\\ \end{matrix} (其中 α1αr\begin{matrix} \alpha _1& \cdots& \alpha _r\\ \end{matrix} 是属于 AATAA^T 的非零特征值的特征向量),将其标准化构成单位正交矩阵 UU
  4. 然后根据 A=UΣVTA=U\varSigma V^TVr=ATUrΣr1V_r=A^TU_r\varSigma_r^{-1} 计算出 VV 的前 r 列,再扩充为 RnR^n 的一组标准正交基,构成单位正交矩阵 VV

奇异值分解的应用

Am×n=Um×mΣm×nVn×nTA_{m\times n}=U_{m\times m}\varSigma _{m\times n}V^T_{n\times n}

A=[u1u2um][σ10000σ20000σr00000][v1Tv2TvnT]A=\left[ \begin{matrix} u_1& u_2& \cdots& u_m\\ \end{matrix} \right] \left[ \begin{matrix} \sigma _1& 0& \cdots& 0& \cdots& 0\\ 0& \sigma _2& \cdots& 0& \cdots& 0\\ \vdots& \vdots& \ddots& \vdots& \ddots& \vdots\\ 0& 0& \cdots& \sigma _r& \cdots& 0\\ \vdots& \vdots& \ddots& \vdots& \ddots& \vdots\\ 0& 0& \cdots& 0& \cdots& 0\\ \end{matrix} \right] \left[ \begin{array}{c} v_1^T\\ v_2^T\\ \vdots\\ v_n^T\\ \end{array} \right]

A=σ1u1v1T+σ2u2v2T++σrurvrT=Σri=1σiuiviA=\sigma _1u_1v_{1}^{T}+\sigma _2u_2v_{2}^{T}+\cdot \cdot \cdot +\sigma _ru_rv_{r}^{T}=\underset{i=1}{\overset{r}{\varSigma}}\sigma _iu_iv_i

假设 σ1σ2σr>0\sigma _1\ge \sigma _2\ge \cdot \cdot \cdot \ge \sigma _r>0

假如只有前两个 σ\sigma 很大,剩余的非常小且接近于0,则剩余的项都可忽略,从而达到压缩的目的

Aσ1u1v1T+σ2u2v2TA\approx \sigma _1u_1v_{1}^{T}+\sigma _2u_2v_{2}^{T}

References

  1. 【公开课】台湾清华大学 - 线性代数(10120趙啟超教授:線性代數)_哔哩哔哩_bilibili

  2. Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Cambridge: CUP.

  3. 王磊编著.矩阵基本理论与应用.北京航空航天大学出版社.2021