首页 » python机器学习 » python机器学习全文在线阅读

《python机器学习》5.1 无监督数据降维技术主成分分析

关灯直达底部

与特征选择类似,我们可以使用特征抽取来减少数据集中特征的数量。不过,当使用序列后向选择等特征选择算法时,能够保持数据的原始特征,而特征抽取算法则会将数据转换或者映射到一个新的特征空间。基于降维在数据预处理领域的含义,特征抽取可以理解为:在尽可能多地保持相关信息的情况下,对数据进行压缩的一种方法。特征抽取通常用于提高计算效率,同样也可以帮助我们降低“维度灾难”——尤其当模型不适于正则化处理时。

主成分分析(principal component analysis,PCA)是一种广泛应用于不同领域的无监督线性数据转换技术,其突出作用是降维。PCA的其他常用领域包括:股票交易市场数据的探索性分析和信号去噪,以及生物信息学领域的基因组和基因表达水平数据分析等。PCA可以帮助我们基于特征之间的关系识别出数据内在的模式。简而言之,PCA的目标是在高维数据中找到最大方差的方向,并将数据映射到一个维度不大于原始数据的新的子空间上。如下图所示,以新特征的坐标是相互正交的为约束条件,新的子空间上正交的坐标轴(主成分)可被解释为方差最大的方向。在此,x1和x2为原始特征的坐标轴,而PC1和PC2即为主成分。

如果使用PCA降维,我们将构建一个d×k维的转换矩阵W,这样就可以将一个样本向量x映射到一个新的k维特征子空间上去,此空间的维度小于原始的d维特征空间:

完成从原始d维数据到新的k维子空间(一般情况下k<<d)的转换后,第一主成分的方差应该是最大的,由于各主成分之间是不相关的(正交的),后续各主成分也具备尽可能大的方差。需注意的是,主成分的方向对数据值的范围高度敏感,如果特征的值使用不同的度量标准,我们需要先对特征进行标准化处理,以让各特征具有相同的重要性。

在详细讨论使用PCA算法降维之前,我们先通过以下几个步骤来概括一下算法的流程:

1)对原始d维数据集做标准化处理。

2)构造样本的协方差矩阵。

3)计算协方差矩阵的特征值和相应的特征向量。

4)选择与前k个最大特征值对应的特征向量,其中k为新特征空间的维度(k≤d)。

5)通过前k个特征向量构建映射矩阵W。

6)通过映射矩阵W将d维的输入数据集X转换到新的k维特征子空间。