知识回顾
假设有 m×n 阶实矩阵 A,
rank(A)=r≤max{m,n}则
ATA=VTσ_120⋮00σ_22⋮0⋯⋯⋱⋮00⋮σn2VAAT=UTσ_120⋮00σ_22⋮0⋯⋯⋱⋮00⋮σm2U其中, 不妨假设
σ_1≥σ_2≥⋯σr>0并且,
σ_r+1=⋯=σk=0其中, k=max{m,n}
另外, 实矩阵 A 还满足:
⎩⎨⎧Av_i=σ_iu_i,Av_i=0,ATu_j=σ_jv_j,ATuj=0,i=1,⋯,ri=r+1,⋯,nj=1,⋯,rj=r+1,⋯,m- {v_1,⋯,v_r} 是行空间 C(AT) 的正交基底;
- {v_r+1,⋯,v_n} 是零空间 N(A) 的正交基底;
- {u_1,⋯ur} 是列空间 C(A) 的正交基底;
- {u_r+1,⋯um} 是左零空间 N(AT) 的正交基底.
接下来的任务是证明:
A=UΣVT其中, U 和 V 分别是 m 阶和 n 阶的正交矩阵, Σ 是 m×n 阶的对角矩阵.
正交基底证明
首先, Σ 是 m×n 阶的对角矩阵?
问题来了: 对角矩阵不是方阵吗?
Σ=σ1⋱Zm−r,rσrZr,n−rZm−r,n−r其中, Z 表示零矩阵(Zero matrix).
利用分块矩阵:
AV=A[v_1,⋯,v_r,v_r+1,⋯,v_n]=[Av_1,⋯,Av_r,Av_r+1,⋯,Av_n]=[σ_1u_1,⋯,σ_ru_r,0,⋯,0]=[u_1,⋯,u_m]σ_1⋱Z_m−r,rσ_rZr,n−rZm−r,n−r=UΣ因为 V 是正交矩阵, 所以
A=UΣV−1=UΣVT验证
ATA=(UΣVT)TUΣVT=VΣT(UTU)ΣVT=V(ΣTΣ)VTAAT=UΣVT(UΣVT)T=UΣ(VTV)ΣTUT=U(ΣTΣ)UT与上述结果一致.
化简
通常把 U 写成列向量的形式, 把 V 写成行向量的形式, 即
A=[u_1,⋯,u_r,u_r+1,⋯,u_m]σ_1⋱Z_m−r,rσ_rZ_r,n−rZ_m−r,n−rv_1T⋮v_rTv_r+1T⋮v_nT分块运算得:
A=[u1,⋯,ur]σ10⋮00σ2⋮0⋯⋯⋱⋮00⋮σrv1T⋮vrT也就是说: 任意秩为 r 的矩阵 A 都可以写成 r 个秩一矩阵的和
A=u1σ1v1T+⋯urσrvrT
SVD复盘
上面所能进行下去的关键在于:
Avi=σiui,i=1,⋯,r矩阵(变换) A 将行空间 C(AT) 的正交基底映至列空间 C(A) 的正交基底, σi 称为..奇异值..
不是所有矩阵都可以对角化, 但所有矩阵都可以进行奇异值分解
几何意义
这个 知乎回答 给出了如下解释, 我也比较满意

应用
We Recommend a Singular Value Decomposition Austin) 中介绍了如下几个应用:
- Data compression(数据压缩)
- Noise reduction (去噪)
- Data analysis(数据分析)
数据分析中, 我们知道的主成分分析(PCA)的数学原理即为奇异值分解(SVD).
以上所有部分就是奇异值分解(singular value decomposition), 简称 SVD. 实际上, 之前做的几篇都是为这一篇做准备:
- 秩-零化度定理(Rank-Nullity Theorem)
- 矩阵的四个基本空间, 不了解下吗?
- 矩阵的四个基本空间的基底
- Gram 矩阵
- 正交矩阵之旋转与镜射
- 奇异值分解初步
接下来, 奇异值分解专题并没有结束, 我将以我的思考阐述 SVD 的几何意义以及一些实际应用.
更多..奇异值分解..的内容可以戳 这里