PCA:
目标是使
因为可对
E的每列是相应的非线性相关且相互正交的特征向量,为正交阵。我们令
因为这样P就成为了正交阵,有
则PCA是要对X的协方差矩阵进行特征值分解,P即是E的转置。
SVD:SVD可用于任何形状的矩阵,而特征值分解只能应用于方阵。
用SVD去解决PCA的问题:
先对X进行SVD分解,那么有
最终令
则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矩阵都是正交阵,中间的矩阵为对角矩阵,但是不是方阵。