奇異值分解(SVD)推導(從條件推理+反向證明+與特徵分解的關係)

1. 前言

最近幾天一直在學習矩陣的知識,惡補了特徵分解和SVD算法,發現網上很多資料都是不全的,所以想記錄一下這裏面的特徵分解推導過程+奇異值分解(SVD)推導過程

要看懂下面的方法,可以提前看矩陣的一些基礎知識
https://blog.csdn.net/qq_30232405/article/details/104588293

特徵分解的具體推導過程可以參考:
https://blog.csdn.net/qq_30232405/article/details/104588455

2.矩陣分析

2.2 奇異值分解(SVD)

特徵分解因爲只能用在方陣中,所以需要一個能夠處理非方陣的特徵分解,而奇異值分解恰好能夠對非方陣進行處理。

2.2.1 SVD定理

Xn×pX_{n \times p}的秩爲rank(X)=rrank(X)=r,根據特徵分解公式,XTXX^{\mathrm{T}}X構成一個方陣,其特徵值從大到小排列爲[λ1,λ2,...,λr][\lambda_1, \lambda_2, ..., \lambda_r],記Λ12=diag(λ112,λ212,...,λr12)\Lambda^{\frac{1}{2}} = diag(\lambda_1^{\frac{1}{2}}, \lambda_2^{\frac{1}{2}}, ..., \lambda_r^{\frac{1}{2}})。則存在正交矩陣Pp×pP_{p \times p}Qn×nQ_{n \times n}使得X=QΛ12PTX=Q \Lambda^{\frac{1}{2}} P^{\mathrm{T}},其中PP的列向量組爲XTXX^\mathrm{T}Xpp個特徵值(λ1,λ2,...,λr,0,...,0)(\lambda_1, \lambda_2, ..., \lambda_r,0,...,0)對應的特徵向量組,QQ的列向量組爲與XXTXX^\mathrm{T}nn個特徵值(λ1,λ2,...,λr,0,...,0)(\lambda_1, \lambda_2, ..., \lambda_r,0,...,0)對應的特徵向量組。

2.2.2 從結論反推的證明過程

XTXX^\mathrm{T}X是一個方陣,且爲實對稱矩陣,令矩陣P=(α1,α2,...,αr,αr+1,...,αp)P=(\alpha_1, \alpha_2,...,\alpha_r,\alpha_{r+1},...,\alpha_p),則根據方陣的特徵分解公式,得到以下公式:

{XTXαi=λiαi    i=1,2,..,rXTXαi=0    i=r+1,..,p(2-11) \left\{ \begin{aligned} X^\mathrm{T}X \alpha_i = \lambda_i \alpha_i ~~~~ i=1,2,..,r \\ X^\mathrm{T}X \alpha_i = \vec 0 ~~~~ i=r+1,..,p\\ \tag{2-11} \end{aligned} \right.

若要找一個Q=(β1,...,βn)Q=(\beta_1,...,\beta_n)滿足條件\leftrightarrow滿足條件的QQ,使得滿足下面公式

QΛ12PT=XQΛ12=XP(2-12) Q\Lambda^{\frac{1}{2}}P^{\mathrm{T}} = X \leftrightarrow Q\Lambda^{\frac{1}{2}} =XP \tag{2-12}

將上面的公式進行化簡:

βiλi=Xαiβi=Xαiλi    i=1,2,...,r(2-13) \beta_i \sqrt \lambda_i = X \alpha_i \leftrightarrow \beta_i = \frac{X \alpha_i}{\sqrt \lambda_i} ~~~~ i=1,2,...,r \tag{2-13}

公式(2-8)此時就轉化爲考察如下三個問題:

  • 1)這些βi\beta_i是否分別對應了XXTXX^{\mathrm{T}}的特徵λi\lambda_i
  • 2)它們是否相互兩兩正交
  • 3)是否能找到其餘符合條件的nrn−r個特徵向量與β1,...,βr\beta_1,...,\beta_r一起構成正交陣QQ

問題1)

XXTβi=XXTXαiλi=X(λiαi)λi=λiXαi=λiβi,  i=1,...,r XX^{\mathrm{T}}\beta_i=\frac{XX^{\mathrm{T}}X\alpha_i}{\sqrt{\lambda_i}}=\frac{X(\lambda_i\alpha_i)}{\sqrt{\lambda_i}}=\sqrt{\lambda_i}X\alpha_i=\lambda_i \beta_i, ~~i=1,...,r
剛好可以構成特徵分解公式。

問題2)

i,j=1,2...,3βiTβj=αiTXTXαjλiλj=αiT(λjαj)λiλj=λjλiαiTαj={1    i=j0    ij \forall i,j=1,2...,3 \to \beta_i^{\mathrm{T}}\beta_j=\frac{\alpha_i^{\mathrm{T} } X^{\mathrm{T}} X \alpha_j}{\sqrt{\lambda_i \lambda_j}} = \frac{\alpha_i^{\mathrm{T}}(\lambda_j \alpha_j)}{\sqrt{\lambda_i \lambda_j}} \\ = \sqrt{\frac{\lambda_j}{\lambda_i}} \alpha_i^\mathrm{T} \alpha_j = \left\{ \begin{aligned} 1 ~~~~ i=j\\ 0 ~~~~ i \neq j \end{aligned} \right.

問題3):只要取XXTXX^\mathrm{T}零空間的規範正交基βr+1,...,βn\beta_{r+1},...,\beta_n就可以滿足條件。

在特徵分解中,如果λ=0\lambda=0,意味着特徵向量存在於矩陣的零空間中。同時矩陣XXTXX^\mathrm{T}爲對稱矩陣,因此對稱陣不同特徵值對應的特徵向量兩兩正交,也即是βi(i=1,..,r)\beta_i(i=1,..,r)與零空間中的特徵向量正交,利用零空間中的特徵向量進行擴展基, 從而可以得到規範正交基βr+1,...,βn\beta_{r+1},...,\beta_n

2.2.3 從條件正推的證明過程

XTXX^\mathrm{T}X是一個方陣,且爲實對稱矩陣,令矩陣P=(α1,α2,...,αr,αr+1,...,αp)P=(\alpha_1, \alpha_2,...,\alpha_r,\alpha_{r+1},...,\alpha_p),則根據方陣的特徵分解公式,得到以下公式:

XTX=PDPT X^\mathrm{T}X=PDP^{\mathrm{T}}

根據對稱矩陣特徵分解的性質,因此PP中任意兩個列向量正交:
XTXαi=λiαi X^\mathrm{T}X \alpha_i=\lambda_i \alpha_i

(Xαi,Xαj)=(Xαi)TXαj=αiTXTXαj=αiTλjαj=λjαiTαj=0 (X\alpha_i, X\alpha_j) = (X\alpha_i)^\mathrm{T}X\alpha_j \\ = \alpha_i^\mathrm{T} X^\mathrm{T} X \alpha_j \\ = \alpha_i^\mathrm{T} \lambda_j \alpha_j \\ = \lambda_j \alpha_i^\mathrm{T} \alpha_j \\ = 0

這時候對XαiX \alpha_i標準化:

βi=XαiXαi=XαiλiXαi=λiβi \beta_i = \frac{X \alpha_i}{|X \alpha_i|} = \frac{X \alpha_i}{\sqrt{\lambda_i}} \\ \to X \alpha_i = \sqrt{\lambda_i} \beta_i

其中Xαi|X \alpha_i|由下面公式可得:

Xαi2=(Xαi)TXαi=λiαiTαi=λiXαi=λi |X \alpha_i|^2 = (X \alpha_i)^{\mathrm{T}} X \alpha_i = \lambda_i \alpha_i^\mathrm{T} \alpha_i = \lambda_i \\ \to |X \alpha_i| = \sqrt{\lambda_i}

最後利用擴展基定理,將向量組(β1,...,βr)(\beta_1,...,\beta_r)擴充爲 Rm中的標準正交基(β1,...,βn)(\beta_1,...,\beta_n),然後可以得到下面公式:

XP=X(α1,α2,...,αr,αr+1,...,αp)=(Xα1,Xα2,...,Xαr,0,...,0)=(λ1β1,λ2β2,...,λrβr,0,...,0)A=QΛ12PT XP = X(\alpha_1, \alpha_2,...,\alpha_r,\alpha_{r+1},...,\alpha_p) = (X\alpha_1, X\alpha_2,...,X\alpha_r,0,...,0) \\ = (\sqrt{\lambda_1} \beta_1, \sqrt{\lambda_2} \beta_2,...,\sqrt{\lambda_r} \beta_r,0,...,0) \\ \to A = Q\Lambda^{\frac{1}{2}}P^{\mathrm{T}}

2.3 特徵分解和奇異值分解的關係

從上面中可以推導出他們的關係:

  • SVD中的奇異值Λ12\Lambda^{\frac{1}{2}}XTXX^\mathrm{T}X的特徵值的開方所構成

  • 右奇異值向量爲XTXX^\mathrm{T}X的特徵向量

  • 左奇異值向量爲βi=Xαiλi\beta_i = \frac{X \alpha_i}{\sqrt{\lambda_i}}

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