21

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

4

4 回答 4

30

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

但是 PCA 有局限性,因为它依赖于特征元素之间的线性关系,而且在开始之前通常不清楚这些关系是什么。由于它还“隐藏”了对数据方差贡献不大的特征元素,因此它有时可以消除影响机器学习模型性能的小而重要的差异化因素。

于 2013-04-27T07:50:57.753 回答
9

只是为了添加上面非常好的答案。不同之处在于,PCA 将尝试通过探索数据的一个特征如何用其他特征(线性相关性)来表示来降低维度。相反,特征选择会考虑目标。它将根据输入变量对预测目标值的有用程度对输入变量进行排名。这对于单变量特征选择是正确的。多变量特征选择也可以做一些可以被认为是 PCA 形式的事情,因为它会丢弃输入中的一些特征。但不要把这个比喻走得太远。

于 2016-04-25T00:48:33.250 回答
8

您可以使用 PCA 进行特征选择。

主成分分析(PCA)是一种技术

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

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

(看这里)

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

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

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

特征选择算法可以看作是用于提出新特征子集的搜索技术与对不同特征子集进行评分的评估度量的组合。最简单的算法是测试每个可能的特征子集,找到使错误率最小的特征。这是对空间的详尽搜索,除了最小的特征集之外,所有的特征集在计算上都是难以处理的。评估指标的选择对算法有很大影响,正是这些评估指标区分了三种主要的特征选择算法:包装器、过滤器和嵌入式方法。

(看这里)

在某些领域,特征提取可以提出特定的目标:在图像处理中,您可能希望执行斑点、边缘或脊检测。

于 2013-04-28T20:53:36.927 回答
2

只是为了补充@Roger Rowland的答案。在监督学习(分类、回归)的背景下,我喜欢将 PCA 视为“特征转换器”,而不是特征选择器。

PCA 基于提取数据显示最高可变性的轴。尽管它在新的基础上“展开”数据,并且对无监督学习有很大帮助,但并不能保证新轴与有监督问题中的判别特征一致。

更简单地说,在预测因变量(例如类别标签)时,根本无法保证您的主要主成分是最能提供信息的。

这篇论文是一个有用的资源。另一个相关的交叉验证链接在这里

于 2016-03-31T07:37:45.893 回答