【问题标题】:Why does classifier accuracy drop after PCA, even though 99% of the total variance is covered?为什么在 PCA 之后分类器准确度会下降,即使覆盖了 99% 的总方差?
【发布时间】:2015-06-11 23:14:23
【问题描述】:

我有一个 500x1000 的特征向量,主成分分析表明超过 99% 的总方差被第一个成分覆盖。所以我用 1 维点替换 1000 维点,给出 500x1 特征向量(使用 Matlab 的 pca 函数)。但是,我的分类器准确度最初是 80% 左右,有 1000 个特征,现在下降到 30%,只有 1 个特征,即使超过 99% 的方差是由这个特征引起的。对此有何解释或我的方法有误?

(这个问题部分源于我之前的问题Significance of 99% of variance covered by the first component in PCA

编辑: 我使用weka的主成分法进行降维和支持向量机(SVM)分类器。

【问题讨论】:

  • 你能给出一些代码吗?还是更好地提供您的数据?我还注意到,有时在 pca 识别率下降但从 80% 下降到 30% 后,这是相当惊人的
  • 你能说明如何从原始数据中得到 500x1 的数据吗?
  • 很抱歉,我目前无法共享数据集
  • 尝试同样的方法,但使用 5 或 6 个主成分,

标签: matlab machine-learning pca


【解决方案1】:

主成分不一定与分类准确度有任何关联。可能存在 2 变量情况,其中 99% 的方差对应于第一个 PC,但该 PC 与数据中的基础类无关。而第二个 PC(仅贡献 1% 的方差)是可以分隔类别的 PC。如果您只保留第一台 PC,那么您将失去真正提供数据分类能力的功能。

在实践中,较小(较低方差)的 PC 通常与噪声相关联,因此移除它们可能会有好处,但不能保证这一点。

假设您有两个变量:一个人的质量(以克为单位)和体温(以摄氏度为单位)。您想预测哪些人患有流感,哪些人没有。在这种情况下,体重的方差要大得多,但可能与流感无关,而方差较小的温度与流感有很强的相关性。在主成分变换之后,第一个 PC 将与质量高度对齐(因为它具有更大的方差),因此如果您放弃第二个 PC,将失去几乎所有的分类准确度。

重要的是要记住,主成分是数据的无监督转换。它在计算转换时不考虑您的训练数据的标签(与 Fisher 的 linear discriminant 之类的相反)。

【讨论】:

  • 是的,这是一个很好的例子,更高(更低的方差)PC 更适合分类。对于我提到的线性判别式,这个例子也是一个近乎理想的情况。
  • 即使在 PCA 之后保持 100% 的方差也可能会破坏分类器,因为某些分类器(例如决策树)对数据集旋转很敏感。
猜你喜欢
  • 2015-08-26
  • 1970-01-01
  • 1970-01-01
  • 2017-08-29
  • 2017-11-13
  • 2021-03-25
  • 1970-01-01
  • 2012-02-15
  • 2021-05-04
相关资源
最近更新 更多