主成分分析法_spss主成分分析法_主成分分析法步骤_主成分分析法原理
主成分分析法(PCA)推导
主成分分析法(principal component analysis, PCA)是最常用的无监督高维数据降维方法之一,它旨在降维的过程中保留原数据中最重要的几个分量,从而达到最大化原数据方差的作用。几乎所有数据降维方面研究都要用来作为比较重要的方法。
原文: Ph0en1x Notebook
主成分分析的基本思想就是在原有样本的n维空间内再建立一个d维线性空间,用n个标准正交基进行重新映射,然后选取其中的d'个正交基进行保留,而在这d'个坐标轴上的坐标值就是映射到低维后的坐标。而推导的目的就是为了确定如何确定这这d个标准正交基以及如何选取它们。就如下图(图片来自于网络)一样,将二维空间内的点映射至一维空间,最终选择较长的那条向量进行投影映射。
PCA主成分分析法简介主成分分析算法(PCA)是最常用的线性降维方法,它的目标是通过某种线性投影,将高维的数据映射到低维的空间中,并期望在所投影的维度上数据的信息量最大(方差最大),以此使用较少的数据维度,同时保留住较多的原数据点的特性。
PCA降维的目的,就是为了在尽量保证“信息量不丢失”的情况下,对原始特征进行降维,也就是尽可能将原始特征往具有最大投影信息量的维度上进行投影。将原特征投影到这些维度上,使降维后信息量损失最小。
总而言之,PCA的概念很简单:减少数据集的维数,同时保留尽可能多的主要信息。
PCA主要步骤- 去除平均值
- 计算协方差矩阵
- 计算协方差矩阵的特征值和特征向量
- 将特征值排序
- 保留前N个最大的特征值对应的特征向量
- 将原始特征转换到上面得到的N个特征向量构建的新空间中(最后两步,实现了特征压缩)
标准化此步骤的目的是标准化输入数据集,使数据成比例缩小。
更确切地说,在使用PCA之前必须标准化数据的原因是PCA方法对初始变量的方差非常敏感。也就是说,如果初始变量的范围之间存在较大差异,那么范围较大的变量占的比重较大,和较小的变量相比(例如,范围介于0和100之间的变量较0到1之间的变量会占较大比重),这将导致主成分的偏差。通过将数据转换为同样的比例可以防止这个问题。
求每一个特征的平均值,然后对于所有的样本,每一个特征都减去自身的均值。
经过去均值处理之后,原始特征的值就变成了新的值,在这个新的norm_data的基础上,进行下面的操作。
计算协方差矩阵此步骤的目的是了解输入数据集的变量相对于彼此平均值变化,换句话说,查看它们是否存在关系。因为有时候,变量由于高度相关,这样就会包含冗余信息。因此,为了识别变量的相关性,我们计算协方差矩阵。
下面以二维矩阵为例:
上述矩阵中,对角线上分别是特征x1和x2的方差,非对角线上是协方差。协方差大于0表示x1和x2。若有一个增,另一个也增;小于0表示一个增,一个减;协方差为0时,两者独立。协方差绝对值越大,两者对彼此的影响越大,反之越小。
计算协方差矩阵的特征值和特征向量
对应的k个特征向量拿出来,我们会得到一组{(λ1,u1),(λ2,u2),...,(λk,uk)}。
将原始特征投影到选取的特征向量上,得到降维后的新K维特征这个选取最大的前k个特征值和相对应的特征向量,并进行投影的过程,就是降维的过程。对于每一个样本
PCA算法的主要优点- 仅仅需要以方差衡量信息量,不受数据集以外的因素影响。
- 各主成分之间正交,可消除原始数据成分间的相互影响的因素。
- 计算方法简单,主要运算是特征值分解,易于实现。
PCA算法的主要缺点- 主成分各个特征维度的含义具有一定的模糊性,不如原始样本特征的解释性强。
- 方差小的非主成分也可能含有对样本差异的重要信息,因降维丢弃可能对后续数据处理有影响。