![a5c57e87604965c2eb74d78852f0cc34.png](https://i-blog.csdnimg.cn/blog_migrate/6b72794292988df09b2fca169e53b2f3.jpeg)
这个问题我估计一大半人答不上来,看似两者都是降维的方法,但是两者到底有啥不同呢?
假设令
对于PCA来说,要求一个协方差矩阵
其中
对于SVD来说,就是要对矩阵
其中
联合上面两个式子,则有
比对式子1可以看到
总结一波:
- 两者都是矩阵分解的技术,一个直接分解SVD,一个是对协方差矩阵操作后分解PCA
- 奇异值和特征向量存在关系,即有
- SVD可以获取另一个方向上的主成分,而PCA只能获得单个方向上的主成分,PCA只与SVD的右奇异向量的压缩效果相同
- 通过SVD可以得到PCA相同的结果,但是SVD通常比直接使用PCA更稳定。因为在PCA求协方差时很可能会丢失一些精度。例如Lauchli矩阵
参考文献:
Relationship between SVD and PCA. How to use SVD to perform PCA? https:// blog.csdn.net/qq_244649 89/article/details/79834564 https:// blog.csdn.net/wangjian1 204/article/details/50642732
Relationship between SVD and PCA. How to use SVD to perform PCA?