PCA与SVD分解的关系

2018-12-04  本文已影响0人  Jeffery_李俊峰

PCA:

转换公式

目标是使

对角化就是使到特征之间的协方差为零

因为可对

对X的协方差矩阵进行特征值分解可得,由于XXT为实对称,因此E是正交阵,EET=单位矩阵

E的每列是相应的非线性相关且相互正交的特征向量,为正交阵。我们令

因为这样P就成为了正交阵,有

SY即可对角化

则PCA是要对X的协方差矩阵进行特征值分解,P即是E的转置。

SVD:SVD可用于任何形状的矩阵,而特征值分解只能应用于方阵。

中间那个矩阵是对角阵,对角元是X的奇异值,UV都是正交阵

用SVD去解决PCA的问题:

先对X进行SVD分解,那么有

个人认为这里U和V调转了

最终令

个人认为这里U和V调转了

则PCA是对X的协方差矩阵进行特征值分解,而SVD解决PCA问题则是对X进行SVD分解。

参考:https://www.zhihu.com/question/38319536

1:pca和svd都能用于降维。

2:pca和svd的降维方法不一样。pca是寻找一堆基使得他们投影后还具有良好的性质,而svd是为了寻找原矩阵的低阶(低秩)近似,进而降维的。但是svd的第一个和第三个矩阵也可以用于实现pca类似的降维。

3:pca的解决方案有特征值分解和svd。但一般用svd,因为svd的实现方法除了特征值分解外还有其他比特征值分解更快的方法。

SVD的详细定义可参考https://zhuanlan.zhihu.com/p/29846048?utm_source=wechat_session&utm_medium=social

U和V矩阵都是正交阵,中间的矩阵为对角矩阵,但是不是方阵。

上一篇下一篇

猜你喜欢

热点阅读