首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

走进高维空间——所有点之间的距离都相等!奇妙、疯狂、不可思议

欢迎来到高维系列的第三部分,在这里我们将探索高维空间中一些奇怪而不可思议的现象。这是走进高维空间系列的第三部分,感兴趣的朋友可以阅读前两个部分,在文章的末尾我会附上链接。

今天我们将探索一种现象,这种现象与第一部分中(点到n维球心的距离)所看到的现象有些关联。令人难以置信的是,我们发现在高维空间中,绝大多数点都集中在球的边界附近;换句话说,维度增加时,球的体积在离原点更远的地方集中。顺便说一下,当维度n趋近于无穷大时,n维球的体积趋于零,好好想想这个问题吧!

在今天的这篇文章中,我们不考虑点和原点(球心)之间的距离,而是考虑两个随机选择的点之间的距离。一些概念如:n维球体的定义和第一部分完全一样。

测量两点之间的距离

首先,我们要学习如何测量任意高维空间中两点之间的距离。如果您已经熟悉了这些概念,或者并不真正关心如何准确地测量这些距离,那么您可以直接跳到下一节。我个人认为这些概念是非常迷人,但它们不是让你的头脑被我们所寻求的更高维度现象所震撼的必要条件。我们将从一个二维的简单例子开始。考虑以下两个随机的点,一个蓝色和一个红色:

如何测量这些点之间的距离呢?为了解决这个问题,我们将简单地了解向量,这对于理解更高维度的空间是非常有帮助的。向量在数学和物理中随处可见,是线性代数的核心。矢量表示同时具有大小和方向的量,通常表示为特定长度的线段和特定空间方向。n维欧几里得空间有一个概念,那就是空间中的一点和向量之间有特点的对应关系,向量从原点开始,以该点结束。例如,我们将上面的红蓝点表示为向量:

这里,每个向量的大小只是每个点到原点的距离,每个向量的方向就是空间中从原点到每个点的位置的方向。我们可以简单地用它们对应点的坐标来表示这些向量。现在我们把这些点看成是向量,我们可以把这些向量加起来。你可能会想,既然我们的目标是测量两点之间的距离,我们为什么要关心向量相加呢?要把两个向量相加,我们只需要取其中一个向量并把它固定在另一个向量的末端。向量加法很酷的一点是,无论我们是先用蓝色向量加上红色向量,还是先用红色向量加上蓝色向量,结果都是一样的!看看下面的图,很明显,当我们把两个向量相加,我们得到了第三个向量,我用紫色的向量表示:

如果我们想知道紫色点和紫色向量的坐标呢?它就像把与红色和蓝色向量相关的单个坐标相加一样简单!我们设蓝色的向量为x,红色的向量为y,紫色的向量为z,与每个原始向量相关的坐标为(x1, x2)和(y1, y2)如果z = x + y,则z的个体坐标为:

现在我们理解了向量加法,那么减法呢?这个过程非常类似,但是我们不是把第二个向量粘在第一个向量的末端,而是把第二个向量的反向量粘在第一个向量的末端,这里反向量指的是一个大小相同但在空间中指向相反方向的向量。从技术上讲,向量“减法”就是向量的加法,相当于加上负1乘以一个向量。例如,这是原始的红色向量,以及我们用-1乘以它得到的结果:

注意,如果原始的红色向量是由坐标(y1, y2)定义的,新的向量是由坐标(-y1, -y2)定义的。所以,如果我们要从蓝色向量中减去红色向量,我们要把这个新的向量粘在蓝色向量的末端,这就得到了一个新的紫色向量:

如果我们想要计算这个新的紫色向量末端的点的坐标,我们只要把蓝色向量(x1, x2)的单独坐标加上新的红色向量(-y1, -y2)的坐标。这等价于从蓝色向量(x1, x2)中减去原红色向量(y1, y2)的坐标。即z = x - y,z的坐标为:

新的紫色z向量的大小等于与蓝色向量x和红色向量y两点之间的距离!为了更清楚地说明这一点,让我们把两个原始向量和我们通过减去这些向量得到的向量画在同一个图上:

在上边的图中,有原始的红色和蓝色向量,紫色向量是从蓝色向量减去红色向量得到的。在下边的图中,我们移动了紫色的向量来表示它的大小,正好等于与红色和蓝色向量两个点之间的距离,是不是很酷!让我们回顾一下,如果我们想计算空间中两点之间的距离,我们所需要做的就是将这些点表示为向量,从另一个向量中减去其中一个向量,然后计算大小(即距离)。如果我们定义z为y - x而不是x - y,我们最终会得到一个大小相同但指向相反方向的向量。因此,由于我们只需要得到的向量的大小来计算两点之间的距离,所以从哪个向量“减去”哪个向量并不重要。

现在我们知道这个“差”向量的大小等于两个原始点之间的距离,我们如何计算它的大小呢?还记得在第一部分中,用勾股定理来计算从原点到空间中任意一点的距离吗?从原点开始的矢量的大小等于原点到空间中相应点的距离!现在我们有了计算二维空间中任意两点之间距离所需的所有东西。

然而,对我来说,关于这个计算方法最妙的事情就是它在任意高维情况下也完全适用。具体地说,假设我们在n维空间中有两个向量,它们的坐标定义如下:

同理,如果z = x - y,则z的坐标为:

一旦我们得到了z,我们就可以用勾股定理来计算它的大小,这就得到了两点x和y之间的距离!让我们思考一下高维的向量的概念。上面的图很好地展示了二维空间中的向量,我们可以想象线段从原点出发,射向三维空间中的点,但高维空间呢?正如我们现在所知道的,我们不能显式地将这些空间可视化,但是我们可以显式地定义存在于某个n维空间中的点的位置,从而也可以定义它们的相关向量的方向和大小。无论我们是在二维空间还是在100维空间中,一个点就是一个点,一个向量就是一个向量。有了这些定义,我们现在可以测量任意高维空间中点和点之间的距离!

高维空间中点和点之间的距离

我们计算的对象是,在半径为1的n维球内,随机选择的两个点,计算它们之间的距离。为此,我们将在给定维度的球内随机生成成对的点,并使用上面的原理计算每对点之间的距离。让我们从我们可以想象的维度开始,2维和3维,然后看看当维度n增加时会发生什么。

首先看一下二维空间中,下面是10000对点之间距离的直方图:

这看起来很合理,我们看到一些点距离接近于零,有些则相距甚远,即距离接近于2,以及所有介于0和2之间的值,中间距离似乎也是最常见的(符合正太分布)。

以下是在三维球体内随机采样的“点对”之间的距离分布:

这似乎也比较正常。但是,我们看看十维,会发生什么:

在这个10维的世界里,没有距离特别近的点对。100维呢?(下图)

难以置信!现在情况真的开始变得不一样了。再次观察2维球体和3维球体内的点之间的距离分布,它们覆盖了从0到2的整个范围。在100维中,看起来绝大多数点对的间隔在1.10到1.70个单位之间。

再看看1000维:

哇!这一趋势仍在继续!所有点对之间的距离高度集中在平均距离(1.42)附近。让我们花一点时间来思考一下这个问题。在越来越高的维度中,似乎所有的点对之间的距离都近似相等。也就是说,如果我们从1000维球中随机选择一对点,它们之间的距离大约是1.42。

为了以稍微不同的方式演示这个现象,让我们从1000维球中随机选择10个点,并计算每个点与其他9个点之间的距离。这样,我们就不会把自己限制在单对点上,而是限制在10个点之间的所有成对距离上。这实际上与观察许多随机的点对是完全相同的,但是感觉有点不同,因此可能值得探索。让我们看看会得到什么!

从1000个球内随机选择的10个点之间的两两距离

这正是我们所期望的。每一个点到另一个点的距离大致相同。在更高维度的世界里,这是一个多么疯狂的世界啊!

球内任意点到球心的距离

您可能还记得我们在本系列的第一部分中看到的类似现象。在那里,我们看到在更高的维度中,所有的点离原点的距离大致相等,高度集中在球的外边界。在这些高维球中,到原点的距离分布呈现出与上面所示的点对之间的距离分布类似的形状,一个尖锐的、集中的、几乎没有变化的峰值。因此,在n维球内部,随机采样的点集中在球的外边界,这些点与所有其他点的距离相等。太难以置信了!

也许你想知道这个奇怪的现象,即点之间的距离相同,是否只是n维球的一些奇怪的特性。这适用于其他形状所限制的空间吗?确实如此!还记得第二部分中那个疯狂的超立方体吗?在这个超立方体中,大部分的体积似乎都高度集中在角落里。这到底是什么意思?为什么点会高度集中在空间的某个特定区域(比如n维球的边界或n个立方体的角),但它们之间的距离却相等?老实说,我不知道,它让我觉得奇怪!

总结并展望未来

今天我们看到,高维空间中的点彼此之间的距离大致相同。这在低维度中显然不是这样。我们知道,在较低维度空间中随机选择的点,可能离得很近,也可能离得很远。又一次,正如我们所希望的,当我们冒险进入更高的维度时,事情变得非常奇怪!

本系列的下一部分将会把这些非凡的现象和概率论联系起来,它们一定会扭曲和扩展你的思维!

走进高维空间系列第一部分:走进高维空间——体验难以置信的感觉

走进高维空间系列第二部分:高维空间中最不可思议的发现——球内的立方体,没有人可以理解

想了解更多精彩内容,快来关注老胡说科学

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200514A04ORV00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券