奇異值分解(SVD)在機器學習、圖像壓縮中應用很多,使用它能夠節省很多存儲空間。這裏主要從數學原理上闡述SVD的證明。
奇異值分解定義
對任意矩陣A∈Rm×n,存在正交矩陣U∈Rm×m,V∈Rn×n及除了主對角線上的元素以外全爲0的矩陣Σ∈Rm×n,使得A=UΣVT,其中Σ的主對角元上的元素滿足σ11≥σ22≥...≥σkk,k=min(m,n).
其中稱σi=λi,i=1,2,...,r爲A的奇異值,r爲A的秩且λ1,λ2,...,λr爲ATA的非零特徵值。
數學證明
因爲ATA爲實對稱矩陣,所以存在正交矩陣V使得VTATAV=diag(λ1,...,λn),其中λ1,...,λn爲ATA的特徵值。
因爲ATAvi=λivi,viTATAvi=λiviTvi=λi,所以λi=(Avi)TAvi≥0則不妨設λ1≥...≥λn≥0.
設V=(v1,...,vn),且vi(i=1,...,n)爲ATA的屬於λi的特徵向量以及Rn的一組標準正交基,設r=rank(A),有(Avi,Avj)=viTATAvj=viTλjvj={λi=0,0,if i=jif i=j (i,j=1,...,r)
其中,λi=∣Avi∣,(i=1,...,r),且Av1,...,Avr也爲正交基,
令ui=∣Avi∣Avi,i=1,...,r再將u1,...,ur擴充成Rm的一組標準正交基u1,...,ur,...,um.令U=(u1,...,um), 有AV=A(v1,...,vn)=(Av1,...,Avr,0,...,0)=(λ1u1,...,λrur,0,...,0)=(u1,...,um)diag(λ1,...,λr,0,...,0)所以A=UΣVT且λ1≥...≥λr.