try ai
科普
编辑
分享
反馈
  • 最近邻法则

最近邻法则

SciencePedia玻尔百科
关键要点
  • 最近邻法则是一项通用原则,既可作为优化问题的简单启发式方法,也是信号处理中最优解的核心组成部分。
  • 在机器学习中,k-近邻 (k-NN) 算法通过对其最接近的已标记样本进行多数投票来对未知数据点进行分类。
  • “邻居”的定义和距离度量的选择至关重要且依赖于具体情境,会影响空间转录组学等应用的结果。
  • 除了分类,该法则通过将数据点转换为用于社群检测的网络,帮助发现复杂数据集中的隐藏结构。
  • 与最近邻的邻近性概念甚至可以解释复杂的自然现象,例如为了生存而形成的动物群体。

引言

通过观察事物的直接环境来理解它,这是一个自古以来就有的常识。这种“观其友,知其人”的原则不仅仅是民间智慧,它还是最近邻法则的基础,一个在科学和技术领域具有惊人深度和广泛通用性的概念。虽然看似简单,但这条法则贯穿了优化难题、机器学习分类,甚至数据压缩和进化生物学的基本定律。本文将揭示这一个直观的想法如何成为解决复杂问题的强大工具。

我们将从“原理与机制”部分开始探索,剖析该法则的核心逻辑。在这里,我们将看到它作为解决旅行商问题的一种“贪心”策略,以其最直观的形式出现,从而揭示其优点和缺点。然后,我们会将这个概念从一个简单的启发式方法提升为信号处理中的一个基本最优性原则,并探讨定义“邻居”到底是什么的关键且通常复杂的细节。在此之后,“应用与跨学科联系”部分将展示该法则的实际应用,展示其在植物病害分类、为自动驾驶汽车绘制世界地图、在生物组织中发现不同细胞类型,甚至解释动物王国中生存几何学方面的强大能力。

原理与机制

想象一下,你想猜测一栋你从未见过的房子的价格。你的第一步会是什么?你可能不会从查看另一个国家,甚至另一个州的房地产列表开始。你会查看同一条街上、隔壁房子的价格。你本质上是在使用​​最近邻法则​​。这个极其简单的想法——一个物体可以通过检查其直接环境来最好地被理解——不仅仅是常识;它是一个深刻且惊人地通用的原则,在优化、机器学习甚至信息论的基本定律中都得到了体现。我们的旅程是去看这一个简单的法则如何能引导一个旅行商,分类一个神秘的蛋白质,并帮助我们聆听一首数字歌曲。

贪心的旅行者:一个简单的经验法则

让我们从一个困扰了数学家和计算机科学家几十年的经典难题开始:​​旅行商问题 (TSP)​​。一个销售员必须访问一系列城市,每个城市只访问一次,然后返回家中,总路程要最短。对于少数几个城市,你可以列出所有可能的路线并选择最好的一个。但随着城市数量的增加,可能路线的数量会爆炸性增长到天文数字,使得暴力搜索变得不可能。

一个绝望的销售员该怎么办?他可能会发明一个简单的“贪心”策略:从当前城市出发,总是前往最近的未访问过的城市。重复此过程直到所有城市都被访问过,然后回家。这就是最纯粹形式的​​最近邻算法​​。它很直观,速度快,而且能给你一个答案。

例如,如果一个技术员需要规划一条从城市 A 开始,访问 B、C、D 和 E 的维护路线,他们会查阅距离图表。从 A 出发,最近的城市是 B(12 个单位)。从 B 出发,最近的未访问过的城市是 D(3 个单位)。从 D 出发,是 C(15 个单位),然后到最后一个城市 E(33 个单位),最后返回 A(18 个单位)。路线 A → B → D → C → E → A 的总长度为 81 个单位。这看起来很合理。但它是最好的吗?

在这里,这个法则的美丽简单性暴露了它的两个主要缺陷。首先,最近邻算法是极其短视的。通过在每一步做出最好的局部选择,它可能会陷入一个糟糕的全局境地。开始时一系列短暂、诱人的跳跃可能会让销售员滞留在离家很远的地方,最后一段路程变得异常漫长。在许多情况下,包括一些精心构建的场景,这种贪心方法找到的路线明显长于真正的最短路径。

其次,该算法反复无常。它的答案完全取决于你的出发点。在另一个例子中,如果物流公司从城市 A 开始其旅程,算法可能会产生一条成本为 29 个单位的路线。但如果它恰好从城市 C 开始,完全相同的算法会生成一条完全不同、成本为 34 个单位的路线。一个根据如此随意的选择而给出不同答案的算法几乎是不可靠的。这种敏感性表明,虽然最近邻启发式方法是一个有用的初步猜测,但它远非一个完美的解决方案。它只是众多工具中的一种,而且通常情况下,更复杂的策略——比如​​最廉价链接算法​​,它通过在全球范围内逐步添加最短的可用边来构建路线——可以产生好得多的结果。

关联推断:通过邻居进行分类

现在让我们转换视角。如果我们的目标不是找到一条路径,而是推断一个身份呢?假设你偶然发现一种新蛋白质,并想预测它的功能。你可能会问:它最像哪些已知的蛋白质?这就是分类问题,而最近邻法则提供了一个惊人有效的答案。其原则是“关联推断”:告诉我你的邻居是谁,我就会告诉你你是谁。

想象一个生物信息学家团队试图对“蛋白质 X”进行分类。他们有一个小型的其他蛋白质参考数据集,每种蛋白质都由两个特征来描述——比如说,它的分子量和等电点。这两个数字为每种蛋白质在二维“特征空间”中提供了一个坐标。一些被标记为“分泌型”,另一些被标记为“非分泌型”。我们新的蛋白质 X,拥有自己的坐标(24.0 kDa, 9.5 pI),是这个空间中的一个新点。

要使用 ​​1-近邻 (1-NN)​​ 法则对其进行分类,我们只需计算蛋白质 X 到我们参考集中所有其他蛋白质的距离。最近的一个恰好是蛋白质 D,它是“分泌型”。因此,我们预测蛋白质 X 也是“分泌型”。就这么简单。我们正在将最接近的已知样本的标签转移到我们的未知案例上。

当然,仅依赖一个邻居可能存在风险。如果那个邻居是个异类,是规则的例外呢?一个更稳健的方法是 ​​k-近邻 (k-NN)​​ 算法。我们不只看一个邻居,而是看 kkk 个最近的邻居——可能是 3、5 或 15 个最近的邻居——然后进行多数投票。如果 15 个最近的蛋白质中有 12 个是“分泌型”,我们对该预测的信心就会大大增加。

这个想法突显了机器学习中的一个关键区别。当我们在具有预先分配标签(如“分泌型”或“非分泌型”)的数据集上使用 k-NN 时,我们正在执行​​监督学习​​。我们正在从已标记的样本中教算法一个分类规则。这与一个相关但不同的任务不同,比如使用像 BLAST 这样的工具在一个庞大、未经整理的数据库中寻找相似的蛋白质序列。那是一种对相似性的​​无监督​​搜索。我们之后可能会查看那些相似序列的注释来推断功能,但搜索本身并没有针对我们特定的分类问题进行“训练”。k-NN 分类器从一个精心整理的、有标签的数据集中学习;而 BLAST 搜索则从一个庞大、通用的库中检索。

质心原则:一种更深层次的邻近关系

到目前为止,我们已经看到最近邻法则是一种方便的启发式方法。但它的意义远不止于此。它不仅是作为一种捷径出现,而且在一个完全不同的领域——信号处理和数据压缩中——成为最优性的必要条件。

考虑量化的挑战。你有一个连续的信号——例如声波——而你想用有限数量的离散值来数字地表示它。可以把它想象成只用 16 种颜色的调色板来画一幅逼真的场景。你如何选择你的 16 种“再现”颜色,以及如何决定场景中数百万种原始颜色中的每一种被映射到你 16 种调色板颜色中的哪一种?你的目标是让最终图像看起来尽可能接近原始图像,这意味着要最小化它们之间的总平方误差。

被称为 ​​Lloyd-Max 算法​​的解决方案,揭示了两个条件之间优美的数学二重奏,这两个条件必须同时满足才能得到一个最优量化器。

  1. ​​质心条件 (The Centroid Condition)​​:对于信号值的任何给定划分(对于你决定组合在一起的所有颜色),最好的单一代表值是它们的平均值,即​​质心​​。如果你要用一种单一的蓝色来代表一系列浅蓝色,最忠实的选择是所有这些浅蓝色的平均值。这在直觉上是完全合理的。
  2. ​​最近邻条件 (The Nearest Neighbor Condition)​​:你最初应该如何形成划分?最优的规则是,每个信号值都应该被分配给它最接近的代表值。换句话说,你的颜色组之间的边界应该恰好位于你所选调色板颜色之间的中点。这正是最近邻法则!

这是一个惊人的结果。旅行商的简单贪心法则和生物学家的类比分类法不仅仅是方便的技巧。基于与一组点的邻近性来划分空间的原则,是最优解的一个基本组成部分。大自然在追求效率的过程中,似乎也偏爱这个优雅的原则。

细节决定成败:到底什么是“邻居”?

我们一直在谈论“最近”和“邻居”,好像它们的含义不言自明。但在科学数据的混乱现实中,定义一个邻域是一个具有深远后果的关键选择。

让我们进入​​空间转录组学​​的世界,科学家可以在组织切片内的不同位置测量基因表达。我们可能会在显微镜载玻片上看到一些点,并想了解一个点上的基因活动与其邻居有何关系。但谁是它的邻居呢?

我们可以使用​​基于半径​​的定义:邻居是固定距离 rrr 内的所有点。这似乎很客观。但是组织边缘的一个点将比中心的点少得多邻居——它的邻域是一个半圆形,而不是一个完整的圆形。这种“边缘效应”意味着邻居的数量,即​​度 (degree)​​,是不均匀的。

或者,我们可以使用​​k-近邻​​定义:邻居是最近的 kkk 个点,无论距离如何。现在,每个点都有相同的度,kkk。但是对于边缘上的一个点,算法必须更深入地延伸到组织内部才能找到它的 kkk 个邻居。与中心点的紧凑邻域相比,这个邻域会变得扭曲,拉伸成长条形。

这个选择不仅仅是学术性的。正如一个问题所展示的,这些看似微小的差异会产生重大影响。

  • 统计测量的方差可能变得与位置相关。例如,在 ​​Delaunay 三角剖分​​(计算几何中一种流行的定义邻居的方式)中,边界上的点具有较低的度。这可能会反直觉地增加在边界处进行的测量的统计噪声,从而可能导致在这些区域出现更高的假阳性率。
  • 解析精细空间模式的能力受到影响。在 k-NN 规则下,边界点的被拉伸、更大的邻域就像一个更宽的模糊滤波器。它在检测狭窄、清晰的基因表达条带方面,效果不如更紧凑的、基于半径的邻域。

甚至我们测试最近邻模型的方式也可能欺骗我们。在一个涉及带有噪声标签的数据集的巧妙思想实验中,可以证明两种不同的、标准的估算 1-NN 分类器错误率的方法——​​留一法交叉验证 (LOOCV)​​ 和 ​​2-折交叉验证​​——可以给出系统性不同的答案。这种差异的产生是因为这两种方法向分类器呈现了来自不同底层总体的邻居,从而揭示了估算过程本身的一种微妙偏差。

从一个简单的启发式方法到一个深刻的最优性原则,最近邻法则是连接不同领域的一条线索。它教导我们,最简单的想法可能最强大,但它也警告我们,在科学中,如同在生活中一样,“邻居”的定义至关重要。

应用与跨学科联系

有句老话说,观其友,知其人。这句民间智慧竟是科学技术领域一个惊人深刻而强大的原则。通过观察一个物体的直接环境,即其“最近邻”,来理解它,这不仅是一个直观的启发式方法,更是一种贯穿了众多学科的正式方法。我们已经了解了这一法则的数学原理,但它的真正魅力在于其实际应用。这是一段将我们从自动化农场带到癌症研究前沿,从自动驾驶汽车的眼睛带到动物王国生存几何学的旅程。

分类器:从样本中学习

最近邻法则最直接的应用是作为分类器。它的工作方式就像我们通过例子学习一样。想象一位植物学家想要构建一个自动化系统来诊断植物病害。该系统拍摄叶片照片并测量关键特征,比如叶绿素荧光的强度和其表面温度。我们从一个参考库开始,库中包含我们已经识别为“健康”或“患病”的植物。当一株新的、未知的植物出现时,我们的系统测量其特征,在这个二维的“特征空间”中创建一个点。接下来它会怎么做?它只需遵循最近邻法则。它在我们参考库中找到与我们新植物在这个特征空间中最接近的少数几个植物——比如说,最近的三个。如果其中两个是“健康”的,一个是“患病”的,系统就通过简单的多数投票做出决定:新植物被分类为“健康”。这非常简单,不需要复杂的建模,而且通常效果非常好。

但“最近”到底意味着什么?这个概念的灵活性是其强大能力的关键之一。我们的植物学家使用了标准的尺子——欧几里得距离——来衡量接近程度。但在其他领域,这个标尺必须改变。考虑一位合成生物学家试图预测一段新设计的DNA链的功能,比如一个控制基因活性的启动子。这里的“特征”不是刻度上的数字,而是一个由碱基组成的序列:A、C、G、T。在这里,两个序列之间的距离不是用米或摄氏度来衡量的。相反,我们可以使用​​汉明距离​​,它只计算两个序列在多少个位置上不同。一个新的启动子序列与一个已知启动子库进行比较,其活性是根据其最近邻的类别来预测的,而这个最近邻是通过计算错配数来衡量的。即使“同伴”的定义适应了基因组学的世界,但“从你所交往的同伴中学习”这一基本原则仍然完全相同。

然而,这种简单性带来了一个关键的警告。最近邻法则是一个强大的学生,但也是一个轻信的学生。它毫无保留地信任其训练数据。如果参考库包含错误——比如一些患病的植物被错误地标记为健康——算法就可能被误导。在一个现实场景中,比如根据细菌的16S rRNA基因序列进行分类,一个本地实验室的数据集可能由于实验假象而充满了冗余和错误标记的条目。一个在这种“脏”数据上训练的k-NN分类器很容易做出错误的判断,因为它的投票被受污染的邻居所左右。这揭示了在现代数据时代的一个重要教训:即使是最复杂的算法,其性能也从根本上受限于它们所学习的数据的质量。对于最近邻法则来说,输入的是垃圾,输出的也必然是垃圾。

测量员:绘制我们的世界,无论平坦还是圆形

让我们转换一下视角。如果我们不用最近邻思想来分类一个单点,而是用它来理解整个景观的结构呢?这就是最近邻法则作为测量员的角色。想象一下自动驾驶汽车上的激光雷达(LIDAR)传感器涌入的数据——一个包含数百万个三维空间点的巨大、无组织的云。为了理解这个“点云”,汽车的计算机必须为每一个点找到其最近邻。通过将每个点与其邻居连接起来,混乱的云开始解析成表面:平坦的道路平面、建筑物的垂直墙壁、行人的复杂形状。找到这些邻居是几何感知的一个基本行为,但它也是一个惊人的计算挑战。一个简单的搜索,即比较每个点与所有其他点,会慢得无法接受。这推动了像单元列表和k-d树这样出色算法的发展,这些算法旨在在庞大的数据集中高效地找到邻居,将一个理论规则转变为机器人视觉的实用工具。

当地图不是平坦的时,测量员的工作变得更加有趣。考虑那些周期性的数据,比如一天中的小时或一周中的某一天。晚上11点离凌晨1点“远”吗?按标准时钟计算,它们相隔14小时,但实际上,它们跨越午夜只相隔两小时。简单的欧几里得距离在这里失效了。要在这样一个“周期性”空间中找到最近邻,我们需要一个更聪明的尺子。我们可以借鉴计算物理学中的一个工具,叫做​​最小镜像约定​​。想象一下,特征空间是一个视频游戏屏幕,移出右边缘会让你在左边缘重新出现。两点之间的距离是允许这种“环绕”的最短路径。这种环形度量使得最近邻法则能够合理地处理周期性特征,发现位于23.5小时的数据点的最近邻可能是位于0.5小时的点。这种优美的调整展示了邻近性的核心概念如何被塑造以适应数据的真实拓扑结构,将机器学习与物理学和化学中的周期性模拟世界联系起来。

社交网络构建者:在数据中发现社群

一旦我们为数据集中的每个点确定了最近邻,我们就可以实现一个深刻的概念飞跃。我们可以画一条线,一条边,连接每个点与其邻居。突然之间,我们离散的数据点云变成了一个网络——一个图。这种从一组点到一个关系图的转变是现代数据科学中最强大的思想之一,它也是单细胞生物学等领域发现的核心。

一次单细胞RNA测序实验可以测量一百万个细胞中每个细胞内20,000个基因的活性。我们不可能将这个20,000维的空间可视化。但我们可以构建一个k-NN图。每个细胞成为一个节点,我们将其与基因表达谱最相似的另外kkk个细胞连接起来。这个图代表了一个细胞的“社交网络”。现在,我们可以问:这个网络中是否存在“社群”?是否存在一些细胞群组,它们彼此之间的连接远比它们与网络其余部分的连接要紧密?通过将像Louvain或Leiden这样的社群检测算法应用到这个图上,我们就可以找到这些簇。事实证明,这些簇对应于不同的细胞类型——T细胞、巨噬细胞、神经元。我们在事先根本不知道要寻找什么的情况下,发现了组织的结构。在这种背景下,最近邻法则不是一个分类器,而是一个发现者,一个将高维数据转化为隐藏社群地图的引擎。

通过使用一种称为共享最近邻 (Shared Nearest Neighbor, SNN) 图的改进方法,可以使该方法更加稳健。两个细胞 iii 和 jjj 之间的连接强度,不仅仅基于它们是邻居,还基于它们共享的邻居数量。如果两个细胞在彼此的直接邻域内,并且有许多共同的朋友,那么它们的连接就被认为要强得多。这个优雅的想法过滤掉了虚假的连接,使得最终的簇更加稳定和有意义。

编织者:融合不同信息世界

科学的前沿往往在于综合——将不同种类的信息汇集在一起,以创造一个更完整的画面。如果我们对同一领域有两张不同的地图怎么办?现代生物学通过CITE-seq技术提供了一个壮观的例子,该技术同时测量细胞的基因活性(RNA)及其表面蛋白(ADT)。我们对每个细胞都有两种不同的视角,有时这些视角会讲述相互矛盾的故事。对于一种细胞类型,RNA数据可能清晰且信息丰富,而对于另一种,蛋白质数据则是关键的区分因素。我们怎么可能将它们结合起来呢?

答案再次在于局部邻域。加权最近邻 (Weighted Nearest Neighbor, WNN) 算法 是这一原则的精湛应用。对于每个单独的细胞,它提出了一个聪明的问题:“我能从我的RNA邻居的平均值中多好地预测我自己的RNA谱?又能从我的蛋白质邻居中多好地预测它?”如果RNA邻域给出了更好的预测,这意味着对于这个特定的细胞,RNA数据更具“信息性”或更可靠。该算法对两种模态都这样做,并为每个细胞计算一对权重,这些权重反映了RNA和蛋白质数据的局部信息含量。

然后,这些细胞特异性的权重被用来创建一个统一的、加权的图。在计算两个细胞之间的关系时,对于该局部邻域被认为更可靠的模态会给予更多的权重。WNN算法就像一个编织者,智能地将来自不同数据源的线索交织在一起,利用局部邻域本身的一致性来决定如何进行编织。这是最近邻思想在融合多模态信息以形成一个单一、连贯整体方面的深刻、自我修正的应用。

生态学家:生存的几何学

最后,我们来看一个既优雅又出人意料的应用,它将抽象几何学与自然界中生死攸关的斗争联系起来。为什么动物会结成群体?1971年,进化生物学家W. D. Hamilton提出了一个惊人简单且“自私”的理由。想象一个可以在田野任何一点发起攻击的捕食者。当攻击发生时,哪只猎物会被吃掉?最近的那只。

从单个猎物的角度来看,这意味着它周围有一个“危险区域”。这个区域是田野上所有点的集合,在这些点上,该动物是潜在攻击的最近猎物。这个几何概念应该听起来很熟悉:一个个体的危险区域正是其在由兽群位置定义的场地上划分出的​​沃罗诺伊单元​​。个体的风险与该单元的面积成正比。为了最大化其生存机会,动物应该采取行动以最小化其个人危险区域的面积。

这个简单的指令解释了兽群的形成。通过靠近其邻居,个体可以缩小自己的沃罗诺伊单元,有效地将其危险区域的边界推给他人。兽群看似协调的行为并非源于合作,而是源于每个个体为了不成为随机攻击点的最近邻而进行的并行、自私的努力。在这里,最近邻概念不是我们应用的一种算法,而是一种自然法则,一种塑造了整个物种行为的生存几何原则。

从一个简单的投票方案到一个绘制世界、发现社群、编织知识和解释生命本质的工具,最近邻法则展示了一个简单思想的统一力量。它提醒我们,通过仔细观察直接的周边环境,我们可以解开整体的秘密,证明了有时最深刻的答案就在隔壁。