奇异值分解(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定理

X n × p X_{n \times p} Xn×p的秩为 r a n k ( X ) = r rank(X)=r rank(X)=r,根据特征分解公式, X T X X^{\mathrm{T}}X XTX构成一个方阵,其特征值从大到小排列为 [ λ 1 , λ 2 , . . . , λ r ] [\lambda_1, \lambda_2, ..., \lambda_r] [λ1,λ2,...,λr],记 Λ 1 2 = d i a g ( λ 1 1 2 , λ 2 1 2 , . . . , λ r 1 2 ) \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)。则存在正交矩阵 P p × p P_{p \times p} Pp×p Q n × n Q_{n \times n} Qn×n使得 X = Q Λ 1 2 P T X=Q \Lambda^{\frac{1}{2}} P^{\mathrm{T}} X=QΛ21PT,其中 P P P的列向量组为 X T X X^\mathrm{T}X XTX p p p个特征值 ( λ 1 , λ 2 , . . . , λ r , 0 , . . . , 0 ) (\lambda_1, \lambda_2, ..., \lambda_r,0,...,0) (λ1,λ2,...,λr,0,...,0)对应的特征向量组, Q Q Q的列向量组为与 X X T XX^\mathrm{T} XXT n n n个特征值 ( λ 1 , λ 2 , . . . , λ r , 0 , . . . , 0 ) (\lambda_1, \lambda_2, ..., \lambda_r,0,...,0) (λ1,λ2,...,λr,0,...,0)对应的特征向量组。

2.2.2 从结论反推的证明过程

X T X X^\mathrm{T}X XTX是一个方阵,且为实对称矩阵,令矩阵 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),则根据方阵的特征分解公式,得到以下公式:

{ X T X α i = λ i α i      i = 1 , 2 , . . , r X T X α 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 满足条件的 Q Q Q,使得满足下面公式

Q Λ 1 2 P T = X ↔ Q Λ 1 2 = X P (2-12) Q\Lambda^{\frac{1}{2}}P^{\mathrm{T}} = X \leftrightarrow Q\Lambda^{\frac{1}{2}} =XP \tag{2-12} QΛ21PT=XQΛ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=λ iXαi    i=1,2,...,r(2-13)

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

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

问题1)

X X T β i = X X T X α i λ i = X ( λ i α i ) λ i = λ i X α 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 → β i T β j = α i T X T X α j λ i λ j = α i T ( λ j α j ) λ i λ j = λ j λ i α i T α j = { 1      i = j 0      i ≠ j \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 αiTXTXαj=λiλj αiT(λjαj)=λiλj αiTαj={1    i=j0    i=j

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

在特征分解中,如果 λ = 0 \lambda=0 λ=0,意味着特征向量存在于矩阵的零空间中。同时矩阵 X X T XX^\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 从条件正推的证明过程

X T X X^\mathrm{T}X XTX是一个方阵,且为实对称矩阵,令矩阵 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),则根据方阵的特征分解公式,得到以下公式:

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

根据对称矩阵特征分解的性质,因此 P P P中任意两个列向量正交:
X T X α i = λ i α i X^\mathrm{T}X \alpha_i=\lambda_i \alpha_i XTXαi=λiαi

( X α i , X α j ) = ( X α i ) T X α j = α i T X T X α j = α i T λ j α j = λ j α i T α 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=αiTXTXαj=αiTλjαj=λjαiTαj=0

这时候对 X α i X \alpha_i Xαi标准化:

β i = X α i ∣ X α i ∣ = X α i λ i → X α 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αiXαi=λi XαiXαi=λi βi

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

∣ X α i ∣ 2 = ( X α i ) T X α i = λ i α i T α i = λ i → ∣ X α 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αi2=(Xαi)TXαi=λiαiTαi=λiXαi=λi

最后利用扩展基定理,将向量组 ( β 1 , . . . , β r ) (\beta_1,...,\beta_r) (β1,...,βr)扩充为 Rm中的标准正交基 ( β 1 , . . . , β n ) (\beta_1,...,\beta_n) (β1,...,βn),然后可以得到下面公式:

X P = 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 Λ 1 2 P T 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Λ21PT

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

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

  • SVD中的奇异值 Λ 1 2 \Lambda^{\frac{1}{2}} Λ21 X T X X^\mathrm{T}X XTX的特征值的开方所构成

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

洛克-李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值