try ai
科普
编辑
分享
反馈
  • 层次聚类

层次聚类

SciencePedia玻尔百科
核心要点
  • 层次聚类创建了一个称为“树状图”的数据嵌套“家族树”,它揭示了数据在多个粒度尺度上的关系。
  • 聚类的形状和意义关键取决于链接标准的选择,该标准定义了组与组之间的距离。
  • 通过在特定高度切割树状图,可以获得一组明确的聚类,从而实现对数据结构的多分辨率分析。
  • 该方法为数据施加了一种超度量结构,这意味着对于任意三点,两个最大的两两距离是相等的。
  • 它在发现分类体系和结构方面有着广泛的应用,涵盖了从基因组分析和神经科学到金融市场分析和社交网络社群检测等多个领域。

引言

在一个充满复杂数据的世界里,辨别有意义模式的能力至关重要。简单的分组方法往往力不从心,因为它无法捕捉许多系统中固有的更丰富、嵌套的关系——从进化树到社交网络。层次聚类正是为了填补这一空白而生,它提供了一种强大的技术,不仅能对数据点进行分类,还能揭示连接它们的“家族树”。这种方法提供了对结构的多层次视图,揭示了组中之组。本文将探讨层次聚类的基本原理和深远影响。第一章​​“原理与机制”​​将剖析该技术的核心算法,解释树状图是如何构建的、链接标准的关键作用,以及由此产生的结构的优雅几何特性。随后的​​“应用与跨学科联系”​​一章将带领读者穿越生物学、神经科学、金融学和网络科学等不同领域,展示层次聚类如何被用来绘制我们世界中隐藏的分类体系。

原理与机制

想象你是一位古代的天文学家,凝视着满天繁星。起初,这只是一片混乱的点状散布。但很快,你的大脑开始发现规律。你看到了像 Pleiades(昴宿星团)这样小而紧密的星群。你将其他更遥远的星星连接起来,形成了像 Orion(猎户座)这样的星座。然后你意识到,一些星座似乎在天空中聚集在一起,形成了一条更大的星河——the Milky Way(银河系)。你刚刚在脑海中完成了一次层次聚类。你不仅仅是把事物分门别类;你发现了组中之组,一个嵌套的关系结构。这正是层次聚类的精髓:不仅要发现聚类,还要发现连接它们的家族树。

数据的家族树

我们如何教会机器看到这种层次结构?最常见的方法是使用一种称为​​凝聚式聚类 (agglomerative clustering)​​ 的“自下而上”方法。想象一下你的每个数据点——无论是星星、基因还是调查对象——都是一个个体。算法首先将每个点都声明为它自己的微小聚类。然后,它寻找彼此最相似的两个“个体”,并将它们合并成一对。现在我们的聚类数量比开始时少了一个。算法重复这个过程:找到最接近的两个聚类(可能是两个个体、一个对与一个个体,或两个已有的对),然后将它们合并。这个过程一步步地进行,直到所有个体都联合成一个巨大的家族聚类。另一种选择是“自上而下”的​​分裂式聚类 (divisive clustering)​​,这就像从整个人类群体开始,试图找到最合乎逻辑的分割点,这在计算上是一个困难得多的问题。

这种自下而上的合并过程产生了一个既美观又信息丰富的图表,称为​​树状图 (dendrogram)​​。这个词的意思是“树形图”,它无异于你数据的完整家族树。树的叶子是你的单个数据点。当你从叶子向上移动时,你会看到分支,这些分支代表个体被合并成小聚类,而这些小聚类又被合并成更大的聚类,一直到代表整个数据集的单一根节点。

但树状图不仅仅是一张描绘谁与谁相关的图。每个分支点的高度至关重要。它代表了合并发生时的​​相异度 (dissimilarity)​​(或“距离”)。在图上最低高度发生的第一次合并,连接了整个数据集中最相似的两个点。例如,在一次植物油分析中,如果玉米油和豆油在链接距离为 1.21.21.2 时合并,而所有其他初始合并都发生在更高的距离上,这告诉我们它们是该组中化学性质最相似的一对。当你沿着树向上移动时,合并代表着越来越不相似的组之间的连接。发生在非常高层次的合并,是两个实际上并不那么相似的组之间出于无奈的“包办婚姻”。

吸引力法则:链接标准

这就引出了一个根本性问题:当我们从合并两个单独的点转向合并两组点时,我们如何定义它们之间的“距离”?这由我们做出的选择——​​链接标准 (linkage criterion)​​——来决定,它极大地影响了我们发现的聚类的形状。可以把这些标准想象成形成群体的不同社交策略。

  • ​​单链接 (Single Linkage)(乐观者):​​ 该方法将两个聚类之间的距离定义为它们之间最近两点的距离,这两点各来自一个聚类。这是一个乐观的规则,总是在寻找最接近的那个连接。其公式为 Dsingle(A,B)=min⁡i∈A,j∈Bd(i,j)D_{\text{single}}(A,B) = \min_{i \in A, j \in B} d(i,j)Dsingle​(A,B)=mini∈A,j∈B​d(i,j)。这对于发现长条形、蜿蜒或非球状的形状非常有用。然而,它的乐观主义也可能成为一个弱点:它容易受到“链式效应”的影响,即可能因为一个噪声点恰好位于两个不同聚类之间而将它们连接起来。

  • ​​全链接 (Complete Linkage)(悲观者):​​ 这是单链接的极端对立面。它将两个聚类之间的距离定义为它们之间最远两点的距离,这两点各来自一个聚类。其公式为 Dcomplete(A,B)=max⁡i∈A,j∈Bd(i,j)D_{\text{complete}}(A,B) = \max_{i \in A, j \in B} d(i,j)Dcomplete​(A,B)=maxi∈A,j∈B​d(i,j)。这是一个谨慎、悲观的规则,确保一个聚类中的任何点都不会与另一个聚类中的任何点相距太远。它倾向于产生紧凑、球形的聚类。如果我们正在对来自不同实验的基因表达谱进行聚类,使用全链接的合并高度告诉我们,一个组中的任何基因谱与另一组中的任何基因谱之间最大的可能相异度,从而保证了新的、更大的聚类内部具有一定的凝聚力。

  • ​​平均链接 (Average Linkage)(外交官):​​ 该方法采取了一种更民主的方式,将两个聚类之间的距离定义为所有可能的点对(每对中的点各来自一个聚类)之间距离的平均值。其公式为 Daverage(A,B)=1∣A∣∣B∣∑i∈A∑j∈Bd(i,j)D_{\text{average}}(A,B) = \frac{1}{|A| |B|} \sum_{i \in A} \sum_{j \in B} d(i,j)Daverage​(A,B)=∣A∣∣B∣1​∑i∈A​∑j∈B​d(i,j)。它在单链接和全链接的极端之间提供了一种平衡,通常是一个不错的默认选择。

  • ​​Ward 方法 (Ward's Method)(社区组织者):​​ 这个标准有着不同的理念。在每一步,它都会问:“哪次合并会导致所有聚类内部总‘无序度’的增量最小?”这里的“无序度”由聚类内总平方和来衡量(类似于 K-means 聚类中的目标函数)。它总是选择在保持聚类紧凑和整洁方面最“高效”的合并。合并聚类 AAA 和 BBB 的成本由 Δ(A,B)=∣A∣∣B∣∣A∣+∣B∣∥xˉA−xˉB∥22\Delta(A,B) = \frac{|A| |B|}{|A| + |B|} \|\bar{x}_A - \bar{x}_B\|_2^2Δ(A,B)=∣A∣+∣B∣∣A∣∣B∣​∥xˉA​−xˉB​∥22​ 给出,其中 xˉA\bar{x}_AxˉA​ 和 xˉB\bar{x}_BxˉB​ 是聚类的质心。Ward 方法非常适合寻找大小相似的紧凑球形聚类。

隐藏的秩序:超度量的世界

这里,一些真正非凡的事情发生了。树状图不仅组织了我们的数据,它还为其施加了一种全新的、极其简洁的几何结构。让我们定义一种新的距离,​​谱系距离 (cophenetic distance)​​ δ(x,y)\delta(x,y)δ(x,y),即在树状图上点 xxx 和 yyy 首次被统一到同一聚类时的高度。这就是它们在家族树中“最近共同祖先”的高度。

这个新距离有一个奇特而美妙的性质。对于任意三点 x,y,zx, y, zx,y,z,它遵循​​超度量不等式 (ultrametric inequality)​​: δ(x,z)≤max⁡{δ(x,y),δ(y,z)}\delta(x,z) \le \max\{\delta(x,y), \delta(y,z)\}δ(x,z)≤max{δ(x,y),δ(y,z)} 这比我们熟悉的几何学中的三角不等式要强得多。它意味着,在由三点形成的任何三角形中,两条最长的边必须等长!想一想:你到你表亲的距离,与你表亲到他二代堂亲的距离是相同的,如果那个二代堂亲也是你的后代的话。这种奇怪的、树状的几何结构是层次化世界观的一个基本属性。只要链接方法能确保合并高度在我们沿着树向上移动时从不减少(单链接、全链接、平均链接和 Ward 方法都做到了这一点),所产生的树状图就会自动创建一个​​超度量空间 (ultrametric space)​​。算法将我们可能杂乱无章的高维数据投影到这个优雅的层次结构上,无论原始距离是否是度量。

从树到森林:寻找聚类

完整的树状图代表了在所有可能尺度下的所有可能聚类。但通常,我们需要一个单一、具体的答案:“到底有多少个聚类?”为了得到这个答案,我们可以简单地用一条水平线在选定的高度 hhh 处“切割”树状图。被这条线切割的每一根树枝都成为一个独立的聚类。

这种切割行为揭示了层次结构的真正力量。如果你在低高度切割树,你会切断许多小树枝,从而产生大量细粒度的聚类。如果你提高切割高度,你允许更多的合并成立,结果是更少、更大、更粗粒度的聚类。关键在于,来自较高切割的聚类是较低切割聚类的完美并集。这创造了一个​​多分辨率划分 (multi-resolution parcellation)​​,其中聚类之间的父子关系被完美地保留了下来。

这正是为什么层次聚类在那些嵌套关系是现实的领域中具有不可估量的价值。在研究干细胞分化时,树状图可以直观地重建发育谱系,显示全能细胞如何分支出多能祖细胞,然后分化成神经元和心肌细胞等终末细胞类型。像 K-means 这样的扁平聚类方法只会给你一些不相关的组,从而丢失了它们共享祖先的关键故事。同样,神经科学家可以在不同层次上切割大脑连接性树状图,以生成不同粒度的大脑图谱,从微小的功能区到大规模网络,同时保持一个连贯的嵌套结构。

现实世界:成本、诅咒与置信度

这种层次化视图功能强大,但也并非没有实际挑战。

首先是​​计算成本​​。一个朴素的凝聚式算法必须首先计算所有点对之间的距离,然后在近 NNN 个步骤中的每一步搜索最小距离。通过巧妙的实现,这可以扩展为 O(N3)O(N^3)O(N3) 或 O(N2log⁡N)O(N^2 \log N)O(N2logN),这对于拥有数十万个点的数据集来说可能慢得令人望而却步。对于大型数据集,像 K-means 这样更快但信息量较少的方法,其扩展性可能为 O(N⋅k⋅M⋅i)O(N \cdot k \cdot M \cdot i)O(N⋅k⋅M⋅i),通常成为唯一可行的选择。

其次,我们必须面对​​维度灾难 (curse of dimensionality)​​。在生物信息学中,我们可能只有一百个病人(样本),却有数千个基因(维度)。在这样的高维空间中,我们的几何直觉失效了。随着维度数 ppp 的增长,所有点对之间的距离趋于变得几乎相等。这种“距离集中”现象削弱了“近”与“远”之间的对比,使得任何基于距离的方法都难以奏效。即使是基于相关性的距离也会受到影响;随着 ppp 的增长而带有大多不相关的特征,任意两个样本之间的相关性趋于零,使得所有相异度值都收敛到一。

最后,在构建了我们美丽的树状图之后,我们必须问:它是真实的吗?树中的某个特定分支是数据中真实结构的反映,还是仅仅是噪声的偶然产物?为了回答这个问题,我们可以使用一种强大的统计技术,称为​​自助法 (bootstrapping)​​。其思想是通过对我们的原始数据进行重采样(例如,有放回地抽取样本)来创建数百个略有不同的新数据集。然后,我们为每个自助数据集构建一个树状图。如果来自我们原始树的一个聚类——比如说,一组特定的三个基因——在自助树中持续重现,我们就可以更有信心地认为这个聚类是我们数据的一个稳定、鲁棒的特征。这个过程允许我们为每个分支分配一个稳定性分数(比如平均 Jaccard 指数),将我们的树状图从一个单一、脆弱的假设转变为我们数据结构的经统计验证的地图。

应用与跨学科联系

在掌握了层次聚类的原理——树状图、链接规则、合并与分裂之舞——之后,我们可能会觉得对它的机制有了扎实的理解。但是,一个伟大的科学工具的真正魅力不仅在于它如何工作,更在于它能带我们去何方。为数据点构建家族树的想法会把我们引向何处?事实证明,答案是几乎无处不在。层次聚类不仅仅是一种统计程序;它是一种看待世界的方式。它是一面通用的透镜,用以发现自然界以及我们自己写入世界中的隐藏分类体系。让我们踏上一段穿越不同科学领域的旅程,看看这个非凡工具的实际应用。

生命与疾病的密码

也许我们所知的最复杂的系统就是生命本身。这是一个充满嵌套层次的世界,从生态系统到分子。因此,层次聚类在生物学和医学中找到一个天然的家园,也就不足为奇了。

考虑一下蛋白质推断这项艰巨的任务。当生物学家使用质谱分析时,他们看到的不是完整的蛋白质,而是称为肽段的小片段。一个肽段可能来自几种不同但相关的蛋白质。我们如何理清这团乱麻?我们如何根据这些模糊的、共享的证据将蛋白质分组成家族?这正是层次聚类的完美工作。但首先,我们需要教会我们的算法“像生物学家一样思考”。我们不能只使用通用的距离。相反,我们可以设计一个自定义的相似性度量,比如加权的 Jaccard 指数,它能够理解这个问题。这个度量标准给予独特的、高置信度的肽段更高的权重,而给予模糊的、低置信度的肽段较低的权重。一旦我们根据共享的肽段证据定义了任意两种蛋白质之间的距离,我们就可以启动我们的聚类算法。结果是一个美丽的树状图,看起来完全像一棵进化树,显示了蛋白质家族之间的深层关系和近亲之间的微妙区别。这个结构不是诞生于简单的等价类,而是诞生于对共享证据的细致、定量的理解。

同样思维方式可以从分子尺度放大到整个人类。在医学上,我们经常谈论疾病的“表型”——疾病的可观察特征。几个世纪以来,这些都是由临床医生根据症状定义的。但是,如果复杂的患者数据中隐藏着新的、未被发现的疾病亚型呢?层次聚类使我们能够进行无监督患者表型分析。我们可以获取数千份患者记录,包括他们所有的化验结果、诊断和用药情况,然后让算法去寻找结构。最终出现的树状图可能会揭示出从未有人认识到的新患者亚组,这些亚组可能对治疗有不同的反应或有不同的预后。这与预测已知结果的监督学习有根本的不同;这是关于发现未知的结局,关于绘制一幅新的疾病图景。

当然,现实世界的医疗数据是杂乱的。它包含连续值(如血压)、有序量表(如疼痛等级)和二元指标(如是否存在合并症)的混合体。我们的聚类能处理这种情况吗?是的,通过使用像 Gower 相异度这样聪明的距离度量,它知道如何比较苹果和橘子。这就引出了一个实际的选择:我们是自下而上(凝聚式)还是自上而下(分裂式)构建我们的层次结构?自下而上的方法非常适合观察单个患者如何组合在一起,使其局部决策具有很高的可解释性。自上而下的方法虽然在计算上通常更困难,但有时可以首先揭示患者群体中主要的、总体的分歧,从而模仿诊断过程。

最后,为了使我们的发现具有鲁棒性,我们可以采用一种非常巧妙的技巧,称为共识聚类。任何单次的聚类运行都可能受到噪声或随机起始点的影响。因此,我们对数据的略微不同的版本运行数百次聚类算法。然后我们问:基因 A 和基因 B 有多少次最终出现在同一个聚类中?我们可以构建一个“共识矩阵” CCC,其中每个条目 CijC_{ij}Cij​ 是项目 iii 和 jjj 在所有运行中共同聚类的频率。这个矩阵代表了一种稳定的、平均化的相似性。对于这个美丽的新相似性矩阵,我们该怎么做呢?我们对它运行层次聚类!最终的树状图揭示了那些可重现且稳定的结构,将信号与噪声分离,让我们对自己发现的基因模块或患者表型充满信心。

绘制心智图谱

从身体,我们转向心智。大脑是如何组织世界的?当你看到一只猫、一只狗、一辆汽车和一辆卡车时,你的大脑毫不费力地知道猫和狗是“动物”,汽车和卡车是“交通工具”。这里存在一个概念层次。我们能在大脑的活动中看到这个层次结构吗?

利用 fMRI 等技术,神经科学家可以测量大脑对不同刺激的神经活动模式。然后他们可以计算一个表征相异度矩阵 (Representational Dissimilarity Matrix, RDM),其中每个条目 dijd_{ij}dij​ 衡量大脑对刺激 iii 与刺激 jjj 的反应有多么不同。如果对“猫”和“狗”的模式相似,dcat,dogd_{\text{cat,dog}}dcat,dog​ 将会很小。如果对“猫”和“车”的模式非常不同,dcat,card_{\text{cat,car}}dcat,car​ 将会很大。

这个 RDM 是层次聚类的完美输入。通过应用该算法,我们得到了一个揭示大脑自身“表征分类体系”的树状图。树的结构向我们展示了大脑如何分割现实。我们可能会看到所有动物刺激合并到一个分支,所有交通工具刺激合并到另一个分支,而这两个超级聚类之间的最终合并发生在更高的“高度”或相异度上。树状图成为大脑概念归档系统的直接可视化,一幅关于思想几何的经验地图。

组织人类社会与经济

能够绘制大脑图谱的同一个工具,也可以用来绘制我们的集体创造物,比如经济和我们的城市。

想想股票市场,一个由数千家公司组成的看似混乱的集合。投资者可能会想:哪些股票的行为相似?我们可以用每个股票的每日回报率时间序列来表示它,并根据它们的“相关性”来定义两只股票之间的距离。低相关性意味着大距离,高相关性意味着小距离。当我们对整个股票市场应用层次聚类时,一个美丽的结构出现了。来自同一经济部门——科技、公用事业、金融——的股票自然地聚集在一起。树状图揭示了经济的嵌套结构。但更有趣的是,这个结构不是静态的。如果我们在正常的“平静”市场中进行这种聚类,然后在“危机”期间再进行一次,我们可以看到层次结构发生了变化。在危机中,随着一个共同的市场因素占主导地位,所有股票之间的相关性都趋于上升,我们可以看到我们各部门之间的距离缩小,这是一个通过我们的聚类算法变得可见的戏剧性事件。

这个镜头可以从抽象的金融世界转向我们城市的物理世界。是什么构成了一个社区?我们可以用一组人口统计学特征来描述社区:人口密度、收入中位数、教育水平等等。在将这些特征标准化以确保没有单个特征占主导地位之后,我们可以使用欧几里得距离对它们进行聚类。由此产生的树状图揭示了城市生活的分类体系。在低高度切割树状图可能会给我们带来细粒度的区别,比如区分“高收入密集城市区”和“中等收入密集城市区”。在更高的高度切割它可能会揭示更广泛的原型,比如密集的市中心和蔓延的郊区之间的根本分歧。在哪里切割树状图成为一个政策决策,让城市规划者能够在不同的分辨率尺度上理解城市。

信息与连接的宇宙

在现代世界,我们正被数据淹没。层次聚类是我们为这种混乱带来秩序的最强大工具之一,无论数据是文本、化学物质,还是社交网络中的连接。

想象一下你有数百万份文件。你该如何组织它们?首先,我们可以使用现代机器学习将每个文档转换成一个高维向量,一个“嵌入”,使得含义相似的文档在这个向量空间中彼此靠近。在这里,正确的距离概念通常是余弦距离,它测量向量之间的角度,忽略它们的大小。对这些嵌入进行层次聚类可以自动按主题对文档进行分组。一种自上而下的分裂式方法可能首先将一个图书馆分为“科学”和“人文”,然后递归地将“科学”分为“物理”和“生物”,从而创建一个直观的知识分类体系。

这种组织广阔空间的能力在药物发现中至关重要。一家制药公司可能在初步筛选中获得了数千种“命中”化合物。他们应该跟进哪些?不可能全部测试。化学家将分子表示为二进制“指纹”,并使用 Tanimoto 系数来衡量相似性。通过应用层次聚类,他们可以将这些命中化合物分组为不同化学骨架的家族。这使他们能够设计一个出色的筛选策略:他们不只是挑选最有效的化合物(它们可能都几乎相同),而是选择一个多样化的组合,从每个主要聚类中挑选几个有希望的候选者。这平衡了对新化学思想的探索和对已知有效化合物的利用,极大地提高了药物发现流程的效率。

最后,让我们考虑连接的本质:网络。社交网络、蛋白质-蛋白质相互作用网络和通信网络都可以表示为图。我们如何在这些图中找到“社群”?Girvan-Newman 算法提供了一个优美的答案,它将社群检测问题重塑为一个分裂式层次聚类问题。其洞见在于,充当社群之间“桥梁”的边将具有很高的*边介数中心性*——网络中的许多最短路径会穿过它们。该算法的工作原理是从整个网络开始,迭代地移除具有最高介数的边。随着这些桥梁被移除,网络会破碎成其自然的社群。这种自上而下的分裂过程生成一个树状图,揭示了网络从最大的超级聚类到最小群体的层次化社群结构。

从大脑的秘密分类体系到繁华的经济结构,从蛋白质的家族树到互联网的社群,层次聚类为我们提供了一种统一的思考结构的方式。它提醒我们,世界往往不是一堆任意点的集合,而是一个由嵌套关系组成的、组织严密的系统。简单而优雅的树状图是通向这个隐藏秩序的窗口,是单一美妙思想力量的证明。