维度诅咒对某些模型的影响是否比其他模型更大?

机器算法验证 神经网络 支持向量机 k-均值 k-最近邻 高维
2022-01-24 23:24:12

我一直在阅读的关于维度诅咒的地方主要结合 kNN 和一般的线性模型来解释它。我经常看到 Kaggle 中排名靠前的人在几乎没有 10 万个数据点的数据集上使用了数千个特征。他们主要使用 Boosted 树和 NN 等。许多特征似乎太高了,我觉得它们会受到维度诅咒的影响。但情况似乎并非如此,因为这些模型使它们在比赛中名列前茅。那么,回到我最初的问题——某些模型是否比其他模型更容易受到维度诅咒的影响?

具体来说,我对以下模型感兴趣(仅因为这些是我知道/使用的模型):

  • 线性和逻辑回归
  • 决策树/随机森林/增强树
  • 神经网络
  • 支持向量机
  • 神经网络
  • k-均值聚类
1个回答

一般来说,维度灾难使搜索空间的问题变得更加困难,并且影响了大多数通过划分向量空间来“学习”的算法。我们的优化问题的维数越高,我们需要的数据就越多来填充我们正在优化的空间。

广义线性模型

线性模型深受维度诅咒的影响。线性模型将空间划分为单个线性平面。即使我们不打算直接计算

β^=(XX)1Xy
提出的问题仍然对共线性非常敏感,并且可以在没有某种正则化的情况下被认为是“病态的”。在非常高维的空间中,有不止一个平面可以拟合您的数据,如果没有适当的正则化类型,可能会导致模型表现得很差。具体来说,正则化的作用是试图强制存在一种独特的解决方案。L1 和平方 L2 正则化都试图最小化权重,并且可以解释为选择具有最小权重的模型是最“正确”的模型。这可以被认为是奥卡姆剃刀的数学公式。

决策树
决策树也遭受维数灾难。决策树直接在每个节点处划分样本空间。随着样本空间的增加,数据点之间的距离增加,这使得找到“好的”分割变得更加困难。

随机森林
随机森林使用决策树的集合来进行预测。但不是使用问题的所有特征,个别树只使用特征的子集。这最大限度地减少了每棵树优化的空间,并有助于解决维度灾难的问题。

Boosted Tree 的
Boosting 算法(例如 AdaBoost)遭受维数诅咒,如果不使用正则化,往往会过度拟合。我不会深入,因为帖子AdaBoost 是不是更容易过度拟合? 解释了为什么比我做得更好的原因。

神经网络
神经网络很奇怪,因为它们都受到依赖于架构、激活、深度等的维数诅咒的影响,也不受其影响。因此重申维数诅咒是一个问题,即在高阶中需要大量的点覆盖输入空间的尺寸。解释深度神经网络的一种方法是认为所有层都期望最后一层将高维流形复杂投影到低维流形,然后最后一层在其上进行分类。因此,例如在最后一层是 softmax 层的分类卷积网络中,我们可以将架构解释为在较小维度上进行非线性投影,然后对该投影进行多项逻辑回归(softmax 层)。所以从某种意义上说,我们数据的压缩表示允许我们规避维数的诅咒。这又是一种解释,实际上维数诅咒确实会影响神经网络,但与上述模型不在同一水平。

由于发生过度正则化, SVM
SVM 倾向于不像广义线性模型那样过度拟合。查看这篇文章SVM, Overfitting, curse of dimensionality了解更多细节。

K-NN,K-均值

K-mean 和 K-NN 都受到维数诅咒的极大影响,因为它们都使用 L2 平方距离度量。随着维度数量的增加,各种数据点之间的距离也会增加。这就是为什么你需要更多的点来覆盖更多的空间,希望距离更具描述性。

随意询问有关模型的细节,因为我的答案很笼统。希望这可以帮助。