主成分分析PCA

主成分分析(Principal components analysis,PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA。PCA推导有两种方法:最大化方差,最小化重构误差。

1  PCA思想

主成分分析是特征提取的方法,它要做的是寻找使方差最大的方向,并在该方向投影。

PCA就是找出数据里最主要的方向,来代替原始数据。具体的,假如我们有m个n维数据,将数据从n维降到P维,使这m个P维的数据尽可能的表示原始数据集。基于样本点到这个超平面的距离足够近,或者说样本点在这个超平面上的投影能尽可能的分开两种标准,我们可以得到PCA的两种等价推导:基于最小投影距离,基于最大投影方差。

2 求协方差矩阵(参见协方差矩阵)

计算协方差矩阵的特征向量和特征值

因为协方差矩阵为方阵,我们可以计算它的特征向量和特征值,如下:

[eigenvectors,eigenvalues] = eig(cov)

 

我们可以看到这些矢量都是单位矢量,也就是它们的长度为1,这对PCA来说是很重要的。

4、选择成分组成模式矢量

求出协方差矩阵的特征值及特征向量后,按照特征值由大到小进行排列,丢弃特征值很小的部分,不会丢失很多信息。原始数据即从n维变为了P维。接下来要做的是组成一个模式矢量,这只是几个矢量组成的矩阵的一个名字而已,它由保持的所有特征矢量构成,每个特征矢量是这个矩阵的一列。

 

对于我们的数据集,因为有两个特征矢量,因此我们有两个选择。我们可以用两个特征矢量组成模式矢量:

                                    

我们也可以忽略其中较小特征值的一个特征矢量,从而得到如下模式矢量:          

     

    5、得到降维后的数据

        其中rowFeatureVector是由模式矢量作为列组成的矩阵的转换,因此它的行就是原来的模式矢量,而且对应最大特征的特征矢量在该矩阵的最上一行。rowdataAdjust是每一维数据减去样本均值后,所组成矩阵的转置,即数据项目在每一列中,每一行是一维,对我们的样本来说即是,第一行为x维上数据,第二行为y维上的数据。FinalData是最后得到的数据,数据项目在它的列中,维数沿着行。   

结果为:

    0.8280    0.1751
   -1.7776   -0.1429
    0.9922   -0.3844
    0.2742   -0.1304
    1.6758    0.2095
    0.9129   -0.1753
   -0.0991    0.3498
   -1.1446   -0.0464
   -0.4380   -0.0178
   -1.2238    0.1627

这将仅仅给出屋面选择的数据。我们的原始数据有两个轴(x和y),所以我们的原始数据按这两轴分布。我们可以按任何两个我们喜欢的轴表示我们的数据。如果这些轴是正交的,这种表达将是最有效的,这就是特征矢量总是正交的重要性。我们已经将我们的数据从原来的xy轴表达变换为现在的单个特征矢量表达。

(说明:如果要恢复原始数据,只需逆过程计算即可)即:

                    

到此为止,相信你已经掌握了PCA及其原理了
 

参考

https://blog.csdn.net/xiao_lxl/article/details/72730000

https://www.cnblogs.com/pinard/p/6239403.html

https://my.oschina.net/gujianhan/blog/225241

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值