维度诅咒:kNN分类器


11

我正在阅读凯文·墨菲(Kevin Murphy)的书:《机器学习-概率论》。在第一章中,作者正在解释维数的诅咒,其中有一部分我不理解。例如,作者指出:

考虑输入沿D维单位立方体均匀分布。假设我们通过在x周围生长一个超立方体直到它包含所需的数据点分数来估计类标签的密度。该立方体的预期边缘长度为。e Df = f 1FËdF=F1个d

这是我无法理解的最后一个公式。似乎如果要覆盖10%的点,则沿每个尺寸的边长应为0.1?我知道我的推理是错误的,但我不明白为什么。


6
首先尝试从两个角度描述情况。如果我有一张1m * 1m的纸,并且在左下角切出一个0.1m * 0.1m的正方形,则我没有除去十分之一的纸张,而只除去了百分之一百
David Zhang

Answers:


13

这恰恰是高尺寸距离的意外行为。对于1维,您具有间隔[0,1]。10%的点在长度为0.1的线段中。但是,随着特征空间的维数增加,会发生什么?

该表达式告诉您,如果要在5个维度上拥有10%的点,则多维数据集的长度必须为0.63,在10个维度中的长度为0.79,对于100个维度的长度为0.98。

如您所见,要增加尺寸,您需要将视线移到更远的地方以获得相同数量的点。甚至还告诉您,随着维数的增加,大多数点都位于立方体的边界。这是意外的。


4

我认为主要要注意的是

ËdF=F1个d

一开始真的很陡。这意味着您将需要包含一定量体积的边缘的大小会急剧增加,特别是在开始时。也就是说,随着增加,您需要的边缘将变得非常大。d

为了使这一点更加清楚,请回想一下墨菲展示的情节:

在此处输入图片说明

如果您注意到,对于值,斜率确实很大,因此该函数在开始时确实陡峭地增长。如果采用的导数,则可以更好地理解:e Df d>1个ËdF

ËdF=1个dF1个d-1个=1个dF1个-dd

由于我们仅考虑增加维度(即整数值),因此我们仅关注整数值。这意味着。考虑如下边的表达式:1 D < 0d>1个1个-d<0

ËdF=1个dF1个-d1个d

注意,我们将提升为小于0的幂(即负)。当我们将数字提高为负幂时,我们在某个时候进行倒数运算(即)。对已经非常小的数字进行倒数运算(请回想因为我们仅考虑体积的一部分,因为我们正在执行KNN,即,总数最近的数据点)意味着该数字将“增长a很多”。因此,我们得到了期望的行为,即随着增加,幂变得更加负,因此,所需的边沿将根据增大程度而大大增加。x 1 = 1FX-1个=1个XF<1个ķñdd

(请注意,与很快变得无关紧要的相比,呈指数增长)。F1个-d1个d


2

是的,因此,如果您有一个单位多维数据集,或者如果您有一个单位线,并且数据是均匀分布的,那么您必须采用0.1的长度才能捕获10%的数据。现在,随着尺寸的增加,D增大,功率减小,f小于1,f增大,因此,如果D达到无穷大,则必须捕获所有立方体,e = 1。


0

我认为对于kNN距离起更大的作用。(超)立方体发生的事情类似于点之间的距离发生的事情。随着尺寸数量的增加,最接近的距离与平均距离之间的比率会增加-这意味着最接近的点与平均点的距离几乎一样远,因此它的预测能力仅比平均点略大。这篇文章很好地解释了

Joel Grus很好地在Scratch的Data Science中描述了此问题。在那本书中,他计算了维数增加时维空间中两点之间的平均和最小距离。他计算了点之间的10,000个距离,维数的范围为0到100。然后他继续绘制两个点之间的平均和最小距离,以及最近距离与平均距离的比值(Distance_Closest / Distance_Average) 。

在这些图中,乔尔(Joel)表明,最近距离与平均距离的比率从0维度的0增加到100维度的〜0.8。这显示了使用k最近邻算法时维数的基本挑战;随着维数的增加和最近距离与平均距离之比接近1,算法的预测能力降低。如果最近的点几乎与平均点相距甚远,则其预测能力仅比平均点略强。

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.