欢迎来到 走进高维空间系列 的第五部分|走进高维空间之“维度魔咒”,所有的“邻居”都去哪了?( 四 )


欢迎来到 走进高维空间系列 的第五部分|走进高维空间之“维度魔咒”,所有的“邻居”都去哪了?
文章图片
在图的最左边 , 我们看到了在一维、二维和三维方面的情况 。 然而 , 当达到10个维度时 , 几乎需要每个预测器的80%的范围!在50个维度时 , 需要95%的预测器范围 。 到了100个维度 , 需要98%!
我们的目标是确定那些预测值与索引点尽可能相似的训练点 。 在这些更高的维度上 , 几乎把预测器的任何值的点视为邻居 , 并将使用它们来估计索引点的响应值 。 在我们设计的具有均匀分布的预测因子的例子中 , 应用K-近邻算法在一个维度上似乎是完全合理的 , 但在更高的维度上很快就会变得离谱 。 真实的数据集不会和我们探索的数据集一模一样 , 但这种需要进一步深入预测器空间来寻找附近点的想法依然存在 。
所有的邻居都去哪儿了?
让我们来探讨一个稍微不同的问题 。 之前 , 我们调查了在每个维度上取多少范围才能捕获10%的训练数据 。 现在 , 让我们看看 , 如果把邻居的边界限制在每个预测器范围的10% , 能找到多少个邻居 。 在K-近邻算法的背景下 , 在空间上与索引点接近的训练点似乎很适合为索引点的响应值的估计提供信息 。 在一个维度上 , 一个包括10%的单一预测者范围的邻域包含了10%的训练数据 。 在更高的维度上会发生什么?让我们来看看 。
下面的图在X轴上显示了从1到10的维度 , 在Y轴上显示了覆盖每个预测器范围的10%的邻域所捕获的训练数据的比例 。
欢迎来到 走进高维空间系列 的第五部分|走进高维空间之“维度魔咒”,所有的“邻居”都去哪了?
文章图片
所有的邻居都去哪了?同样 , 在一个维度上 , 邻域覆盖了10%的训练数据 。 在二维 , 只有1%的训练数据!如果我们把一个索引点的邻域定义为覆盖每个预测者范围的10% , 那么一个10维的邻域将只包括训练数据的0.00000001% 。
让我们用训练数据点的实际数量来重新定义这些数字 , 而不是百分比和比例 。 比方说 , 有100,000个训练数据点 。 这意味着 , 10维邻域平均来说 , 甚至没有捕捉到一个数据点(它将捕捉到0.0001个数据点) 。 这意味着 , 平均而言 , 每一万个邻域中 , 我们只能捕捉到一个邻域!这意味着很多空的邻域 。 这就是大量的空邻居!
因此 , 用一个直观合理的邻域大小(覆盖每个预测因子范围的10%) , 在更高维度上基本上没有邻域 。 而这里只到了10维!如果是100维 , 100万维呢?
你已经进入了一个新的领域 。 进入了没有邻居的地方!邻居们都去哪儿了?为什么这些空间如此空旷?这些都是贯穿于高维空间的永恒的问题 , 这些问题引起了(并困扰着)许多统计学家 , 被精致地称为维度诅咒!
总结
我们在高维空间旅程到此结束 。 我们不仅亲身体验了这些空间的孤独 , 而且还看到了这种孤独是如何影响一个著名的统计工具 , 著名的K-近邻算法的 。
我们再一次看到 , 高维空间充满了神秘和惊奇 。 在舒适的低维物理现实中认为理所当然的特征在高维空间中变得无法辨认 。
`
来源:老胡说科学