PCA和SVD区别和联系

一、PCA:

PCA(principal component analysis)

PCA和SVD区别和联系

                                                            查找主方向的过程

  PCA也叫主成分分析,是降维和去噪的一种重要方法。PCA选取包含信息量最多方向对数据进行投影。其投影方向可以从最大化方差或者最小化投影误差两个角度理解。假设有PCA和SVD区别和联系矩阵X,每一行是一个d维样本PCA和SVD区别和联系,寻找投影方向PCA和SVD区别和联系以最大化投影方差:

PCA和SVD区别和联系

PCA和SVD区别和联系

其中PCA和SVD区别和联系是均值,为了简化公式,本文假设X已经进行过零均值化处理,即PCA和SVD区别和联系PCA和SVD区别和联系是数据的投影方向。PCA和SVD区别和联系协方差矩阵PCA和SVD区别和联系。由于C是实对称矩阵,可以进行对角化处理:

PCA和SVD区别和联系


PCA和SVD区别和联系正交矩阵V的每一列是特征向量,PCA和SVD区别和联系矩阵L对角线上的每一个元素是特征值,且特征值按递减顺序排列。把C代回式子PCA和SVD区别和联系

 

PCA和SVD区别和联系


    PCA和SVD区别和联系是特征向量PCA和SVD区别和联系对应的特征值。可以发现当投影方向是C的最大特征值对应的特征向量时,投影方向上数据的方差最大。所以用PCA进行降维时通常选取较大特征值对应的特征向量作为投影方向:PCA和SVD区别和联系是最大的k个特征值对应的特征向量矩阵。

二、SVD:

    如果对X奇异值矩阵分解(SVD分解):

PCA和SVD区别和联系


对角阵S对角线上的元素是奇异值,U和V是正交矩阵:PCA和SVD区别和联系

把X的奇异值分解代入协方差矩阵:

PCA和SVD区别和联系


PCA和SVD区别和联系正交矩阵V的每一列是特征向量,不难发现特征值与奇异值之间存在着对应关系PCA和SVD区别和联系。对X主成分方向进行投影:

PCA和SVD区别和联系


PCA和SVD区别和联系包含U的前k列,PCA和SVD区别和联系包含S左上角的PCA和SVD区别和联系个元素。

 

三、区别与联系

SVD另一个方向上的主成分

    SVD可以获取另一个方向上的主成分,而PCA只能获得单个方向上的主成分:

PCA和SVD区别和联系

 

SVD计算伪逆

    求解矩阵的最小二乘问题需要求伪逆,使用SVD可以很容易得到矩阵X的伪逆

PCA和SVD区别和联系

 

LSI

    隐语义索引(Latent semantic indexing,简称LSI)通常建立在SVD的基础上,通过低秩逼近达到降维的目的。

PCA和SVD区别和联系


注意到PCA也能达到降秩的目的,但是PCA需要进行零均值化,且丢失了矩阵的稀疏性

 

数值稳定性

    通过SVD可以得到PCA相同的结果,但是SVD通常比直接使用PCA更稳定。因为PCA需要计算PCA和SVD区别和联系的值,对于某些矩阵,求协方差时很可能会丢失一些精度。例如Lauchli矩阵:

PCA和SVD区别和联系


在Lauchli矩阵里,e是很小的数,e2无法用计算机精确表示,从而计算PCA和SVD区别和联系会丢失e这部分信息。