奇异值分解(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}Xn×p​的秩为rank(X)=rrank(X)=rrank(X)=r,根据特征分解公式,XTXX^{\mathrm{T}}XXTX构成一个方阵,其特征值从大到小排列为[λ1,λ2,...,λr][\lambda_1, \lambda_2, ..., \lambda_r][λ1​,λ2​,...,λ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}})Λ21​=diag(λ121​​,λ221​​,...,λr21​​)。则存在正交矩阵Pp×pP_{p \times p}Pp×p​和Qn×nQ_{n \times n}Qn×n​使得X=QΛ12PTX=Q \Lambda^{\frac{1}{2}} P^{\mathrm{T}}X=QΛ21​PT,其中PPP的列向量组为XTXX^\mathrm{T}XXTX的ppp个特征值(λ1,λ2,...,λr,0,...,0)(\lambda_1, \lambda_2, ..., \lambda_r,0,...,0)(λ1​,λ2​,...,λr​,0,...,0)对应的特征向量组,QQQ的列向量组为与XXTXX^\mathrm{T}XXT的nnn个特征值(λ1,λ2,...,λr,0,...,0)(\lambda_1, \lambda_2, ..., \lambda_r,0,...,0)(λ1​,λ2​,...,λr​,0,...,0)对应的特征向量组。

2.2.2 从结论反推的证明过程

XTXX^\mathrm{T}XXTX是一个方阵,且为实对称矩阵,令矩阵P=(α1,α2,...,αr,αr+1,...,αp)P=(\alpha_1, \alpha_2,...,\alpha_r,\alpha_{r+1},...,\alpha_p)P=(α1​,α2​,...,αr​,αr+1​,...,α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. {XTXαi​=λi​αi​    i=1,2,..,rXTXαi​=0    i=r+1,..,p​(2-11)

若要找一个Q=(β1,...,βn)Q=(\beta_1,...,\beta_n)Q=(β1​,...,βn​)满足条件\leftrightarrow↔满足条件的QQQ,使得满足下面公式

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} QΛ21​PT=X↔QΛ21​=XP(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} βi​λ​i​=Xαi​↔βi​=λ​i​Xαi​​    i=1,2,...,r(2-13)

公式(2-8)此时就转化为考察如下三个问题:

  • 1)这些βi\beta_iβi​是否分别对应了XXTXX^{\mathrm{T}}XXT的特征λi\lambda_iλi​
  • 2)它们是否相互两两正交
  • 3)是否能找到其余符合条件的nrn−rn−r个特征向量与β1,...,βr\beta_1,...,\beta_rβ1​,...,βr​一起构成正交阵QQQ

问题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 XXTβi​=λi​​XXTXαi​​=λi​​X(λi​αi​)​=λi​​Xαi​=λi​β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. ∀i,j=1,2...,3→βiT​βj​=λi​λj​​αiT​XTXαj​​=λi​λj​​αiT​(λj​αj​)​=λi​λj​​​αiT​αj​={1    i=j0    i​=j​

问题3):只要取XXTXX^\mathrm{T}XXT零空间的规范正交基βr+1,...,βn\beta_{r+1},...,\beta_nβr+1​,...,βn​就可以满足条件。

在特征分解中,如果λ=0\lambda=0λ=0,意味着特征向量存在于矩阵的零空间中。同时矩阵XXTXX^\mathrm{T}XXT为对称矩阵,因此对称阵不同特征值对应的特征向量两两正交,也即是βi(i=1,..,r)\beta_i(i=1,..,r)βi​(i=1,..,r)与零空间中的特征向量正交,利用零空间中的特征向量进行扩展基, 从而可以得到规范正交基βr+1,...,βn\beta_{r+1},...,\beta_nβr+1​,...,βn​。

2.2.3 从条件正推的证明过程

XTXX^\mathrm{T}XXTX是一个方阵,且为实对称矩阵,令矩阵P=(α1,α2,...,αr,αr+1,...,αp)P=(\alpha_1, \alpha_2,...,\alpha_r,\alpha_{r+1},...,\alpha_p)P=(α1​,α2​,...,αr​,αr+1​,...,αp​),则根据方阵的特征分解公式,得到以下公式:

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

根据对称矩阵特征分解的性质,因此PPP中任意两个列向量正交:
XTXαi=λiαi X^\mathrm{T}X \alpha_i=\lambda_i \alpha_i XTXαi​=λi​α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αi​,Xαj​)=(Xαi​)TXαj​=αiT​XTXαj​=αiT​λj​αj​=λj​αiT​αj​=0

这时候对XαiX \alpha_iXα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 βi​=∣Xαi​∣Xαi​​=λi​​Xαi​​→Xαi​=λi​​βi​

其中Xαi|X \alpha_i|∣Xα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} ∣Xαi​∣2=(Xαi​)TXαi​=λi​αiT​αi​=λi​→∣Xαi​∣=λi​

最后利用扩展基定理,将向量组(β1,...,βr)(\beta_1,...,\beta_r)(β1​,...,βr​)扩充为 Rm中的标准正交基(β1,...,βn)(\beta_1,...,\beta_n)(β1​,...,β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}} 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Λ21​PT

2.3 特征分解和奇异值分解的关系

从上面中可以推导出他们的关系:

  • SVD中的奇异值Λ12\Lambda^{\frac{1}{2}}Λ21​为XTXX^\mathrm{T}XXTX的特征值的开方所构成

  • 右奇异值向量为XTXX^\mathrm{T}XXTX的特征向量

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

上一篇:Red Scarf abc171_E


下一篇:统计学习方法第一章