MNIST 数据集上的 PCA 导致性能非常差

数据挖掘 支持向量机 表现 多类分类
2022-02-23 15:54:23

我正在尝试建立一个使用 SVM 对 MNIST 数据集进行分类的模型。使用原始特征,我的准确率约为 94%(使用线性内核)。

当我使用 PCA 尝试使用不同数量的组件(35,50,250,500)时,我的准确率约为 11%。

这可能是什么原因?

2个回答

您可能正在做一些事情,但值得一提。

您是否“白化”了您的数据——平均中心并按标准差标准化?此步骤可能取决于实现。 http://deeplearning.stanford.edu/wiki/index.php/PCA

您是否检查了所选参数的数量解释了多少可变性?对于图像 +80% 是常见的。

确保您了解您正在使用的 PCA 的实现。它总是让我对不同实现使用的术语感到困惑,例如分数、旋转等。我建议按照教程并将它们的输出与您的实现相匹配,以获得更深入的理解。 http://sebastianraschka.com/Articles/2015_pca_in_3_steps.html

您的模型现在建立在转换后的数据之上。要进行预测,请确保您在新输入数据上使用这些相同的转换。

首先,请阅读 PCA 算法到底是什么,什么时候可以使用,它解决什么目的。

只是把它扔到一个问题上,并期望它能够改善你的结果,大多数情况下都会奏效。

PCA 将数据集中的特征缩减为维度,供用户选择他/她想在模型中使用的维度数量作为特征。

因此,选择正确数量的要使用或从模型中消除的特征将决定您的准确性。