
在考虑物理空间时,测量距离似乎很简单,但我们如何量化抽象概念之间的“距离”,例如思想、患者档案或基因序列之间的距离?这个基本问题对所有科学学科都构成了重大挑战。解决方案在于数学工具箱中的距离度量,这是一套为抽象空间设计的多功能标尺。本文对这一关键概念进行了全面概述。第一章“原理与机制”确立了定义距离度量的形式化规则,并探讨了从我们熟悉的欧几里得距离到余弦相似度和瓦瑟斯坦距离等更专业度量的多种关键方法。在此基础上,“应用与跨学科联系”一章展示了如何创造性地应用这些度量,在医学、生态学和粒子物理学等不同领域中获得深刻的见解,揭示了距离作为现代科学探究基石的地位。
从 New York 到 Los Angeles 有多远?这个问题似乎很简单。你可能会引用飞机飞行的距离——在弯曲的地球上的直线。或者你可能指的是驾车距离,一条受限于道路的蜿蜒路径。我们立刻发现,即使对于物理旅行,“距离”也不是一个单一的、神授的数字。它取决于游戏规则——你移动所处的空间以及你被允许采取的路径。
现在,如果我们问一个不同的问题呢?“正义”这个概念与“仁慈”这个概念有多“远”?两份临床病历、两个星系,或者你看到猫和狗时大脑中的神经活动模式有多大不同?要回答这些问题,我们需要推广我们对距离的概念。我们需要一把不仅能测量物理空间,还能测量思想、形状和模式等抽象空间的尺子。这把尺子就是距离度量。它是所有科学中最基本、最通用的工具之一。
让我们从已知的东西开始。在学校里,我们学习了熟悉的欧几里得距离,即“乌鸦飞行”式的直线距离。对于平面上的两个点 和 ,它由勾股定理给出:。这个概念可以轻松扩展到任意维度。
但如果你不是乌鸦,而是曼哈顿的出租车司机呢?你不能飞越建筑物;你被限制在街道网格中。你行驶的距离是东西向的街区数加上南北向的街区数。这是一种完全有效且通常更有用的距离类型,称为曼哈顿距离或距离。如果我们有两个由向量 和 表示的点,欧几里得距离是它们差的 范数,即 ,而曼哈顿距离是 范数,即 。
这种选择并不仅仅是学术上的。想象一个简单的机器学习算法,试图通过查看新数据点的“k-近邻”(k-NN)来预测其值。“最近”的定义本身就取决于我们选择的度量。使用欧几里得距离可能会识别出一组邻居,而对单一维度上的巨大差异不那么敏感的曼哈顿距离,则可能会识别出完全不同的一组邻居,从而导致不同的预测结果。做出“正确”的选择取决于我们数据的性质。
那么,是什么让任何一个公式成为合法的“距离”呢?数学家们将其归结为四个简单直观的规则。对于任意点 、 和 ,距离函数 必须满足:
任何遵守这四条规则的函数都称为度量。它就是这个俱乐部的一员。令人惊讶的是,一些非常流行和有用的“不相似性”度量实际上并不是真正的度量,因为它们不满足最后一条规则。例如,在化学和数据科学中,我们经常使用余弦相似度来比较向量。相应的“余弦距离”可以定义为 。然而,有可能找到三个向量,使得该度量违反三角不等式。这是一个关键的发现,因为许多用于搜索大型数据库的高效算法都假设三角不等式成立,以便安全地修剪搜索空间。如果不成立,这些算法可能会给出错误的结果。幸运的是,我们通常可以找到一个是度量的近亲。对于余弦相似度,真正的度量是角距离——向量之间的实际角度,。这个函数遵守三角不等式并保持邻居排序,使其成为一个安全可靠的选择。
当我们看到选择正确的距离度量如何帮助我们分离出有意义的信息并忽略无意义的信息时,距离度量的威力就显现出来了。一个精心挑选的度量就像一个过滤器,使我们的比较对噪声和无关变动具有鲁棒性。
想象一下比较两份临床记录。一份是简明的摘要:“患者报告胸痛。”另一份是来自模板系统的冗长记录,内容相同但多处重复。使用像TF-IDF这样的标准文本表示方法,这些记录的向量在“词空间”这个高维空间中会指向大致相同的方向,但较长记录的向量会有大得多的模(或长度)。
如果我们使用欧几里得距离,这两份记录会因为一份更长而显得相距甚远。这显然不是我们想要的;它们的主题是相同的。这里的英雄是余弦相似度。通过测量向量之间的夹角余弦,我们完全忽略了它们的模。由于我们两份记录的向量指向相同的方向,它们的余弦相似度为 1(最大相似度),从而正确地识别出它们具有相同的内容。事实上,按余弦相似度对文档进行排序在数学上等同于首先将所有文档向量归一化为单位长度(将它们投影到一个超球面上),然后使用欧几里得距离。这种归一化是处理高维数据的关键技巧,因为它有助于缓解“枢纽点现象”(hubness)等问题,即少数点异常地成为许多其他点的最近邻。
不变性原则是一个贯穿始终的主题。考虑分析单细胞RNA测序数据。我们通常首先使用主成分分析(PCA)来降低数据维度。前几个主成分(PC)捕获了大部分方差,因此它们得分的数值范围相比于后面的主成分要大得多。如果我们在PC空间中计算欧几里得距离,该距离将几乎完全由前几个PC主导。这是我们想要的吗?也许不是。我们可能更感兴趣的是一个细胞在多个成分上的整体模式,而不仅仅是它在主要变异轴上的位置。
在这里,相关距离派上了用场。它在比较之前有效地对每个细胞的PC得分向量进行标准化,问的是:“细胞A和细胞B的得分在不同成分上是否倾向于一同上升或下降,而不管它们的绝对值如何?”这关注的是轮廓形状的相似性,而不是其大小。
我们可以更进一步。想象一下试图通过红外(IR)光谱来识别一种化合物。根据比尔-朗伯定律,测得的吸收光谱与该化合物的浓度成正比。此外,仪器伪影可能会给整个光谱增加一个恒定的基线偏移。我们的查询光谱可能是 ,其中 是真实的纯信号, 是一个未知的缩放因子(来自浓度), 是一个未知的偏移。我们想将其与一个库光谱 进行匹配。
我们目前讨论的度量,如欧几里得和曼哈顿距离,都在一个“平坦”的空间中运作,其中所有维度都被平等和独立地对待。但如果空间本身是扭曲的,或者距离根本与坐标无关呢?
想象一下来自生物学实验的一团数据点。由于测量特征之间存在潜在的相关性,这团数据可能不是一个球体,而是一个倾斜、拉长的椭球体。标准的欧几里得距离以各向同性的圆形来测量距离,它不尊重这种结构。一个在欧几里得距离上很远的点,从数据云分布的角度来看,实际上可能相当典型。
这就是马氏距离(Mahalanobis distance)的用武之地。它是一种绝妙的距离测量方法,考虑了数据的相关性和不同方差。你可以把它想象成首先对坐标系应用一种“白化”变换——一种拉伸和旋转——将椭球形的数据云变成一个完美的球体。然后,在这个新的、变换后的空间中,我们只需测量我们熟悉的欧几里得距离即可。马氏距离是通过数据自身协方差结构的“眼睛”所看到的距离。它告诉你一个点沿着与数据主变异方向对齐的轴,距离数据云中心有多少个标准差。
如果我们的数据点根本不是点,而是整个分布,比如直方图呢?假设我们有两个直方图,显示了一个物种沿海岸线的空间分布,并被划分到有序的区间(bin)中。欧几里得距离会逐个区间比较这些直方图。如果一个分布只是另一个分布的微小位移,许多区间会不匹配,欧几里得距离可能会很大。但这很傻,因为它忽略了区间2就在区间3旁边的事实。
一个更智能的度量是推土机距离(EMD),也称为瓦瑟斯坦距离。它提出了一个优美而物理的问题:“如果第一个直方图是一堆土,要把它移动成第二个直方图的样子,所需的最小功是多少?”功被定义为质量(区间中的概率)乘以移动的距离。这个度量天生就理解了区间之间的“地面距离”(ground distance)。它能正确地判断整个分布的小位移是低成本的小变化,而将质量从海岸线的一端移动到另一端则是高成本的大变化。它是比较一个具有自身内在几何结构的空间上的分布的完美度量。
最后,如果我们根本没有坐标怎么办?考虑一个由相互作用的蛋白质组成的网络,或者一个由共同遗传原因联系起来的表型图。我们唯一的信息是谁与谁相连。我们如何定义这样一个网络中两个节点之间的距离?
一个优雅的方法是想象一个随机游走者沿着图的边从一个节点跳到另一个节点。两个节点(比如 和 )之间的“距离”可以定义为游走者首次从 走到 所需的平均步数。这被称为首达时间(hitting time)。一个更对称的度量是往返时间(commute time),即从 到 再返回到 的时间。这个距离不是基于一个环境空间,而是基于网络本身的连通性和拓扑结构。那些“近”的节点是通过许多短的、高概率的路径连接起来的,使它们成为同一社群或功能模块的一部分。
从曼哈顿的街道到蛋白质的扭曲,再到脑部扫描仪记录的人类思想的比较,距离的概念是一条金线。一个度量不仅仅是一个公式;它是一个精心制作的镜头,我们通过它来观察世界,旨在凸显我们认为重要的东西,并看透噪音。科学的艺术往往就是选择或发明正确镜头的艺术。
在迄今为止的旅程中,我们探讨了距离的原理,将其视为具有某些形式属性的数学对象。但真正的乐趣、真正的魔力,始于我们将这个看似简单的工具从数学家的沙盒中带入科学探究的广阔世界。当我们试图测量生态系统中两个物种、细胞中两个分子,甚至时间中两个时刻之间的“距离”时,会发生什么?事实证明,距离这个谦逊的概念,在创造力和物理直觉的运用下,成为一把万能钥匙,在众多学科中解锁深刻的见解。它不仅是测量分离的工具,更是理解关系的镜头,是分类复杂性的方法,是描述现实本身结构的语言。
让我们从一个感觉很贴近生活的问题开始。一个公园“可及”是什么意思?你可能会拿出一张地图,测量直线距离,比如半公里。但如果这条路需要你穿过一条没有行人横道线的危险高速公路呢?突然间,那半公里感觉就像一道不可逾越的鸿沟。这就是客观距离(GPS可能给出的数字)与感知可及性(考虑了安全、成本和质量等现实障碍)之间的关键区别。城市健康规划者现在认识到,一个社区可能成为“食物荒漠”或“公园荒漠”,不是因为超市或公园在几何上很远,而是因为价格过高或步行路线不安全而导致功能上无法到达。这里最有用的距离度量不是纯粹的几何度量,而是能够捕捉人类体验的度量。
这个观点——正确的度量取决于你关心什么——当我们转向生态学时,其丰富性便爆炸式地展现出来。想象两片草原,一片是恢复的地块,另一片是原始的参考生态系统。恢复的地块与它的目标有多“接近”?如果我们的目标只是确保存在相同的物种,我们可能会使用像杰卡德相似系数(Jaccard similarity)这样的基于集合的度量,它测量物种列表的重叠度。我们可能会发现这两个地点完全相同,完美匹配!但如果参考地点是一个平衡的群落,而我们恢复的地块被单一优势物种所占据呢?杰卡德指数对这一关键差异将视而不见。为了捕捉到这一点,我们需要一个考虑丰度的度量,比如布雷-柯蒂斯相异度(Bray-Curtis dissimilarity),它将群落视为物种计数的向量。它不仅测量谁在那里,还测量每种生物的数量。两个群落可能拥有完全相同的物种列表,因此杰卡德相似度为1,但它们的生态结构可能天差地别,正如它们的布雷-柯蒂斯距离所揭示的那样。度量的选择是对科学价值观的声明。
我们可以将这个生物学之旅推向更深处,进入进化时间的深渊。你和黑猩猩之间的“距离”可以被认为是自我们最后一个共同祖先以来经过的时间,这个值编码在我们DNA的差异中。通过构建系统发育树,一棵其分支长度代表进化时间的“生命之树”,我们可以量化任何物种群落的结构。假设我们想知道一个群落是由亲缘关系密切的物种(如岛上的一家雀科鸟类)组成,还是由生命多样性的广泛组合构成。我们可以通过平均物种间的系统发育距离来衡量这一点。但我们应该如何平均呢?如果我们取所有可能物种对之间的平均距离(平均成对距离,MPD),我们的度量将由树中深处连接主要古老谱系的长分支所主导。它对深层时间结构敏感。但如果我们改为平均每个物种到其群落中单一最近亲缘的距离(平均最近邻分类单元距离,MNTD),我们的度量就只对树梢的精细尺度聚类——即近期的多样化爆发——敏感。通过选择如何聚合距离,我们可以调整我们的镜头,聚焦于生命历史的不同时代。
在医学领域,寻求正确的度量是一个关乎生死的问题。当放射科医生训练一个AI在医学扫描中勾勒出肿瘤轮廓时,他们如何评判其表现?他们测量AI提出的边界与真实边界之间的“距离”。一种度量是戴斯系数(Dice coefficient),它测量体积重叠度。它可能会告诉你AI实现了99%的重叠——一个巨大的成功!但另一种度量,豪斯多夫距离(Hausdorff distance),测量的是最坏情况下的误差——一个边界上距离另一个边界最远的点。一个高的豪斯多夫距离可以揭示,虽然重叠度很好,但AI的分割包含了一个远离肿瘤的、微小的、虚假的像素岛。这可能是一个灾难性的错误,也许是错误地识别了第二个肿瘤或一条关键的血管。戴斯系数在很大程度上对这种远距离的错误视而不见,而豪斯多夫距离则会大声疾呼地指出它。两者都是有效的度量,但它们讲述了不同的故事,并防范了不同类型的失败。
选择一个对你不关心的事物具有鲁棒性的度量,这一主题是所有现代模式识别的核心。考虑匹配小图像块的任务,也许是为了对齐两次脑部扫描。对像素强度值使用简单的欧几里得距离似乎很自然。但如果一张图像比另一张稍亮一些——这对我们的眼睛来说是微不足道的变化——欧几里得距离将会很大,表明匹配不佳。解决方案是使用一个对亮度和对比度的线性变化不敏感的度量。归一化互相关(NCC),它等同于均值中心化像素向量之间的余弦相似度,正是这样做的。它只关心变化的模式,而不是它们的绝对亮度或对比度。根据NCC,一个图像块和它的一个完美增亮版本之间的距离为“零”,尽管它们的欧几里得距离可能巨大。
距离度量还可以揭示我们组织内部隐藏的战场。在癌症免疫疗法中,目标是让我们自己的免疫细胞——比如 T细胞——去攻击肿瘤细胞。这种攻击需要直接的物理接触。活检中T细胞和肿瘤细胞的简单计数给了我们它们的总体密度,但这并不能告诉我们它们是否真的处于可以战斗的位置。它们是充分混合准备战斗,还是处于各自的阵营,空间上被隔离?为了回答这个问题,我们求助于空间点过程的统计学。我们可以计算从一个T细胞到其最近的肿瘤细胞的平均距离,或者使用更高级的工具,如Ripley's K函数,来观察这两种细胞类型是否比随机情况下更倾向于聚集在一起。这些度量量化了实现相关生物学机制所必需的关键空间邻近性,提供了比简单的细胞计数远为强大的生物标志物。
到目前为止,我们的距离都是在物理空间或其近似空间中。但这个概念的真正力量在于它向纯粹抽象的飞跃。思考一下构成我们细胞机器的庞大而复杂的蛋白质-蛋白质相互作用(PPI)网络。两个蛋白质之间的“距离”不再以米来衡量,而是以在网络图中从一个蛋白质到另一个蛋白质所需的步数来衡量。这种网络距离是一种新型药理学的基础。我们可以用一个相互连接的蛋白质“模块”来描述一种疾病,用一组蛋白质靶点来描述一种药物。如果药物的靶点在网络中与疾病模块“接近”,那么这种药物很可能是有效的。像药物靶点和疾病蛋白质之间的平均最短路径距离这样的度量可以量化这种邻近性。但我们必须小心!一些蛋白质是巨大的枢纽,与所有东西相连。一个靶向枢纽的药物默认情况下会显得与所有东西都接近。因此,一个真正有意义的邻近性评分必须是统计性的,表明在校正了网络拓扑的混杂效应后,药物和疾病比偶然预期的要更近。
为复杂、多方面的对象定义距离的挑战是现代数据科学的核心主题。我们如何测量电子健康记录中两个患者之间的“距离”?一个患者不是一个点;他们是丰富的数据集合——一个稀疏的、二元的诊断代码向量,一个实值的药物依从性时间序列,等等。一个鲁棒的流程不会试图将这些强行塞入一个简单的欧几里得空间。相反,它会为每种数据类型分别计算一个合适的距离:对于代码集合使用杰卡德距离(Jaccard distance),对于时间序列使用更巧妙的方法,如动态时间规整(DTW)。DTW是一种优美的算法,它通过找到时间轴的最佳“拉伸”和“压缩”来对齐两个时间模式,并测量该对齐的距离。这些单独的距离矩阵随后可以组合成一个单一的、整体的患者间不相似性度量,为通过聚类发现新的临床亚型奠定基础。
高维特征空间中的距离概念也是我们努力使人工智能更加透明的核心。当一个复杂的“黑箱”模型对一个患者做出关乎生死的预测时,我们要求知道为什么。一个名为LIME的杰出方法通过构建一个简单的、可理解的黑箱模型近似来回答这个问题,该近似仅在该特定患者的“局部邻域”内有效。但是什么定义了这个邻域呢?它是由一个距离度量定义的。我们通过扰动原始患者的特征来生成数千个假设的“附近”患者。然后,一个由与原始患者的距离加权的核函数决定了每个假设患者在局部近似中的重要性。距离度量的选择——比如用于混合临床数据的Gower距离——以及邻域的大小,并非无关紧要的细节;它们是构建解释的根本基础。
我们的旅程在最基本的层面结束:基本粒子的世界。当质子以接近光速的速度碰撞时,它们会碎裂成一团混乱的夸克和胶子喷射物,然后物化为一连串可观察到的粒子。为了理解这些碎片,物理学家将粒子分组为“喷注”。实现这一点的标准方法是一种顺序重组算法,它基于一种“距离”概念来聚类粒子。但这并非寻常的距离。著名的anti-算法将动量空间中两个粒子 和 之间的成对距离定义为 ,其中 是垂直于束流线的动量, 是几何上的分离。
看看那个不可思议的公式!对于动量更高的粒子,距离反而变得更小。这完全颠覆了我们的直觉。其效果是,高动量粒子扮演了超致密的引力中心的角色。它们有一个极小的“束流距离” ,并且会在任何其他事情发生之前迅速吞噬掉其附近所有的低动量粒子。这个过程将混乱的末态塑造成优美规整的锥形喷注。这个距离度量不是被发现的,而是被发明的。它是为了一个特定的物理目的而设计的:创建一个对量子场论中恼人的无穷大“安全”的聚类方案,确保理论预测能够与实验数据进行稳定的比较。在这里,距离不是对“是什么”的被动测量,而是一种主动的、创造性的工具,用以给现实施加秩序。
从高速公路的交叉口到质子碰撞的核心,距离的概念证明了自己是科学中最富有成果的思想之一。它教导我们,要测量世界,我们必须首先决定什么是重要的——哪些障碍是相关的,哪些特征是重要的,需要哪些不变性。定义一个距离的简单行为就是建立一个理论的行为,是科学思想优美而深刻统一性的证明。