PCA(主成分分析)和特征选择之间的区别
Posted
技术标签:
【中文标题】PCA(主成分分析)和特征选择之间的区别【英文标题】:Difference between PCA (Principal Component Analysis) and Feature Selection 【发布时间】:2013-04-21 09:44:55 【问题描述】:机器学习中的主成分分析 (PCA) 和特征选择有什么区别? PCA 是一种特征选择的手段吗?
【问题讨论】:
【参考方案1】:PCA 是一种找出哪些特征对于最好地描述数据集中的方差很重要的方法。它最常用于降低大型数据集的维数,以便在原始数据本身具有高维(例如图像识别)的情况下应用机器学习变得更加实用。
但 PCA 也有局限性,因为它依赖于特征元素之间的线性关系,而且在开始之前通常不清楚这些关系是什么。由于它还“隐藏”了对数据方差贡献不大的特征元素,因此它有时可以消除影响机器学习模型性能的微小但重要的差异化因素。
【讨论】:
我认为这里的一个重点是 PCA 是一种无监督技术,而特征选择通常(但不总是)是指有监督的问题。可以使用 PCA 来描述一个数据集——这可能会通过几台 PC 上的高绝对负载来揭示某些变量是重要的——或者将主成分扔到监督模型中以使模型更容易运行。但总的来说,PCA 本身并不是一个特征选择工具。【参考方案2】:只是为了补充上面非常好的答案。不同之处在于,PCA 将尝试通过探索数据的一个特征如何根据其他特征(线性相关性)来表示来降低维度。 相反,特征选择会考虑目标。它将根据输入变量对预测目标值的有用程度对输入变量进行排名。这对于单变量特征选择是正确的。 多变量特征选择也可以做一些可以被认为是 PCA 形式的事情,因为它会丢弃输入中的一些特征。但不要把这个比喻过分。
【讨论】:
【参考方案3】:您可以使用 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
还有其他方法可以进行特征选择:
一个特征选择算法可以看作是一个组合 用于提出新特征子集的搜索技术,以及 对不同特征子集进行评分的评估度量。这 最简单的算法是测试每个可能的特征子集 最小化错误率的一种。这是一个详尽的搜索 的空间,并且除了 最小的特征集。重度评价指标的选择 影响算法,正是这些评估指标 区分特征选择的三大类 算法:包装器、过滤器和嵌入式方法。
(see here)
在某些领域,特征提取可以提出特定的目标:在图像处理中,您可能希望执行斑点、边缘或脊检测。
【讨论】:
这如何解决通过 PCA 进行特征选择的问题? PCA 生成新特征,它不会立即帮助从原始特征空间中选择特征。您答案的第二部分涉及监督问题中的特征选择;目前尚不清楚 OP 是否正在寻找这个。 PCA 本质上是一种无监督技术,我看到与它相关的唯一提到无监督特征选择的是主要特征分析:venom.cs.utsa.edu/dmz/techrep/2007/CS-TR-2007-011.pdf 我在***.com/q/32811659/1840471 询问了如何在 R 中实现这一点。【参考方案4】:只是为了补充@Roger Rowland 的答案。在监督学习(分类、回归)的背景下,我喜欢将 PCA 视为“特征转换器”,而不是特征选择器。
PCA 基于提取数据显示最高可变性的轴。尽管它在新的基础上“展开”数据,并且对无监督学习有很大帮助,但并不能保证新轴与有监督问题中的判别特征一致。
更简单地说,在预测因变量(例如类标签)时,根本无法保证您的主要主成分是最能提供信息的。
This paper 是一个有用的来源。 另一个相关的交叉验证链接是here。
【讨论】:
以上是关于PCA(主成分分析)和特征选择之间的区别的主要内容,如果未能解决你的问题,请参考以下文章