奇異值分解推導及相關知識補充

相關數學知識補充

矩陣的秩

定義
矩陣A中不爲零的子式的最高階數,稱爲矩陣A的秩,記作r(A)。零矩陣的秩爲0。
性質

  1. 秩是一個正整數或0。
  2. 秩等於或小於矩陣的行數和列數。秩等於或小於矩陣的行數和列數。
  3. 當n×n矩陣A的秩等於n時,則稱A是非奇異矩陣,或稱A滿秩。
  4. 若r(Am×n)<min{m,n},則稱A是秩虧缺的。
  5. 若r(Am×n)=m(<n),則稱矩陣A具有滿行秩。
  6. 若r(Am×n)=n(<m),則稱矩陣A具有滿列秩。
  7. 任何矩陣A左乘滿列秩矩陣或者右乘滿行秩矩陣後,矩陣A的秩保持不變。

意義
「秩」是矩陣中所有行向量中極大線性代無關組的元素個數。
「秩」是圖像經過矩陣變換之後的空間維度。

正交矩陣(orthogonal matrix)

定義
如果AAT = E或ATA = E,則n階實矩陣A稱爲正交矩陣。
性質
若A是正交矩陣,則滿足:

  1. AT,A-1與A*也是正交矩陣(其中 A* 是 A的共軛轉置。);
  2. A的各行各列是單位向量且兩兩正交;
  3. (Ax,Ay)=(x,y) 其中x,y∈R;
  4. AT = A-1
  5. 正交矩陣相似於對角矩陣。

SVD推導的相關引理

引理1

內容:假設A ϵ\epsilon Rm×n^{m\times n}, 則ATAAATA^T A與A A^T的特徵值 (eigenvalue)非負。
證明:
假設λ\lambda 爲AT A的特徵值,x是它對應的特徵向量,即
ATAx=λxA^T Ax=\lambda x
由於ATAA^T A是 對稱的,故 λ\lambda 是一個實數,因此我們有:
0(Ax,Ax)=(Ax)T(Ax)=xTATAx=xTλx=λxTx0\leqq(Ax, Ax)=(Ax)^T(Ax)=x^TA^TAx=x^T\lambda x=\lambda x^Tx
因爲xTx > 0,因此我們可以得到λ0\lambda \geqq 0
同理,我們可以知道AATA A^T的特徵值也是非負的。
 

引理2

內容:假設A ϵ\epsilon Rm×n^{m\times n}, 則我們有r(A) = r(ATA) = r(AAT)
證明:
要證明r(A) = r(ATA) = r(AAT),相當於證明Ax=0ATAx=0有相同的解。
 
Ax=0 \Rightarrow ATAx=0
ATAx=0 \Rightarrow xTATAx=0 \Rightarrow (Ax)TAx=0 \Rightarrow Ax=0
 
由此,可以得到Ax=0 \Leftrightarrow ATAx=0
Ax=0和ATAx=0有相同的解,故A與ATA核相等,所以秩相等可證。
 

引理3

內容:假設A ϵ\epsilon Rm×n^{m\times n}, ATA與AAT有相同的特徵值。
證明:
假設λ\lambda 爲AT A的特徵值,x是它對應的特徵向量,即
ATAx=λxA^T Ax=\lambda x

ATAx=λxAATAx=λAxAATy=λyA^T Ax=\lambda x \Rightarrow AA^T Ax=\lambda Ax \Rightarrow AA^T y=\lambda y
故可證得ATA與AAT有相同的λ\lambda

引理4

內容:如果兩個矩陣是彼此正交等價,那麼它們的奇異值相同。
證明:
假設A ,B ϵ\epsilon Rm×n^{m\times n}, 彼此正交等價,則存在正交矩陣U ϵ\epsilon Rm×m^{m\times m}, Vϵ\epsilon Rn×n^{n\times n}, s.t. A=UBV.
若A,B彼此正交相似,則存在正交矩陣P,使得 P-1BP=A
 
ATA = (UBV)TUBV = VTBTUTUBV = VTBTBV = V-1BTBV
 
故可得到 ATA 與BTB彼此正交相似,因此它們有相同的λ\lambda
奇異值σ\sigma = λ\sqrt \lambda, 故兩者的奇異值相同。
 

SVD推導

A = UΣ\SigmaVT
證明:
\because ATA爲對稱矩陣(證:(ATA)T=AT(AT)T=ATA)
(對稱矩陣性質:若A爲對稱矩陣,必存在正交矩陣,將其化爲對角矩陣,且對角矩陣的對角元素即爲特徵值)
\therefore ATA = Xλ\lambdaX-1
λ=(λ1λ2λn) 其中\lambda= \begin{pmatrix} \lambda_1 &amp; \\ &amp; \lambda_2&amp; \\ &amp; &amp; \ddots &amp; \\ &amp; &amp; &amp; \lambda_n \\ \end{pmatrix}
X-1ATAX = λ\lambda
 
用V來替換X, 得到 V-1ATAV = λ\lambda
 
\because矩陣V正交 \thereforeV-1=VT
故 VTATAX = λ\lambda = (Δ2000)\begin{pmatrix} \Delta^2&amp;0 \\0&amp;0\\ \end{pmatrix}
 
將V拆成V1和V2,其中V1 ϵ\epsilon Rn×r^{n\times r},V2 ϵ\epsilon Rn×nr^{n\times n-r}
 
(V1V2)\begin{pmatrix} V_1 \\V_2 \\ \end{pmatrix}(ATA)(V_1,V_2) = (V1TATAV2TATA)\begin{pmatrix} V_1^TA^TA\\V_2^TA^TA \\ \end{pmatrix}(V_1,V_2) = (V1TATAV1V1TATAV2V2TATAV1V2TATAV2)\begin{pmatrix} V_1^TA^TAV_1&amp;V_1^TA^TAV_2\\V_2^TA^TA V_1&amp;V_2^TA^TA V_2\\ \end{pmatrix}= (Δ2000)\begin{pmatrix} \Delta^2&amp;0 \\0&amp;0\\ \end{pmatrix}
 
\therefore V2TATAV1=0V_2^TA^TA V_1=0 \Rightarrow (AV2)TAV2=0 \RightarrowAV2=0
 
Δ2=V1TATAV1=(AV1)TAV1\Delta^2 = V_1^TA^TAV_1 = (AV_1)^TAV_1
 
設U1 ϵ\epsilon Rn×r^{n\times r} , U1 = AV1Δ\Delta-1
 
U1TU1=(Δ1)TV1TATAV1Δ1=Δ1Δ2Δ1=ErU_1 ^TU_1=(\Delta^{-1})^TV_1^TA^T AV_1 \Delta^{-1} = \Delta^{-1}\Delta^2\Delta^{-1} = E^r
這說明U1U_1各列爲兩兩正交的單位向量(自身與自身內積爲1)
 
同理,U也可以寫成U = (U1,U2)
 
UTAV = (U1TU2T)A(V1,V2)\begin{pmatrix} U_1^T\\U_2^T \\ \end{pmatrix}A(V_1,V_2) = (U1TAV1U1TAV2U2TAV1U2TAV2)\begin{pmatrix} U_1^TAV_1&amp;U_1^TAV_2\\U_2^TAV_1&amp;U_2^TAV_2 \\ \end{pmatrix} = (U1TUΔU1T(AV2)U2TUΔU2T(AV2))\begin{pmatrix} U_1^TU\Delta&amp;U_1^T(AV_2)\\U_2^TU\Delta&amp;U_2^T(AV_2) \\ \end{pmatrix} = (Δ000)\begin{pmatrix} \Delta&amp;0 \\0&amp;0\\ \end{pmatrix}
 
因此,可以得到:
A=UUTAVVT=U(Δ000)VTA = UU^TAVV^T = U\begin{pmatrix} \Delta&amp;0 \\0&amp;0\\ \end{pmatrix}V^T
故SVD得證。
 

參考資料

實對稱矩陣的特徵值和特徵向量

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章