奇异值分解
注意:我们现在只讨论实矩阵的奇异值矩阵的分解。即给定矩阵 A∈Rm×n。
1. 奇异值
定理:ATA 的特征值都是实数且非负。
证明:设 ATA 的特征值 λ,对应的特征向量 vv≠00,有:
ATAvv=λvv||Avv||2=(Avv)T(Avv)=vvTATAvv=λvvTvv=λ||vv||2≥0可知||vv||2>0,因此 λ≥0。得证。
当将定义拓展到复数空间时,对称矩阵属于Hermite 矩阵(AH=A),Hermite 矩阵的特征值均为实数。
定义:令 λ1,λ2,…,λn 是 ATA 的特征值,且 λ1≥λ2≥…≥λn≥0,σi=√λi,我们称 σi 为矩阵 A 的奇异值。
定理:矩阵 A 的正奇异值的数量等于矩阵 A 的秩。
定理: 若矩阵 A 的秩为 r,那么 r(ATA)=r(AAT)=r。
定理:矩阵 ATA 与矩阵 AAT的特征值相同。
2. 奇异值分解
定理:给定任意矩阵 Am×n,总可以分解为以下的矩阵相乘形式:
A=UΣVT其中:Um×m,Σm×n,Vn×n,且
UUT=I,VVT=IΣ=(Σ′OOO)Σ′=diag{σ1,σ2,...,σr},σ1≥σ2≥...≥σr>0同时我们称 U 是 A 的左奇异向量,V 是 A 的右奇异向量。
详细证明过程可以参见《统计学习方法》(第二版)。
3. 性质
因为 A=UΣVT,AT=VΣTUT,所以:
AAT=UΣVTVΣTUT=U(ΣΣT)UTATA=VΣTUTUΣVT=V(ΣTΣ)VT由以上可得:
- 正交矩阵 V 是 ATA 的特征向量组成的矩阵
- 正交矩阵 U 是 AAT 的特征向量组成的矩阵
- 由 A=UΣVT,有:AV=UΣ,
uur+1,uur+2,…,uum 是矩阵 AT 零空间 N(AT) 的一组标准正交基。
- 由 A=UΣVT,有:UTA=ΣVT,进而:ATU=VΣT。
vvr+1,vvr+2,…,vvn 是矩阵 A 零空间 N(A) 的一组标准正交基。
4. 计算
计算如下矩阵的奇异值分解。
A=(120202)可知:
AT=(122002)为了计算方便,计算 AAT的特征值,即先求出 U,再计算 V。
AAT=(5228)|λI−A|=|λ−5−2−2λ−8|特征方程:
(λ−5)(λ−8)−4=(λ−4)(λ−9)=0可知两个特征值分别为 λ1=9,λ2=4,因此奇异值 σ1=√9=3,σ2=√4=2,所以
Σ=(300020)计算 λ1=9 对应的特征向量:
(4−2−21)xx=00解得:xx=(1,2)T。单位化后可得:uu1=(1/√5,2/√5)T
计算 λ2=4 对应的特征向量:
(−1−2−2−4)xx=00解得:xx=(2,−1)T。单位化后可得:uu2=(2/√5,−1/√5)T
因此:
U=(1√52√52√5−1√5)现在根据vvi=1σiATuui,i=1,2,…,r 计算 V。
ATU=(122002)(1√52√52√5−1√5)=(√502√54√54√5−2√5)可得:vv1=(√53,23√5,43√5)T,vv2=(0,2√5,−1√5)T
又vv3是N(A)的一组基,即:
A=(120202)(x1x2x3)=00解得 (−2,1,2)T。单位化可得 : vv3=(−2/3,1/3,2/3)。因此:
V=(√530−2323√52√51343√5−1√523)综上,A 的奇异值分解如下:
A=(1√52√52√5−1√5)(300020)(√530−2323√52√51343√5−1√523)T注意:V 是转置过的,计算时要注意一下。
也可以计算ATA的特征值与特征向量,得到矩阵 V,然后根据 uui=1σiAvvi,i=1,2,…,r 得到矩阵 U。