文章目录
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×p的秩为rank(X)=r,根据特征分解公式,XTX构成一个方阵,其特征值从大到小排列为[λ1,λ2,...,λr],记Λ21=diag(λ121,λ221,...,λr21)。则存在正交矩阵Pp×p和Qn×n使得X=QΛ21PT,其中P的列向量组为XTX的p个特征值(λ1,λ2,...,λr,0,...,0)对应的特征向量组,Q的列向量组为与XXT的n个特征值(λ1,λ2,...,λr,0,...,0)对应的特征向量组。
2.2.2 从结论反推的证明过程
XTX是一个方阵,且为实对称矩阵,令矩阵P=(α1,α2,...,αr,αr+1,...,αp),则根据方阵的特征分解公式,得到以下公式:
{XTXαi=λiαi i=1,2,..,rXTXαi=0 i=r+1,..,p(2-11)
若要找一个Q=(β1,...,βn)满足条件↔满足条件的Q,使得满足下面公式
QΛ21PT=X↔QΛ21=XP(2-12)
将上面的公式进行化简:
βiλi=Xαi↔βi=λiXαi i=1,2,...,r(2-13)
公式(2-8)此时就转化为考察如下三个问题:
- 1)这些βi是否分别对应了XXT的特征λi
- 2)它们是否相互两两正交
- 3)是否能找到其余符合条件的n−r个特征向量与β1,...,βr一起构成正交阵Q
问题1):
XXTβi=λiXXTXαi=λiX(λiαi)=λiXαi=λiβi, i=1,...,r
刚好可以构成特征分解公式。
问题2):
∀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):只要取XXT零空间的规范正交基βr+1,...,βn就可以满足条件。
在特征分解中,如果λ=0,意味着特征向量存在于矩阵的零空间中。同时矩阵XXT为对称矩阵,因此对称阵不同特征值对应的特征向量两两正交,也即是βi(i=1,..,r)与零空间中的特征向量正交,利用零空间中的特征向量进行扩展基, 从而可以得到规范正交基βr+1,...,βn。
2.2.3 从条件正推的证明过程
XTX是一个方阵,且为实对称矩阵,令矩阵P=(α1,α2,...,αr,αr+1,...,αp),则根据方阵的特征分解公式,得到以下公式:
XTX=PDPT
根据对称矩阵特征分解的性质,因此P中任意两个列向量正交:
XTXαi=λiαi
(Xαi,Xαj)=(Xαi)TXαj=αiTXTXαj=αiTλjαj=λjαiTαj=0
这时候对Xαi标准化:
βi=∣Xαi∣Xαi=λiXαi→Xαi=λiβi
其中∣Xαi∣由下面公式可得:
∣Xαi∣2=(Xαi)TXαi=λiαiTαi=λi→∣Xαi∣=λi
最后利用扩展基定理,将向量组(β1,...,βr)扩充为 Rm中的标准正交基(β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Λ21PT
2.3 特征分解和奇异值分解的关系
从上面中可以推导出他们的关系:
-
SVD中的奇异值Λ21为XTX的特征值的开方所构成
-
右奇异值向量为XTX的特征向量
-
左奇异值向量为βi=λiXαi