Machine learning 为什么主成分分析会降低逻辑回归的性能?

Machine learning 为什么主成分分析会降低逻辑回归的性能?,machine-learning,statistics,pca,logistic-regression,data-science,Machine Learning,Statistics,Pca,Logistic Regression,Data Science,我用50000 X 370维的数据对一个二元分类问题进行了逻辑回归。我得到了大约90%的准确率。但是当我对数据进行PCA+Logistic时,我的准确率降低到了10%,看到这个结果我非常震惊。有人能解释一下可能出现的问题吗?不能保证PCA会有帮助,或者不会损害学习过程。特别是,如果您使用PCA来减少维度的数量-您正在从数据中删除信息,因此一切都可能发生-如果删除的数据是冗余的,您可能会得到更好的分数,如果这是问题的一个重要部分-您会变得更糟。即使不降低维度,但只要通过PCA“旋转”输入空间,就可

我用50000 X 370维的数据对一个二元分类问题进行了逻辑回归。我得到了大约90%的准确率。但是当我对数据进行PCA+Logistic时,我的准确率降低到了10%,看到这个结果我非常震惊。有人能解释一下可能出现的问题吗?

不能保证PCA会有帮助,或者不会损害学习过程。特别是,如果您使用PCA来减少维度的数量-您正在从数据中删除信息,因此一切都可能发生-如果删除的数据是冗余的,您可能会得到更好的分数,如果这是问题的一个重要部分-您会变得更糟。即使不降低维度,但只要通过PCA“旋转”输入空间,就可以对过程既有利又有害-必须记住,PCA只是一种启发式,当涉及到监督学习时。PCA的唯一保证是,每个consequentive维将解释越来越少的方差,并且它是解释前K维方差的最佳仿射变换。这就是全部。这与实际问题完全无关,因为PCA根本不考虑标签。给定任何数据集,PCA将以一种仅取决于点位置的方式对其进行变换-因此对于某些标签(与数据的一般形状一致)-它可能会有所帮助,但对于许多其他标签(更复杂的标签模式)-它将破坏先前可检测的关系。此外,由于PCA导致某些缩放的变化,您可能需要分类器的不同超参数,例如LR的正则化强度

现在回到你的问题-我想说,在你的情况下,问题是。。。代码中的错误。您不能将准确度显著降低到50%以下。10%的准确率意味着,使用与分类器相反的将得到90%(当它说“真”时只回答“假”,反之亦然)。因此,即使PCA可能没有帮助(或者甚至可能有害,如前所述),在您的情况下,它肯定是代码中的错误。

  • PCA在减少特征数量的同时并不关心类标签。它唯一关心的是保持最大方差,这对于分类任务来说可能并不总是最优的

  • 另一方面,L1 Reg将那些与类标签没有太多关联的特性推向零。因此,L1 Reg努力减少特征数量,同时获得良好的分类性能

  • 因此,L1正则化应优先于PCA,以减少特征数量。为了避免拟合不足,我们始终可以进行超参数调整以找到最佳lambda


您的评论对我澄清PCA概念非常有帮助。但我的结果并不是经常显示10%,而是在5%-45%之间变化。虽然我在不同的试验中涵盖了高达99%、98%、97%的协方差,以避免过度拟合。它显示了最佳结果,47%的准确率,97%的协方差覆盖。虽然简单逻辑回归的准确率始终在93-95%左右,但覆盖协方差的数量与分类无关——如答案中所述。再一次-你的结果看起来像是一个错误,在二元分类中获得低于50%的准确率几乎是不可能的。包括你们的代码,问你们的问题,我相信社区会告诉你们你们做错了什么。我的最佳猜测(没有看到代码)是,您独立地将PCA适合于训练和测试数据集,即使您应该只适合于训练,并使用适合的PCA来转换测试