我正在尝试建立一个使用 SVM 对 MNIST 数据集进行分类的模型。使用原始特征,我的准确率约为 94%(使用线性内核)。
当我使用 PCA 尝试使用不同数量的组件(35,50,250,500)时,我的准确率约为 11%。
这可能是什么原因?
我正在尝试建立一个使用 SVM 对 MNIST 数据集进行分类的模型。使用原始特征,我的准确率约为 94%(使用线性内核)。
当我使用 PCA 尝试使用不同数量的组件(35,50,250,500)时,我的准确率约为 11%。
这可能是什么原因?
您可能正在做一些事情,但值得一提。
您是否“白化”了您的数据——平均中心并按标准差标准化?此步骤可能取决于实现。 http://deeplearning.stanford.edu/wiki/index.php/PCA
您是否检查了所选参数的数量解释了多少可变性?对于图像 +80% 是常见的。
确保您了解您正在使用的 PCA 的实现。它总是让我对不同实现使用的术语感到困惑,例如分数、旋转等。我建议按照教程并将它们的输出与您的实现相匹配,以获得更深入的理解。 http://sebastianraschka.com/Articles/2015_pca_in_3_steps.html
您的模型现在建立在转换后的数据之上。要进行预测,请确保您在新输入数据上使用这些相同的转换。
首先,请阅读 PCA 算法到底是什么,什么时候可以使用,它解决什么目的。
只是把它扔到一个问题上,并期望它能够改善你的结果,大多数情况下都会奏效。
PCA 将数据集中的特征缩减为维度,供用户选择他/她想在模型中使用的维度数量作为特征。
因此,选择正确数量的要使用或从模型中消除的特征将决定您的准确性。