为什么PCA后分类器的准确度会下降,即使总方差的99%被覆盖了?

时间:2015-06-11 11:03:58

标签: matlab machine-learning pca

我有一个500x1000的特征向量,主成分分析表明第一个成分涵盖了超过99%的总方差。因此,我将1000维点替换为1维点,给出500x1特征向量(使用Matlab的pca函数)。但是,我的分类器精度最初约为80%,1000个特征现在降至30%,其中1个特征即使超过99%的方差由此特征计算。可能是对此的解释还是我的方法错了?

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

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

1 个答案:

答案 0 :(得分:9)

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

在实践中,较小(较低差异)的PC通常与噪声相关联,因此可以从中删除它们,但不能保证这一点。

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

重要的是要记住,Principal Components是数据的无监督转换。在计算变换时,它不会考虑训练数据的标签(与Fisher linear discriminant相反)。