“维度灾难”的不同定义

机器算法验证 定义 高维
2022-03-26 19:41:30

我已经阅读了维度诅咒的两个定义:第一个似乎更普遍,(我在其他问题中看到人们在 stats.SE 上引用它),另一个我最近才遇到。他们来了:

  1. 维度诅咒被创造出来表明,在给定精度水平下估计任意函数所需的样本数量随着它所包含的变量(即维度)数量的增加而呈指数增长
    [H. Samet,多维和度量数据结构的基础,pp486]

  2. 维数诅咒是对数据集的所有或部分重要特征急剧集中在其中值(或平均值)附近并因此变得不可区分的情况的名称。
    [五。Pestov,数据集内在维度的公理化方法,神经网络 21 (2008) 204–213]

这些定义之间有什么关系?第二个同意第一个吗?

1个回答

它不是像导数那样需要正式定义而没有任何歧义的数学对象。它是使用高维数据时遇到的这两个问题的总称。这些问题严格来说是分开的,并且始终存在。根据您的算法对它们的脆弱性,您可能必须同时处理两者,没有,一个但不是另一个,反之亦然。

我已经阅读了略有不同版本的第一个定义。正如这里所引用的,这个定义并没有告诉我们以给定的准确度来估计函数是什么意思。无论如何,如果你想知道一个函数在等距点的值,你需要更多的点,你有更多的维度。例如,每 0.1 个从 0 到 1 的一维线需要 10 个点,单位正方形需要 100 个点,立方体需要 1000 个点等。这仅影响需要在特征空间的所有方向上采样点的算法。

第二个定义也称为“距离集中效应”。许多但并非所有算法都受到它的影响。当算法使用 k 个最近邻或其他一些依赖于距离测量的技术时,它就会发挥作用。我不记得我在哪个规范参考文献中提到了距离集中一词。不过,这里有两篇论文详细讨论了这个问题: 什么时候最近邻居有意义高维数值数据中无监督异常值检测的调查

在实践中,它们经常同时发生。严格来说,他们总是在场。问题是您的算法是否容易受到两者的影响。例如,对于经典的 k 最近邻学习,您希望在测试示例可能来自的空间的所有区域中都有训练示例。因此,你很容易受到第一种意义上的维度诅咒。您也容易受到该术语的第二个含义的影响,因为您需要计算距离以建立最近的邻居,如果所有距离都收敛到相同的数字,这就没有意义了。

两种定义都在使用中。我建议您从上下文中推断来源使用的含义,并在使用该术语时具体说明您的含义。

PS。当算法的计算复杂度随着维数的增加而增加时,我也看到过非正式使用的术语。然后,该术语仅指日益增加的计算复杂性。