SVD(Singular Value Decomposition, 奇異值分解)數學證明

奇異值分解(SVD)在機器學習、圖像壓縮中應用很多,使用它能夠節省很多存儲空間。這裏主要從數學原理上闡述SVD的證明。

奇異值分解定義

對任意矩陣ARm×nA \in R^{m\times n},存在正交矩陣URm×m,VRn×nU \in R^{m \times m}, V\in R^{n \times n}及除了主對角線上的元素以外全爲0的矩陣ΣRm×n\Sigma \in R^{m \times n},使得A=UΣVTA = U\Sigma V^{T},其中Σ\Sigma的主對角元上的元素滿足σ11σ22...σkk,k=min(m,n).\sigma_{11} \ge \sigma_{22} \ge...\ge \sigma_{kk}, k= min(m,n).
其中稱σi=λi,i=1,2,...,r\sigma_i = \sqrt{\lambda_i}, i=1,2,...,rAA奇異值rrAA的秩且λ1,λ2,...,λr\lambda_1,\lambda_2,...,\lambda_rATAA^{T}A的非零特徵值。

數學證明

因爲ATAA^{T}A爲實對稱矩陣,所以存在正交矩陣VV使得VTATAV=diag(λ1,...,λn),V^{T}A^{T}AV=diag(\lambda_1,...,\lambda_n),其中λ1,...,λn\lambda_1,...,\lambda_nATAA^{T}A的特徵值。
因爲ATAvi=λivi,A^{T}Av_i=\lambda_iv_i,viTATAvi=λiviTvi=λi,v_i^{T}A^{T}Av_i=\lambda_iv_i^{T}v_i=\lambda_i,所以λi=(Avi)TAvi0\lambda_i=(Av_i)^{T}Av_i\ge0則不妨設λ1...λn0.\lambda_1\ge...\ge\lambda_n\ge0.

V=(v1,...,vn)V=(v_1,...,v_n),vi(i=1,...,n)v_i(i=1,...,n)ATAA^{T}A的屬於λi\lambda_i的特徵向量以及RnR^{n}的一組標準正交基,設r=rank(A)r=rank(A),有(Avi,Avj)=viTATAvj=viTλjvj={λi0,if i=j0,if ij (i,j=1,...,r)(Av_i,Av_j)=v_i^{T}A^{T}Av_j=v_i^{T}\lambda_jv_j=\begin{cases} \lambda_i\neq0, & \text{if $i=j$} \\ 0, & \text{if $i\neq j$ } \end{cases}(i,j=1,...,r)
其中,λi=Avi,(i=1,...,r)\sqrt{\lambda_i}=|Av_i|,(i=1,...,r),且Av1,...,AvrAv_1,...,Av_r也爲正交基,
ui=AviAvi,i=1,...,ru_i=\frac{Av_i}{|Av_i|},i=1,...,r再將u1,...,uru_1,...,u_r擴充成RmR^{m}的一組標準正交基u1,...,ur,...,um.u_1,...,u_r,...,u_m.U=(u1,...,um)U=(u_1,...,u_m), 有AV=A(v1,...,vn)=(Av1,...,Avr,0,...,0)=(λ1u1,...,λrur,0,...,0)=(u1,...,um)diag(λ1,...,λr,0,...,0)AV=A(v_1,...,v_n)=(Av_1,...,Av_r,0,...,0)=(\sqrt{\lambda_1}u_1,...,\sqrt{\lambda_r}u_r,0,...,0)\\=(u_1,...,u_m)diag(\sqrt{\lambda_1},...,\sqrt{\lambda_r},0,...,0) 所以A=UΣVTA=U\Sigma V^{T}λ1...λr.\sqrt{\lambda_1}\ge...\ge\sqrt{\lambda_r}.

發佈了8 篇原創文章 · 獲贊 4 · 訪問量 860
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章