为什么在高维上欧几里得距离不是一个好的指标?


239

我读到“欧氏距离不是高尺寸的好距离”。我想这句话与维数的诅咒有关,但究竟是什么呢?此外,什么是“高尺寸”?我一直在使用具有100个要素的欧几里得距离进行层次聚类。使用此指标“安全”最多有多少个功能?


5
主教

5
这对您来说可能太基本了;我写了一系列有关欧几里得度量的更高维度的博客文章,以及这对搜索向量空间中最接近匹配的影响。blogs.msdn.com/b/ericlippert/archive/tags/…–
埃里克·利珀特

1
@HorstGrünbusch请参阅下面的答案以获取一些参考。与平均值相比,距离的差异变小。因此,在某些时候,您会遇到选择阈值,权重,排序的麻烦;甚至可能会遇到数值精度问题。但是,如果您的数据稀疏,则其固有维数可能会低得多。
Anony-Mousse 2014年

3
“高维”似乎是一个误导性术语-一些答案将9-12视为“高维”,但在其他领域,高维则意味着数千或一百万个维(例如,测量词袋矢量之间的角度,其中每个维度是字典中某个单词的出现频率),而100个维度将被称为低维度,而不是高维度。
彼得斯2014年

2
这个问题确实可以在某些情况下解决。 对什么不好?
Szabolcs

Answers:


242

华盛顿大学的Pedro Domingos撰写的“ 关于机器学习的一些有用知识 ”对更高维度的非直觉结果做了一个很好的总结:

起源于三维世界的直觉通常不适用于高维直觉。在高维中,多元高斯分布的大部分质量都不在均值附近,而是在其周围越来越远的“壳”中。高维橙的大部分体积在皮肤中,而不是果肉中。如果恒定数量的示例均匀地分布在高维超立方体中,则除了某些维度之外,大多数示例更接近于超立方体的面而不是其最近邻居。而且,如果我们通过将超球体刻在超立方体中来近似一个超球体,那么在高维度上,几乎所有超立方体的体积都在超球体之外。对于机器学习而言,这是个坏消息,在这种情况下,一种类型的形状通常与另一种类型的形状近似。

本文还充满了机器学习的许多其他智慧。

除了机器学习之外,另一个应用程序是最近邻居搜索:给出感兴趣的观察结果,找到它的最近邻居(就这些而言,它们是距查询点的距离最小的点)。但是,在高维度上,会出现一种奇怪的现象:最近点和最远点之间的比率接近1,即,这些点实际上变得均匀地彼此远离。可以在各种各样的距离度量中观察到这种现象,但是对于欧几里得度量而言,这种现象比曼哈顿距离度量更为明显。最近邻居搜索的前提是“更近”的点比“更远”的点更相关,但是如果所有点基本上彼此均匀地相距,则区别是没有意义的。

来自Charu C. Aggarwal,Alexander Hinneburg和Daniel A. Keim,“ 关于高维空间中距离度量的惊人行为 ”:

[凯文·拜尔(Kevin Beyer),乔纳森·戈德斯坦(Jonathan Goldstein),拉古·拉玛克里希南(Raghu Ramakrishnan),乌里·沙夫特(Uri Shaft) “合理的假设下,对数据分布有合理的假设”中指出,最近和最远邻居的距离之比对于各种数据分布和距离函数,在高维空间中给定目标的近似值几乎为1。在这种情况下,由于不存在到不同数据点的距离之间的对比度,最近的邻居问题变得难以定义。在这种情况下,从质量的角度来看,即使是接近的概念也可能没有意义:这个问题比高维算法的性能下降甚至更为根本。

...许多高维索引结构和算法都将[E]欧氏距离度量作为其在二维或三维空间应用中传统使用的自然扩展。...在分析范数对值的依赖性时,我们提供了一些令人惊讶的理论和实验结果。更具体地说,我们显示到查询点的距离的相对对比度在很大程度上取决于所使用的度量。这提供了可观的证据,即对于较高的值,范数的意义在数增大时会更快恶化。因此,对于给定的维数为固定(高)值的问题 k L k L k k d k L 1 L 2LkkLkLkkd,最好使用较低的值。这意味着距离度量(曼哈顿距离度量)对于高维应用程序是最优选的,其次是欧几里得度量()。...kL1L2

然后,“惊奇行为”论文的作者建议使用范。他们产生了一些结果,表明这些“分数范数”表现出增加最远点和最近点之间的对比度的特性。这在某些情况下可能有用,但是有一个警告:这些“分数范数”不是正确的距离度量,因为它们违反了三角形不等式。如果三角不等式是要在研究中获得的重要品质,那么分数指标将不会有太大用处。 k < 1Lkk<1


7
这个参考很棒
Antoine

1
再次阅读...美丽...
理查德·哈迪

113

欧几里得距离的概念在欧几里得研究的二维和三维世界中都很好用,它在较高维度上具有某些特性,这与我们(也许只是我的)几何直觉相反,这也是从第二和第三推论得出的尺寸。

考虑一个顶点为的正方形。绘制四个以为中心的单位半径圆。这些“填充”正方形,每个圆圈在两个点处接触正方形的边,每个圆圈接触其两个邻居。例如,以为中心的圆 与和的正方形的边相接触,并且与相邻的圆在和。接下来,画一个以原点为中心的小圆圈± 2 ± 2 ± 1 ± 1 1 1 2 1 1 2 1 0 0 1 - [R 2 = 4×4(±2,±2)(±1,±1)(1,1)(2,1)(1,2)(1,0)(0,1)触及所有四个圆圈。由于端点为两个闭合圆的圆心的线段通过了闭合点,因此可以很容易地验证出该较小圆的半径为 ,并且其触摸到的是。请注意,小圆圈被四个较大的圆圈“完全包围”,因此也完全位于正方形内部。还要注意,点位于小圆圈上。还要注意,从原点开始,一个人无法“看到” 正方形边缘上的点,因为视线经过了两个以圆心为中心的闭合点在r2=21(±r2/2,±r2/2)(r2,0)(2,0,0)(1,0,0)(1,1)和。与视线到轴线穿过正方形边缘的其他点的视同。(1,1)

接下来,考虑一个顶点为 ×立方体 。我们用以为中心的密合单位半径球体填充它,然后放置一个以原点为中心的较小密合球体。请注意,小球体的半径为 ,并且点位于小球体的表面上。但也请注意,在三个维度中,一个人可以 “看到”点 4×4×4(±2,±2,±2)8(±1,±1,±1)r3=31<1(r3,0,0)(2,0,0)从起源 没有更大的更大的球体可以像二维那样阻挡视图。从原点到轴穿过立方体表面的这些清晰的视线也出现在所有较大的尺寸中。

概括地说,我们可以考虑第面的维超立方体, 并以以为中心的单位半径超球面填充,然后放一个“较小”的半径为球面 。点 位于这个“较小”的球体上。但是,从中注意到,当,,因此“较小”的球体具有单位半径,因此对于实际上不应该使用“较小”的球面n42n(±1,±1,,±1)- [RÑ00...01ñ=4- [RÑ=1ñ4Ñ>91- [RÑ>2[RÑ00...04

(1)rn=n1
(rn,0,0,,0)(1)n=4rn=1n4。的确,如果我们称其为“大范围”或“中心范围”会更好。如上一段所述,从原点到轴穿过超立方体的表面的点都有清晰的视线。更糟糕的是,当,我们从得到,因此中心球上的 点 位于面的超立方体之外, 即使它是被“填充”超立方体的单位半径超球“完全包围”(在包装上)。n>9(1)rn>2(rn,0,0,,0)4 中心球体在高维空间的超立方体外部“凸出”。我发现这很违反直觉,因为我使用从我熟悉的2空间和3空间发展而来的几何直觉,将欧几里德距离概念转化为更高维度的想法并未描述高维空间。

我对OP的问题“此外,什么是'高尺寸'?” 是。n9



9
@ stackoverflowuser2010:如果这个答案是完全无法理解的,您如何分辨它是解决还是试图解决原始问题?一种更具建设性的方法可能是要求澄清您发现的任何不清楚的问题,而不是将整个问题扔掉。
Scortchi

8
@ stackoverflowuser2010由于此答案有数十种反对意见,因此似乎很多人都认为它是可以合理理解的,并且以某种可接受的方式回答了该问题。也许您可以尝试进行更具建设性的批评-具体来说,您认为该答案将得到改善吗?它应该包括什么呢?
Glen_b

1
@Scortchi:也许我期望太高了,但是对于这个可以帮助社区的问题,一个明确的答案将是:“因为<X>,欧几里得距离不是一个好的指标”。
stackoverflowuser2010

7
@ stackoverflow2010您将永远不会看到这样的“好”答案,因为 <事物比if-then语句要复杂得多。如果您想要一个简单的答案,那很可能是错误的。就像该死的英国脱欧骗子一样,他们擅长提供简单的答案(错误,但简单)。
Anony-Mousse

42

这是信噪比的问题。由于平方项的原因,欧几里得距离对噪声特别敏感。但即使是曼哈顿距离和“分数”(非公制)距离也会受到影响。

我发现本文中的研究很有启发性:

A. Zimek,E。Schubert和H.-P. Kriegel。(2012),
对高维数值数据中非监督离群值检测的调查。
统计分析数据挖掘,5:363-387。doi:10.1002 / sam.11161

它回顾了@Pat提到的Aggarwal,Hinneburg和Keim在“关于高维空间中距离度量的惊人行为”中所做的观察。但这也显示出合成实验是如何引起误导的,实际上高维数据可以变得更容易。如果您有很多(冗余)信号,而新尺寸则几乎没有噪音。

当考虑重复尺寸时,最后一个主张可能是最明显的。映射数据集增加代表维数,但一点也不会使欧氏距离失败。(另请参见:固有维数x,yx,y,x,y,x,y,x,y,...,x,y

所以最后,它仍然取决于您的数据。如果您有很多无用的属性,那么欧几里得距离将变得无用。如果您可以轻松地将数据嵌入到低维数据空间中,那么欧几里得距离也应在整个维空间中起作用。特别是对于稀疏数据,例如来自文本的TF矢量,似乎确实是这种情况,即数据的维数比矢量空间模型建议的低得多。

有人认为,在高维数据上,余弦距离比欧几里得更好。我不这么认为:余弦距离和欧几里得距离是密切相关的。所以我们必须期望他们遭受同样的问题。但是,在余弦流行的文本数据通常比较稀疏,而在稀疏数据上余弦速度更快-因此,对于稀疏数据,有充分的理由使用余弦。而且由于数据稀疏,固有维数远远小于矢量空间维。

另请参阅我对先前问题的答复:https : //stats.stackexchange.com/a/29647/7828


对于大在中随机放置的点的平均角度始终接近90° (请参见此处的图 Ñ[1,1]nn
Martin Thoma

从中得出的结论是什么?在[-1; 1] ^ d,不应该使用余弦,因为它没有定义为0,平均值没有告诉我们有关该诅咒的任何信息,并且统一数据是不现实的。
Anony-Mousse'1

我到目前为止还没有尝试过,但是我想实际数据的角度看起来很相似。它没有定义为0的事实并不重要,因为它只是一个点。我的结论与您的结论相似:余弦距离不适用于高维空间(尽管可能仍然存在域)
Martin Thoma

一个更现实的情况是非负单位球上的点。感兴趣的度量可能是方差,而不是均值。
Anony-Mousse

要进入非负单位球,您只需加+1并除以2 ...
Martin Thoma

34

最好的起点可能是阅读由Aggarwal,Hinneburg和Keim撰写的《高度量空间中距离度量的惊人行为》。这里有一个当前有效的链接(pdf),但是如果中断的话,应该可以在Google上使用。简而言之,随着维数的增加,集合中的点与其最接近的邻居之间以及该点与最远的邻居之间的相对欧几里得距离以某些非显而易见的方式改变。这是否会严重影响您的结果,很大程度上取决于您要实现的目标以及数据的状态。


6

欧几里得距离很少是在机器学习中选择的理想距​​离,而在更高维度中,这种距离变得更加明显。这是因为在机器学习中,大多数时候您不是在处理欧氏度量空间,而是在概率度量空间,因此您应该使用概率和信息理论距离函数,例如基于熵的函数。

人类喜欢欧几里德空间,因为它很容易概念化,而且在数学上也很容易,因为线性特性意味着我们可以应用线性代数。如果用Kullback-Leibler Divergence来定义距离,则很难直观地进行可视化和数学运算。


2
这可能是有问题的,因为KL Divergence不是度量标准。:-)
阿格里(Agarie)2014年

2
如果需要对称,则可以使用相互信息,如所提示的那样,可以按照KL定义。
samthebest,2014年

3

打个比方,想象一个以原点为中心的圆。点数均匀分布。假设一个随机选择的点在(x1,x2)。距原点的欧几里得距离为((x1)^ 2 +(x2)^ 2)^ 0.5

现在,想象点均匀分布在一个球体上。现在,相同的点(x1,x2)可能是(x1,x2,x3)。由于在均匀分布中,只有很少的点的坐标之一为零,因此我们假设随机选择的均匀分布点的[x3!= 0]。因此,我们的随机点很可能是(x1,x2,x3),而不是(x1,x2、0)。

这样的效果是:现在任何随机点都距3-D球面的原点((x1)^ 2 +(x2)^ 2 +(x3)^ 2)^ 0.5。该距离大于2-D圆的原点附近的随机点的距离。在更高维度上,此问题变得更加严重,这就是为什么我们选择除欧几里得维度之外的指标来处理更高维度的原因。

编辑:现在我回想起一句话:“高维橙的大部分质量是在皮肤中,而不是果肉中”,这意味着在高维橙中,均匀分布的点更接近(欧几里德距离)边界比起源。

旁注:由于“非均匀性的祝福”,欧几里得距离对于现实世界的问题并不算太坏,这基本上表明,对于真实数据,您的数据可能不会在更高维度的空间中均匀分布,但是将占据该空间的一小部分。这在直觉上是有道理的:如果您要测量100个有关人的身高,体重等信息,那么在尺寸空间上均匀分布就没有意义,例如,一个人(身高= 65英寸,体重= 150磅,avg_calorie_intake = 4000),这在现实世界中是不可能的。


如果将来有任何读者对“橙色/纸浆”引号或“不均匀的祝福”这句话感兴趣,那么它们都将出现在“一些有关学习机器学习的有用知识”中,这与我对此的回答相关。线。
Sycorax

1

这个问题的另一个方面是:

通常,(机器学习/统计)问题中的高维度是功能过度约束的结果。

意味着维度不是独立的(或不相关的),但是欧几里得度量标准假设(至少)不相关,因此可能不会产生最佳结果

因此,要回答您的问题,“高尺寸”的数量与相互依赖或冗余或过度约束的特征数量有关

另外:Csiszar(等)的一个定理是,当特征具有某些形式时,欧几里得度量是推理的“自然”候选者


3
欧几里得度量标准不“假设...不相关”。在不相关变量的情况下,欧氏距离在高维中效果最差。考虑一个极端的情况:您有很多维都完全相关,r = 1,现在您的数据实际上是一维的,而欧几里德距离与一维数据一起工作很好。
gung

不,我不这么认为,根据定义,欧几里得距离假设为不相关数据(除非将广义欧几里德距离与相关矩阵一起使用)
Nikos M.

具有总相关性(r = 1)的特征是一个简单的示例,等效于“简单相关矩阵”,但也许我错了
NikosM。

@gung您可以将欧几里得损失解释为具有固定单位各向同性方差矩阵的高斯的交叉熵损失。我认为这是一个好点,但可以更好地解释。
Neil G

1
(0,0)(1,1)dE=j(x2jx1j)22X1=X212cor(X1,X2)=02

0

本文也可能对您有所帮助“改进的sqrt-余弦相似度测量”请访问https://journalofbigdata.springeropen.com/articles/10.1186/s40537-017-0083-6 本文解释了为什么欧几里德距离不是高维的良好度量标准数据以及在高维数据中欧几里德距离的最佳替代方法是什么。欧几里得距离是L2范数,通过减小Lk范数中的k值,我们可以缓解高维数据中的距离问题。您也可以在本文中找到参考资料。


2
欢迎来到该网站。我们正在尝试以问题和解答的形式建立永久的高质量统计信息存储库。因此,由于linkrot,我们对仅链接的答案保持警惕。您可以在链接上发布完整的引文和信息摘要,以防万一它消失了?
gung
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.