因为之前在做PCA的时候,就直接用的SVD求解,以为SVD属于PCA的一部分,看了一下两篇博文,有一定收获。注意,左奇异向量和右奇异向量是针对数据X而言的:
注意到协方差矩阵的特点:实对称,且大小为 D * D,D为数据X的维度。
因此,当X每一行为一个样本,对应协方差矩阵为,X.T * X,需要求左奇异向量U,并且取其前k个,则压缩后的单个样本为
Uk.T*X
反之,求右奇异向量。
PCA:从最大方差角度看,其投影向量为特征值对应的特征向量。因此可直接对协方差求特征值和特征向量。
SVD:是PCA的一种实现方式。一次可以得到两个方向的向量。
博客:
https://blog.csdn.net/wangjian1204/article/details/50642732#commentBox
https://blog.csdn.net/baimafujinji/article/details/79407488
是对X进行SVD分解,但实际在做的时候是对X.T * X 进行SVD分解,见:
https://yoyoyohamapi.gitbooks.io/mit-ml/content/特征降维/articles/PCA.html