Machine learning 主成分分析与特征选择的区别

Machine learning 主成分分析与特征选择的区别,machine-learning,pca,feature-selection,Machine Learning,Pca,Feature Selection,在机器学习中,主成分分析(PCA)和特征选择有什么区别?主成分分析是一种特征选择方法吗?主成分分析是一种找出哪些特征对于最好地描述数据集中的方差很重要的方法。它最常用于降低大型数据集的维数,以便在原始数据固有的高维(如图像识别)情况下应用机器学习变得更为实际 PCA有其局限性,因为它依赖于特征元素之间的线性关系,并且在开始之前通常不清楚这些关系是什么。由于它还“隐藏”了对数据差异贡献很小的特征元素,因此有时可以消除影响机器学习模型性能的微小但重要的差异因素。您可以使用PCA进行特征选择 主成分分

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

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


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

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

主成分分析(PCA)是一种

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

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

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

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

特征选择算法可以看作是 提出新特征子集的搜索技术,以及 对不同特征子集进行评分的评估度量。这个 最简单的算法是测试每个可能的特征子集 使错误率最小化的一个。这是一个详尽的搜索 空间的,并且除了 最小的特征集。评价指标的选择 影响算法,而正是这些评估指标 区分特征选择的三个主要类别 算法:包装器、过滤器和嵌入式方法


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

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

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

更简单地说,在预测因变量(例如类别标签)时,根本不能保证你的顶级主成分是最有用的

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

只是为了补充上面非常好的答案。不同之处在于,PCA将尝试通过探索数据的一个特征如何用其他特征(线性依赖)表示来降低维度。 相反,特征选择会考虑目标。它将根据输入变量对预测目标值的有用程度对其进行排序。这适用于单变量特征选择。
多变量特征选择也可以被视为PCA的一种形式,即它将丢弃输入中的一些特征。但是不要把这个类比太过夸张。

这是如何解决通过PCA进行特征选择的问题的?PCA生成新的特征,但不会立即帮助从原始特征空间中选择特征。回答的第二部分涉及监督问题中的特征选择;目前还不清楚OP是否在寻找这个。PCA本质上是一种无监督技术,我所看到的与之相关的无监督特征选择中唯一提到的是主要特征分析:我问如何在R at中实现这一点。我认为这里的一个关键点是PCA是一种无监督技术,而特征选择通常(但不总是)指有监督的问题。人们可以使用PCA来描述数据集——通过在多台PC机上的高绝对负载,可以揭示某些重要变量——或者将主成分扔到监督模型上,使模型更容易运行。但一般来说,PCA本身并不是一种特征选择工具。