PCA 如何提高预测模型的准确性?

机器算法验证 机器学习 主成分分析 数据挖掘
2022-02-15 12:21:57

我在一个关于数字识别的 kaggle 挑战中看到有人在决策树或其他技术之前使用PCA 。

我以为这只是为了压缩数据,但他的目标是提高他的分数。

在这种情况下,PCA 如何提高分数?是不是因为过拟合少了?

4个回答

达迪·珀尔穆特曾经说过:“理论和实践有什么区别?理论上它们是相同的,而在实践中它们是不同的”。这是其中一种情况。

像神经网络这样的方法经常使用梯度下降派生方法。理论上,如果您有无数次迭代和重试,算法将收敛到与坐标系无关的相同结果。神经网络不喜欢“维度诅咒”,因此使用 PCA 降低数据的维度可以提高收敛速度和结果质量。通过 PCA 通知的中心化、旋转和缩放数据的转换可以提高收敛时间和结果质量。

从理论上讲,PCA 没有任何区别,但在实践中,它提高了训练速度,简化了表示数据所需的神经结构,并导致系统更好地表征数据的“中间结构”,而不必考虑多个尺度- 它更准确。

我的猜测是,有类似的原因适用于梯度增强树或其他类似生物的随机森林。 (关联)

免责声明:我通常是错误的。

决策树通过对样本进行递归拆分,拆分基于单个变量,只能生成平行于坐标系轴的决策边界。因此,通过尽可能地将数据旋转到最大方差/对角化协方差矩阵的方向,在类分布之间设置决策边界可能会更容易

话虽如此,我不确定你为什么要在使用神经网络模型或其他任何东西之前进行 PCA(不丢弃一些特征向量),因为单独的旋转没有任何区别 - 网络可以通过特征空间逼近任何函数.

我从 Jonathon Shlens 的“主成分分析教程”中获得的一个见解:执行 PCA 就像选择一个摄像机角度,以获得要解释的方差的最佳视图。

所以我加入了user1843053。在适当的角度,平行于新的旋转坐标系的轴的决策边界可能比原始特征空间更有意义,即使不丢弃“非主要”维度,也可以提高决策树的性能,例如。

PCA 是变量的变化,使用正交方向解释的相关性。

去除具有非代表性对应相关性的方向就像去除噪声一样。您只会保留重要数据。

顺便说一句,感谢该网站。