奇异值分解
为方便讨论所有矩阵都考虑在实数域范围内(复数域的情况可以做相应的替换,如:AT→AH,正交矩阵(Orthogonal Matrix) → 酉矩阵(Unitary Matrix))
引理:
-
设 m×n 矩阵 A 秩为 r ,则 AAT 与 ATA 的所有非零特征值完全相同且非零特征值的个数均为 r
rank(A)=rank(AAT)=rank(ATA)=r
-
设 m×n 矩阵 A 和 n×m 矩阵 B ,则 AB,BA 具有相同的非零特征值,且非零特征值的代数重数相同
现有一个 m×n 矩阵 A ,假设它的秩 rank(A)=r≤min(m,n) ,则 A 可分解为
Am×n=Um×mΣm×nVn×nT
其中 U,V 是正交矩阵(归一化后就是单位正交矩阵(Orthonormal Matrix))
Um×m=[u1u2⋯ur⋯um]
Σm×n=σ10⋮0⋮00σ2⋮0⋮0⋯⋯⋱⋯⋱⋯00⋮σr⋮0⋯⋯⋱⋯⋱⋯00⋮0⋮0=[ΣrOOO]
Vn×nT=v1Tv2T⋮vrT⋮vnT
u,v 均为列向量
-
u 叫左奇异值向量(Left Singular vectors)是 AAT 的单位特征向量
u1u2⋯ur 是 C(A) 的一组标准正交基
ur+1ur+2⋯um 是 N(AT) 的一组标准正交基
-
v 叫右奇异值向量(Right Singular vectors)是 ATA 的单位特征向量
v1v2⋯vr 是 C(AT) 的一组标准正交基
vr+1vr+2⋯vn 是 N(A) 的一组标准正交基
σi 为奇异值(Singular Value)
设 m×n 矩阵 A 且 n<m ,矩阵 ATA 的特征值满足 λ1≥λ2≥⋅⋅⋅≥λr>0 , λr+1=λr+2=⋅⋅⋅=λn=0 ,称 σi=λi , i=1,⋅⋅⋅,n 为矩阵 A 的奇异值。特别地,称 σi ,i=1,⋅⋅⋅,r 为矩阵 A 的正奇异值
证明:λi>0 ,i=1,⋅⋅⋅,r ,且奇异值 σi 为 Avi 的模长
λi,vi 是矩阵 ATA 的特征值和特征多项式,则
ATAvi=λivi ,i=1,2,⋅⋅⋅,n
∥Avi∥2=(Avi)T(Avi)=viTATAvi=viTλivi=λiviTvi=λi∥vi∥2
又因为 vi 为单位向量,模长为1
∥Avi∥2=λi⋅1=λi
∥Avi∥=λi=σi
得出奇异值 σi 为 Avi 的模长
又因为 ∥Avi∥2≥0 所以 λi≥0
并且因为 rank(ATA)=rank(A)=r ,所以矩阵 ATA 的非零特征值有 r 个
奇异值分解步骤
- 比较 AAT 与 ATA 阶数的大小,优先考虑计算阶数小的矩阵的特征值
- 假设 AAT 阶数小,求解出m个特征值,确定对角阵 Σm×n
- 计算 AAT 对应的m个特征向量 α1α2⋯αr⋯αm (其中 α1⋯αr 是属于 AAT 的非零特征值的特征向量),将其标准化构成单位正交矩阵 U
- 然后根据 A=UΣVT ,Vr=ATUrΣr−1 计算出 V 的前 r 列,再扩充为 Rn 的一组标准正交基,构成单位正交矩阵 V
奇异值分解的应用
Am×n=Um×mΣm×nVn×nT
A=[u1u2⋯um]σ10⋮0⋮00σ2⋮0⋮0⋯⋯⋱⋯⋱⋯00⋮σr⋮0⋯⋯⋱⋯⋱⋯00⋮0⋮0v1Tv2T⋮vnT
A=σ1u1v1T+σ2u2v2T+⋅⋅⋅+σrurvrT=i=1Σrσiuivi
假设 σ1≥σ2≥⋅⋅⋅≥σr>0
假如只有前两个 σ 很大,剩余的非常小且接近于0,则剩余的项都可忽略,从而达到压缩的目的
A≈σ1u1v1T+σ2u2v2T
References
-
【公开课】台湾清华大学 - 线性代数(10120趙啟超教授:線性代數)_哔哩哔哩_bilibili
-
Strang, G. (2023). Introduction to Linear Algebra (6th ed.). Cambridge: CUP.
-
王磊编著.矩阵基本理论与应用.北京航空航天大学出版社.2021