如何在监督机器学习分类问题中使用主成分分析?

问题描述 投票:0回答:2

我一直在研究 R 中的主成分分析的概念。

我很乐意将 PCA 应用于(比如,标记的)数据集,并最终从我的矩阵中提取出最有趣的前几个主成分作为数字变量。

最终的问题是,从某种意义上说,现在怎么办?我在 PCA 上遇到的大部分阅读在计算完成后立即停止,特别是关于机器学习。请原谅我的夸张,但我觉得好像每个人都同意该技术是有用的,但没有人愿意在他们使用它之后真正使用它。

更具体地说,这是我真正的问题:

我尊重主成分是您开始使用的变量的线性组合。那么,这种转换后的数据如何在监督机器学习中发挥作用呢?怎么会有人使用 PCA 来降低数据集的维度,然后将这些组件与受监督的学习器(例如 SVM)一起使用?

我对我们的标签发生了什么感到非常困惑。一旦我们进入本征空间,那就太好了。但如果这种转变打破了我们的分类概念,我看不出有任何方法可以继续推进机器学习(除非我没有遇到过“是”或“否”的某种线性组合!)

machine-learning pca supervised-learning
2个回答
9
投票

老问题,但我不认为它得到了令人满意的回答(我刚刚通过谷歌来到这里)。我发现自己和你一样,不得不自己寻找答案。

PCA的目标是用正交基W表示你的数据X;你的数据在这个新基础上的坐标是 Z,如下所示:

X = ZW'

由于正交性,我们可以简单地通过转置来反转 W 并写成:

XW = Z

现在为了降低维度,让我们选择一些组件 k < p. Assuming our basis vectors in W are ordered from largest to smallest (i.e., eigenvector corresponding to the largest eigenvalue is first, etc.), this amounts to simply keeping the first k columns of W.

XW = Z

现在我们有训练数据 X 的 k 维表示。现在您使用 Z 中的新功能运行一些监督分类器。

Y=f(Z)

关键是要认识到 W 在某种意义上是从 p 个特征空间到 k 个特征空间的规范转换(或者至少是我们使用训练数据可以找到的最佳转换)。因此,我们可以使用相同的 W 转换来命中我们的test数据,从而产生一组 k 维测试特征:

XW = Z

我们现在可以使用在训练数据的 k 维表示上训练的相同分类器来对测试数据的 k 维表示进行预测:

Y=f(Z)

完成整个过程的意义在于,您可能拥有数千个特征,但 (1) 并非所有特征都具有有意义的信号,并且 (2) 您的监督学习方法可能过于复杂,无法在完整的功能集(要么花费太长时间,要么您的计算机没有足够的内存来处理计算)。 PCA 允许您显着减少表示数据所需的特征数量,而不会消除真正增加价值的数据特征。


3
投票

在对部分数据使用 PCA 计算转换矩阵后,将该矩阵应用于每个数据点,然后再将它们提交给分类器。

当数据的内在维度远小于组件数量时,这很有用,并且在分类过程中获得的性能增益值得损失准确性和 PCA 成本。另外,请记住 PCA 的局限性:

  • 在执行线性变换时,您隐含地假设所有组件都以等效单位表示。
  • 除了方差之外,PCA 对数据结构视而不见。数据很可能沿着低方差维度分裂。在那种情况下,分类器不会从转换后的数据中学习。
© www.soinside.com 2019 - 2024. All rights reserved.