PCA的过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tongjinrui/article/details/81530529

操作流程:

1、去除平均值,让每一维特征减去各自特征的平均值

2、计算协方差矩阵

如果数据是三维的,那么协方差矩阵是这样的。主对角线上是方差,非对角线是两两元素的协方差。

协方差的绝对值越大,对彼此的影响就越大。

3、计算协方差矩阵的特征值与特征向量

4、对特征值从大较小的排序

5、选择最大的K个特征值,对应的特征向量

6、将数据转换到K个特征向量构建的新空间中。

具体做法是:

假设样例数为m,特征数为n,减去均值后的样本矩阵为DataAdjust(m*n),协方差矩阵是n*n,选取的k个特征向量组成的矩阵为EigenVectors(n*k)。那么投影后的数据FinalData为

 

对于协方差的计算有如下理解:

它计算的是不同维度之间的协方差而不是不同样本之间的。

如果两个变量同向变化,则为正,反向为负。

如果两个变量没有关联,则为零。

 

对于真实的样本中,可能会有多余的特征,或者相关的特征,里面存在一些噪声或者冗余,在这种情况下需要一种降维的方法,减少数据的冗余,减少过度拟合的可能性。

 

PCA的思想是将n维特征映射到k维空间上,这K维是全新的正交特征。这K维特征称为主元,是重新构造出来的k维特征,也就是对应k维空间的线性组合,而不是简单的从n维空间中,去除n-k维特征。

 

PCA理解的第一层境界:最大方差投影

求解方差最大,刚好是S的特征值和特征向量。

 

PCA理解的第二层境界:最小重建误差

重建,就是找到新的坐标基,在原来的基础上,减少一维或者多维,然后重建整个数据。

好比找一个新的角度去看问题。

那么目标就是最小重建误差:

在这个层次上,才把PCA看成是降维的工具。在第一层上,只是找主成分。

 

需要注意的是:在最后一步的操作中,为什么要选择去除均值:

1、首先,协方差矩阵的定义来看,是去平均的了。

2、将中心化的原始矩阵,投影到特征基准基上,去除数据的相关性。

 

 

没有更多推荐了,返回首页