
从混沌中寻找模式、建立秩序是科学探究的基石。在我们这个数据丰富的现代世界,这项工作有了一个强大的计算对应物:聚类分析。它是一种非监督学习方法,旨在处理海量的未标记数据集,并揭示其中隐藏的内在结构。与需要预定义预测目标的监督学习不同,聚类算法在没有指导的情况下运行,其任务是仅根据数据自身的内在属性来发现自然的群组。这种从原始数据中生成假设的能力,使其成为一种不可或缺的发现工具。
本文探讨聚类分析的原理、应用及其深远影响。在第一部分“原理与机制”中,我们将深入聚类的核心,探讨我们如何通过数学距离来定义“相似性”,以及不同的算法如何“雕刻”数据以揭示其隐藏的结构。我们还将面对一些重大挑战,比如使这种对结构的探索变得复杂的“维度灾难”。在第二部分“应用与跨学科联系”中,我们将目睹这些方法的实际应用,探索它们在生物学和医学等领域带来的革命性影响,同时也会思考谨慎解读以避免误导性结论的至关重要性。
科学的核心是寻找模式。我们仰望星空,看到星座;我们观察生物,看到物种。这种分类的行为,在复杂世界中寻找隐藏逻辑的努力,是人类一项基本的追求。在当今的数据时代,我们给了这门古老艺术一个新名字:聚类分析。它是我们内心深处渴望在混沌中寻找秩序、将同类事物归集在一起的计算体现。
聚类是我们称之为非监督学习领域的一块基石。“非监督”这个词描述得非常贴切。想象一下,你得到一个庞大的新合成材料库,每种材料都由其物理性质来描述,但没有任何标签告诉你每种材料属于哪个“家族”。你的任务不是去预测一个已知的类别,而是从零开始发现这些类别本身。算法没有老师,没有标准答案;它必须仅从数据自身的内在结构中学习。它必须看到我们无法看到的模式。
要将相似的项目分组,我们必须首先定义“相似”的含义。这不是一个哲学问题,而是一个数学问题。我们需要一把“尺子”来测量任意两个数据点之间的距离。在数据的世界里,我们的点并不在一条简单的直线或一个平面上,而是常常存在于一个拥有几十、几千甚至几百万个维度的空间中。
最直观的尺子是我们在学校里学到的:欧几里得距离。如果一个病人的健康状况由两个数字描述,比如心率和胆固醇水平,我们就可以把他们在一个简单的图上标出。两个病人之间的距离就是连接他们对应点的直线长度。这个概念可以完美地扩展到更高维度,为我们提供了一个衡量数据空间中分离程度的度量。
但这个简单的想法揭示了一个关键的脆弱性。想象一下,我们的数据是一个包含数千名患者基因表达水平的巨大矩阵。如果对于某一个病人,某项基因测量失败了会怎样?对于计算该基因的平均表达量这样的简单任务,我们可以直接忽略这个缺失值。但对于聚类而言,这一个缺失的数字是灾难性的。欧几里得距离公式的计算需要每一个维度。只要有一个值缺失,该病人到其他所有病人的距离就变得无法定义。整个关系结构随之崩溃。这就是为什么处理缺失数据这个看似平凡的任务——通常通过一种称为插补的统计估计方法来完成——不仅仅是一件麻烦事,而是聚类分析的一项基础性必需工作。
此外,有时直线距离并非合适的度量尺。思考一下从单细胞RNA测序实验中识别细胞类型的任务。在这里,成千上万个单细胞由成千上万个基因的表达水平来表征。两个相同类型的细胞可能具有不同的总体活性水平,导致它们在欧几里得空间中的点相距甚远。但真正定义它们的是它们基因表达的模式——即哪些基因相对于彼此是上调的,哪些是下调的。它们的表达谱具有相同的形状。为了捕捉这一点,我们使用一种不同的度量,比如相关距离。它忽略绝对水平,转而提问:两个数据点的模式对齐得有多好?选择正确的“尺子”是揭示数据真实结构的第一步,或许也是最重要的一步。
有了数据点和选定的距离度量,我们现在需要一位艺术家——一种算法——来从原始数据中雕刻出簇。算法有很多种,每种都有其雕琢数据的独特“哲学”。
一种流行的哲学是基于质心的方法,其代表是著名的k-均值算法。想象一下,你预先认定数据中恰好有,比如说, 个群组。该算法首先在你的数据云中随机放置三个“中心”,即质心。然后,重复以下两个步骤,直到达到稳定状态:
这个过程就像一场引力之舞,数据点被拉向质心,而质心又反过来被数据点拉动。K-均值算法高效、简单,擅长发现整齐的球状簇。它的目标是最小化总的簇内方差——即使群组尽可能紧密。
另一种不同的哲学体现在层次聚类中。这种方法更具探索性。它不预设固定的簇数量。相反,它会为数据构建一个完整的“家谱”,称为树状图(dendrogram)。最常用的方法是凝聚式聚类,它从将每个数据点视为一个独立的微小簇开始。然后,它一步步地迭代合并最接近的两个簇,直到所有点都属于一个单一的巨型簇。最终得到的树状图是对数据在所有尺度下结构的一种优美可视化。通过在选定的高度“切割”这棵树,可以获得任意数量的簇。这一点非常强大,因为它不仅揭示了群组,还揭示了群组之间的关系。
第三种哲学是基于密度的聚类(例如DBSCAN),它将簇看作是密集的“大陆”,由稀疏的噪声“海洋”隔开。它从一个点开始向外扩展,连接到所有同样处于密集区域的近邻点。这种方法非常巧妙,因为它能够发现任意形状的簇——长的、细的、蜿蜒的,而不仅仅是球状团块——并且它内置了噪声的概念,能优雅地识别出那些不真正属于任何群组的点。
我们为什么要费这么大劲?因为聚类让我们能够看到我们原本会错过的东西。它是一个纯粹的发现工具。在现代免疫学中,研究人员使用质谱流式细胞术等技术来测量数百万个细胞上45种或更多的蛋白质标记物。没有人能够可视化一个45维的空间。传统的“手动圈门”方法——在一系列二维图上绘制边界——存在无可救药的偏见和局限性,就像试图通过只看两个影子来理解一座复杂的雕塑。非监督聚类算法在完整的45维空间中运行,根据细胞特征的总体来识别细胞群,不受研究人员先入为主观念的影响。它们发现了以前看不见的新型细胞类型。
与监督学习相比,聚类的力量或许才显得最为深远。一个监督模型被训练来预测一个特定的结果。例如,你可以训练一个模型,根据患者的基因组数据来预测他们是否会对某种药物产生反应。该模型会优化其参数,以最小化所有患者的平均误差。但如果存在一个小的、独特的患者亚群——比如说,占队列的——他们有一种独特的生物学机制,使他们对药物的反应异常出色,那该怎么办?一个专注于平均表现的监督模型可能会完全错过这个信号,特别是当该机制很复杂并涉及许多基因的相互作用时。
然而,非监督聚类并不知道药物反应。它只是观察基因组数据的结构。它可能会发现一个小的、紧密的患者簇,他们共享一种独特的基因共变模式。只有在发现这个簇之后,我们再去查看他们的临床结果,才会惊奇地发现,这些人就是超级响应者。监督模型回答了我们提出的问题;而非监督模型则向我们展示了一个我们本应一直追问的、全新的、更重要的问题。
这种力量伴随着巨大的责任和深刻的数学挑战。其中最著名的是维度灾难。随着我们向数据中添加更多的特征(维度)——更多的基因、更多的蛋白质、更多的放射组学特征——数据所处的空间变得难以想象的巨大和空旷。一个奇怪且违反直觉的现象发生了:任意两点之间的距离开始变得几乎相同。“近”与“远”的对比消失了。这种现象被称为距离集中,是聚类分析的克星。如果所有点彼此之间的距离都相等,我们怎么可能判断哪些点是“相似”的呢?这就是为什么仔细的特征选择——选择信息最丰富的维度并丢弃噪声——不仅仅是一种优化,而是实现有意义发现的必要条件。
最后,算法总能产生簇,即使数据是随机噪声。这就引出了最重要的一个区别:内部有效性与外部相关性。我们可以使用像轮廓系数这样的数学指标来衡量我们的簇有多“好”——它们是否紧密且分离良好?我们可以通过对数据进行重采样来测试它们的稳定性,看这些簇是否会再次出现。这就是内部有效性。
但是,一个在数学上完美的簇如果在现实世界中没有任何意义,那它就是无用的。一个患者簇只有在它对应于不同的疾病亚型、预后或治疗反应时才有趣。这就是外部相关性,它只能通过在新的数据上进行独立验证来确立。在数据科学中,调整聚类参数以在发现数据中找到一个与某个结果相关的群组是一种原罪;这是一种导致错误发现的自我欺骗形式。非监督聚类是一个假设生成引擎。它像一把手电筒照进黑暗,说:“看这里,有有趣的东西。”然后,作为科学家,我们的工作就是去努力验证那个有趣的东西是否也是真实和有用的。
在了解了聚类分析的原理和机制之后,你可能会有一种数学上的整洁感。我们有空间中的点,距离的概念,以及绘制边界的算法。但这个主题真正的魔力,它的灵魂,只有当我们离开这个抽象的游乐场,进入那个混乱、美丽而又常常令人困惑的现实世界时,才会显现出来。我们在哪里能找到这些簇?它们告诉了我们什么?事实证明,这种通过相似性进行分组的简单想法,是我们理解宇宙最有力的透镜之一,从我们细胞内分子的复杂舞蹈,到人类历史的宏大进程。
在生物学和医学领域,聚类分析的革命性作用表现得最为淋漓尽致。几个世纪以来,医生和生物学家一直根据他们能看到的东西来对生命进行分类,无论是花朵的形状、疾病的症状,还是显微镜下细胞的颜色。这是一门关于可见表面的科学。聚类分析给了我们一种X射线般的视野,让我们能够穿透这些表面,发现一个用分子语言书写的、全新的、隐藏的分类系统。
以癌症为例。很长一段时间里,我们根据肿瘤的起源器官对其进行分类——肝癌、肺癌等等。但越来越清楚的是,两个患有看似相同“肝癌”的病人,其预后可能天差地别。为什么?通过测量许多患者肿瘤样本中数千个基因的活性水平,研究人员得到了一个极其复杂的数据集。当他们对这些数据应用聚类分析时,非凡的事情发生了。这些都患有“肝癌”的病人,自发地分成了几个不同的组。这些组不是由病理学家在显微镜下能看到的任何东西来定义的,而是由共享的基因活动模式来定义的。这些新发现的“分子亚型”结果意义非凡,它们常常与癌症的侵袭性或对特定药物的反应相关。这不仅仅是重新贴标签;这是对疾病图谱的一次根本性重绘,揭示了我们所称的一种疾病,实际上是几种不同病症伪装成的同一种病。类似的故事正在精神病学领域上演,通过结合症状和生物标志物——如压力激素和炎症蛋白——对患者进行聚类,开始揭示由数据驱动的抑郁症亚型,例如“免疫代谢型”与更经典的“忧郁型”,每种亚型可能需要不同的治疗方法。
这种解构复杂性的能力以惊人的优雅方式向下扩展。如果我们能对患者进行聚类以理解疾病,那么我们能否对单一组织内的细胞进行聚类以理解其功能?想象一下感染部位的场景:一个由免疫细胞——T细胞、B细胞、巨噬细胞等等——组成的熙熙攘攘的大都市,它们都在沟通和协调防御。假设我们想找出是哪种细胞类型在产生一种关键的信号分子——细胞因子。传统方法就像试图通过倾听人群的嘈杂声来找出城市中谣言的源头。但借助现代单细胞技术,我们可以分离出成千上万个单个细胞,并测量每个细胞中的基因活性。我们最终得到一个庞大的数据集,其中每个细胞都是高维基因表达空间中的一个点。在这里应用聚类分析效果奇佳。细胞在这个空间中形成独特的“岛屿”。通过检查每个岛屿的特征基因,我们可以给它们贴上标签:“这是T细胞岛”,“这是巨噬细胞岛”。然后,我们只需问:在哪个岛屿上,我们所关注的细胞因子基因的“灯”最亮?通过这种方式,我们可以精确定位关键生物功能的细胞来源,而这项任务在过去是难以逾越的。
我们甚至可以为这幅图景添加一个字面意义上的空间维度。肿瘤不仅仅是一袋细胞;它是一个有其自身地理环境的复杂生态系统。其中有坏死核心区、快速分裂的前沿区以及供血不足的区域。通过使用MRI和PET扫描等先进医学成像技术,我们可以测量肿瘤中每一个微小立方体(即“体素”)的多种属性。每个体素都成为一个数据点,其特征包括血流量、细胞密度和代谢率。对这些体素进行聚类可以揭示肿瘤内部不同的“生境”——即具有独特生物学特征的空间上连续的区域。绘制这些生境的图谱使我们能够理解肿瘤的内部景观,并有朝一日可能指导高度靶向的治疗,仅将药物递送到其能生效的特定邻域。同样的空间感知聚类原理也正在通过空间转录组学等技术革新发育生物学,这些技术通过施加一个鼓励相邻细胞属于同一簇的“平滑性”先验,揭示了不同细胞区域如何组织形成生长中组织的复杂结构。
从患者的临床病程到细胞的地理邻域,聚类分析揭示了生命的复杂性并非随机噪声,而是一幅由隐藏的、嵌套的结构织成的挂毯。它不仅为我们提供了观察这些结构的工具,还让我们能够探究它们如何产生以及它们意味着什么。
聚类分析的强大之处——它能在任何数据集中找到结构的能力——也正是其危险所在。算法总会给你提供簇。对于科学家来说,关键且困难得多的任务是去追问这些簇是否有意义。这需要智慧、领域知识和健康的怀疑态度。
想象一下这样一个提议:使用一种来自基因组学的高度专业化算法——该算法旨在寻找染色体数据中的“拓扑关联结构域”(TADs)——来分析学生选课矩阵以找出学术专业。乍一看,这似乎很聪明。两个问题都涉及在矩阵中寻找“块”。但这个类比存在致命缺陷。基因组学算法建立在染色体是线性聚合物这一深刻的物理现实之上,因此基因沿其长度的顺序是神圣不可侵犯的。像“距离”和“邻接”这样的概念具有物理意义。然而,对于大学课程列表来说,任何排序都是任意的。“微积分I”是更接近“微积分II”还是“物理导论”?不存在一个自然的一维坐标轴。在这里应用TAD算法是毫无意义的;它找到的“结构域”将完全依赖于对课程的任意字母或数字排序。这是一个有力的提醒:算法不是魔法棒;它们是带有内置假设的工具,正确使用它们意味着尊重这些假设。
这把我们引向一个更深层次的哲学问题。当我们找到簇时,我们是在发现独立于我们而存在的自然类别,还是在强加便于我们自己思维的范畴?思考一下“物种”这个概念。它是我们发现的,还是我们定义的?我们可以从成千上万的生物体中收集遗传数据,并使用聚类分析来观察它们是否形成自然的团块。但如果它们不形成团块呢?如果它们形成一个连续的梯度呢?此外,我们对物种的定义可能基于生殖兼容性。著名地,在“环物종”中,种群A可以与B繁殖,B可以与C繁殖,但A和C不能。这种关系不具有传递性,无法被整齐地划分成大多数算法产生的那种界限分明、互不重叠的簇。在这里,聚类分析不再是寻找最终答案的工具,而是一种揭示问题本身复杂性的探索性设备,它迫使我们在数据中的模式与我们用来描述它们的概念之间进行对话。
当我们将聚类分析的镜头对准我们自己时,这种对话变得最为关键,也最充满危险。如果我们从地理上相距遥远的人群——比如西非、欧洲和东亚——中抽样人类遗传数据,并通过聚类算法运行,我们几乎肯定会找到三个不同的簇。一个多世纪以来,这类观察被用来为“种族”这一社会概念披上一层生物学事实的外衣以作支撑。但这是对数据的深刻误读,是统计解释上的一场悲剧性失败。
离散簇的幻觉很大程度上是抽样策略造成的人为结果。通过只从极端地区抽样,我们忽略了中间地带的人群。如果我们转而在全球范围内进行密集且均匀的抽样,情况就会发生巨大变化。所谓的“簇”会消解为一个连续的梯度,或称渐变群。例如,欧洲遗传数据的PCA图并不显示离散的团块;它们显示的是一张欧洲地图,个体遗传坐标反映了他们的地理来源。这揭示了真相:人类的遗传变异是连续的,是数千年来种群混合和迁徙的结果。稀疏抽样下出现的“簇”并非自然类别;它们是算法试图将固定数量的离散类别()强加于连续现实之上的产物。
此外,人类绝大多数的遗传多样性存在于任何给定的人群内部,而非人群之间。大陆人群之间微小的平均差异是真实存在的,反映了我们走出非洲的共同迁徙历史,但与这些人群内部人与人之间的差异相比,则显得微不足道。因此,社会性的“种族”分类是个体生物学的糟糕代表,在临床上价值有限。一个人患某种疾病的风险或对药物的反应是由特定的基因和环境因素决定的,而不是由他们被归入某个粗糙的、统计上产生的簇来决定的。在这一领域,负责任地使用聚类分析,不是为了固化旧的、有害的类别,而是为了帮助我们欣赏人类祖源那幅错综复杂、连续不断而又美丽的织锦。
从单个细胞的静默运作到关于我们自身身份的最深刻问题,聚类分析不仅仅是一种算法。它是一种思维方式,一种尊重数据自我揭示其结构能力的探究方法。它教我们不把世界看作是预先定义好的物体的集合,而是一个充满待发现的隐藏模式的宇宙。