不知道有没有跟我一样的白痴,看了半天PCA和SVD,老是不明白怎么用SVD来进行PCA降维,现在算是悟过来了。PCA名字叫主成分分析,目的在于得到主成分,降维是为了用重要的主成分来表示原始数据,那只要得到主成分就好了。得到主成分的方法有两种:一是特征值分解,就是我们平时说的PCA,主要是针对方阵,缺点是要得到协方差矩阵之后来得到主成分,暴力分解。另一种是SVD分解,好处是不用得到协方差矩阵,直接拿原始数据来算,简单。
因此,PCA是一个目标,就比如罗马,你要到罗马,正着走反着走都行,那么你可以选择用特征值分解或者用SVD分解。
假设标准化后的数据X,
则特征值分解:
协方差矩阵为1/m*XTX
SVD分解:
所以奇异值的平方为特征值。
这两个不都一样吗,都是要进行特征值分解,没差嘛!那是因为SVD还有其他迭代方法来求右奇异值向量,不是非要特征值分解。
PCA SVD
最新推荐文章于 2024-09-07 18:59:08 发布