走进高维空间之“维度魔咒”,所有的“邻居”都去哪了?(7)
2023-04-26 来源:飞速影视
将近50%! 让我们消化一下:
在单维中,只需要包括单个预测器范围的10%,就可以定义一个包括10%的均匀分布的训练数据的邻居。在两个维度上,需要两个预测器的范围各占32%。在三个维度上,需要三个预测器范围中的每一个的46%!这里的基础数学其实很简单,真正的精彩在最后。
让我们用一个例子来说明这个问题吧,记得农作作物例子吗? pH值的范围是0-14。如果我索引点的pH值为7,那么就要在一个维度上包括pH值为6.25-7.75的训练点(直觉上似乎是合理的,对吗?),在两个维度上包括4.6-9.4(这合理吗?),在三个维度上包括3.55-10.45(这似乎开始离谱了)。将这些点称为邻居还有意义吗?
延伸
在应用统计学中,使用几十个、几百个、甚至几千个预测因子是很常见的。如果在三个维度中,每个预测器的范围有近50%是用来捕捉10%的训练数据的,那么在10个维度中呢?100个维度呢?
下面的图对1到100个维度之间的每一个维度回答了这个问题。具体来说,我们把维度(即预测器)的数量放在X轴上,把每个预测器的范围比例(捕获10%的训练数据所需)放在Y轴上。
在图的最左边,我们看到了在一维、二维和三维方面的情况。然而,当达到10个维度时,几乎需要每个预测器的80%的范围!在50个维度时,需要95%的预测器范围。 到了100个维度,需要98%!
我们的目标是确定那些预测值与索引点尽可能相似的训练点。在这些更高的维度上,几乎把预测器的任何值的点视为邻居,并将使用它们来估计索引点的响应值。在我们设计的具有均匀分布的预测因子的例子中,应用K-近邻算法在一个维度上似乎是完全合理的,但在更高的维度上很快就会变得离谱。真实的数据集不会和我们探索的数据集一模一样,但这种需要进一步深入预测器空间来寻找附近点的想法依然存在。
所有的邻居都去哪儿了?
让我们来探讨一个稍微不同的问题。之前,我们调查了在每个维度上取多少范围才能捕获10%的训练数据。现在,让我们看看,如果把邻居的边界限制在每个预测器范围的10%,能找到多少个邻居。在K-近邻算法的背景下,在空间上与索引点接近的训练点似乎很适合为索引点的响应值的估计提供信息。在一个维度上,一个包括10%的单一预测者范围的邻域包含了10%的训练数据。在更高的维度上会发生什么?让我们来看看。
本站仅为学习交流之用,所有视频和图片均来自互联网收集而来,版权归原创者所有,本网站只提供web页面服务,并不提供资源存储,也不参与录制、上传
若本站收录的节目无意侵犯了贵司版权,请发邮件(我们会在3个工作日内删除侵权内容,谢谢。)
www.fs94.org-飞速影视 粤ICP备74369512号