PCA(主成分分析)与特征选择的区别

时间:2013-04-27 07:41:39

标签: machine-learning pca feature-selection

主成分分析(PCA)与机器学习中的特征选择有什么区别? PCA是一种特征选择手段吗?

4 个答案:

答案 0 :(得分:23)

PCA是一种找出哪些特征对于最好地描述数据集中的方差很重要的方法。它最常用于降低大数据集的维度,因此在原始数据具有固有高维度(例如图像识别)的情况下应用机器学习变得更加实用。

然而,PCA有局限性,因为它依赖于特征元素之间的线性关系,并且在开始之前它通常不清楚关系是什么。因为它也"隐藏"特征元素对数据的方差贡献很小,它有时可以消除一个影响机器学习模型性能的小但重要的区分因素。

答案 1 :(得分:5)

您可以使用PCA进行功能选择。

主成分分析(PCA)是一种

的技术
  

“使用正交变换来转换一组观察值   可能将相关变量转换为一组不相关的值   变量称为主成分。“

     

PCA帮助我们从根本上回答的问题是:哪个   这些M参数中的一个解释了显着的变化量   包含在数据集中? PCA基本上有助于应用80-20   规则:一小部分参数(比如说20%)可以解释80%或更多   数据的变化?

(see here)

但它有一些缺点:它对规模敏感,对数据量级更高的数据给予更大的权重。数据规范化并不总是解决方案,如下所述:

http://www.simafore.com/blog/bid/105347/Feature-selection-with-mutual-information-Part-2-PCA-disadvantages

还有其他方法可以进行特征选择:

  

特征选择算法可以看作是a的组合   用于提出新特征子集的搜索技术,以及   评估不同特征子集的评估度量。该   最简单的算法是测试每个可能的特征发现子集   最小化错误率的那个。这是一次详尽的搜索   这个空间,对于除了之外的所有人来说都是计算上难以处理的   最小的功能集。评估指标的选择很重要   影响算法,正是这些评估指标   区分特征选择的三个主要类别   algorithm:包装器,过滤器和嵌入式方法。

(see here)

在某些字段中,特征提取可以建议特定目标:在图像处理中,您可能希望执行斑点,边缘或脊线检测。

答案 2 :(得分:2)

只是为了增加上面非常好的答案。不同之处在于,PCA将尝试通过探索数据的一个特征如何用其他特征(线性依赖性)来表达来减少维数。 而是选择特征,将目标考虑在内。它将根据输入变量预测目标值的有效性对输入变量进行排名。对于单变量特征选择也是如此。 多变量特征选择也可以做一些可以被认为是PCA形式的东西,因为它会丢弃输入中的一些特征。但是不要把这个类比太过分了。

答案 3 :(得分:1)

只是为了增加@Roger Rowland的答案。在监督学习(分类,回归)的背景下,我喜欢将PCA视为一个特征变换器"而不是一个功能选择器。

PCA基于提取数据显示最高可变性的轴。虽然它在新的基础上“展开”数据,并且在无监督学习中有很大帮助,但无法保证新轴与受监督问题中的歧视性特征一致。

更简单地说,在预测因变量(例如类标签)方面,根本无法保证您的主要组成部分信息量最大。

This paper是一个有用的来源。 另一个相关的交叉验证链接是here