
在追求精准医疗的过程中,将患者分入有意义的亚组至关重要。然而,这一挑战涉及处理高维异构患者数据的复杂性。患者相似性网络通过将患者相似性这一抽象概念转化为一个具体、可分析的图,提供了一个强大的解决方案。本文旨在解决如何有效构建和利用这些网络这一根本问题。我们的探索始于“原理与机制”,详细介绍衡量相似性、构建网络以及整合基因组学和临床记录等不同数据类型的技艺。随后,“应用与跨学科联系”部分将展示这些网络如何应用于现实世界的问题,从患者分层、风险预测到实现保护隐私的联邦学习。通过深入探讨构建和应用两个方面,本文全面概述了作为现代计算医学基石的患者相似性网络。
为了理解世界,我们常常对事物进行分组。我们将动物分为物种,将书籍分为类型,将星星归入星座。在医学领域,这种寻找有意义群体的愿望具有深远的紧迫性。我们能否将患者分为对治疗反应不同的亚型?我们能否识别出未来患病风险高的个体?患者相似性网络是一个强大而优雅的构想,它将分类这门艺术转变为一门科学。它将“患者相似性”这一抽象概念转化为一个具体、可供我们探索、分析和学习的数学对象——图。
但两名患者“相似”到底意味着什么?这个问题没有唯一的答案。这是我们征程中第一个,或许也是最重要的创造性步骤。
想象一下,每个患者都是一个广阔、多维空间中的一个点。每个维度代表一个特征:一个基因的表达水平、一个蛋白质的浓度、一项临床检验值,或是否存在某种诊断。一个拥有数千个此类特征的患者就成为一个数千维空间中的一个点。我们的任务,就是定义在这个空间中“接近”意味着什么。
最直观的方式是直线距离,我们称之为欧几里得距离。这是我们在几何学中学到的“直线”度量。然而,在患者数据的高维世界里,这把简单的尺子可能会骗人。以不同单位测量或具有天然更高方差的特征——比如血压与基因表达比率——可能会不成比例地主导距离的计算。如果一个特征的数值比另一个大一千倍,它几乎将一手决定谁与谁“接近”。同样,如果我们有几个高度相关的特征(例如,一组总是共表达的基因),它们合在一起的声音会淹没其他更独特的信号。欧几里得距离,因其简单性,会最响亮地听取那些“喊”得最响的特征。
为了克服这一点,我们需要更复杂的观察方式。与其只考虑两点之间的距离,不如考虑从原点指向这些点的向量之间的夹角?这就是余弦相似度背后的思想。它忽略了特征向量的整体大小——一个各项实验室指标普遍偏高的患者可能与另一个患者具有相同的数值模式——而只关注其轮廓的相对形状。一个相关且广泛使用的度量是皮尔逊相关系数,它本质上是先通过减去每个患者的平均特征值进行“中心化”处理后,再计算轮廓的余弦相似度。这使得该度量对于患者特异性的基线偏移具有鲁棒性,只关注波动的模式。
我们可以变得更聪明。想象一下,数据点并不形成一个简单、均匀的云团,而是一个倾斜拉伸的椭圆。马氏距离是一把“智能”的尺子,它能理解这个云团的形状。它会自动考虑特征之间的相关性,并降低数据方差较大方向的权重。它有效地“学习”了特征空间的几何结构,并在该学习到的上下文中测量距离,从而缩短了沿着冗余、共线维度的距离。
度量选择不仅仅是技术细节;它是一个建模决策,反映了我们对数据的假设。例如,在处理非常稀疏的数据时,比如庞大的临床诊断代码词汇表(任何给定患者只有少数几个代码),选择至关重要。像杰卡德相似度这样的度量,它关注共享代码与总唯一代码的比率,可能会过于严苛。如果两个患者各有10个罕见诊断,且只共享一个,杰卡德指数仅为微不足道的 。相比之下,考虑向量几何的余弦相似度在这些稀疏设置中往往会给出更高的分数,有助于防止生成的网络分裂成微小、不连通的碎片。没有普遍“最佳”的度量;其艺术在于选择最能捕捉手头问题相似性本质的那个。
一旦我们有了计算每对患者相似性分数的方法,我们就可以构建网络。概念很简单:患者是节点(或顶点),如果他们足够相似,就在他们之间画一条线,即边。这就创建了一个图,一个描绘人类疾病图景的优美数学结构。
这张图可以用几种方式绘制。我们可以创建一个加权网络,其中边的粗细或亮度与相似性分数 成正比。这保留了关于任意两个患者相似程度的所有细微、连续的信息。或者,我们可以通过应用一个阈值来创建一个无权网络:如果相似性高于某个值 ,则边存在,否则不存在。这简化了图,但迫使我们对阈值做出一个艰难的决定,这可能很棘手。
一种更优雅且广泛使用的方法是构建一个k-近邻 (k-NN) 图。在这里,我们只将每个患者连接到与他们最相似的 个其他患者。这会产生一个奇妙的效果:它将我们的注意力集中在最有意义的局部关系上,过滤掉无数微弱、无信息价值的相似性所带来的噪声。这就像整理地图,只看连接城市的最重要高速公路。这个稀疏化过程是构建一个清晰、可解释网络的关键步骤。
在构建过程中,我们还必须小心处理自环(从一个患者到其自身的边)等细节。虽然它们可能看起来无害,但它们会巧妙地扭曲某些类型的分析。例如,在使用一种称为归一化谱聚类的流行技术时,自环会夸大一个患者的总连接性(其“度”),这可能会降低其与其他患者连接的相对重要性。移除它们通常是一种明智的分析卫生行为。
我们构建的网络结构本身就应该反映我们正在提出的问题。到目前为止,我们一直专注于一个所有节点都是患者的网络。这种患者-患者相似性网络建立在同质性(homophily)原则之上——即“物以类聚,人以群分”的理念。它擅长利用这一原则的任务,例如发现患者的自然聚类(队列发现),或利用患者之间的连接来传播信息,比如根据已标记邻居来预测未标记患者的疾病标签。
但是,还有另一种同样强大的方式来看待数据。与其将患者相互连接,我们可以将他们连接到他们所关联的临床代码(诊断、操作、药物)。这就创建了一个患者-代码二分网络,一个具有两种不同类型节点的图。这个网络中的边不代表相似性,而是隶属关系:这个患者有这个诊断。这种结构非常适合另一类问题。预测一个患者可能获得何种新诊断的任务,变成了一个链接预测问题——在图中寻找可能缺失的边。这种表示方式不仅让我们能够学习患者的向量嵌入,还能学习代码本身的向量嵌入,捕捉它们的临床背景。在患者-患者图和患者-代码图之间的选择,完美地诠释了数据科学的一个核心原则:你选择的表示方式从根本上塑造了你能发现什么。
一个现代患者不是由一种数据类型来描述的,而是由多种——一曲由基因组学、转录组学、蛋白质组学和临床测量组成的多组学交响乐。我们如何将这些不同来源的信息整合成一个单一、连贯的患者画像?简单地将所有这些特征拼接在一起是充满风险的。它们的尺度、维度和噪声水平千差万别;一种模态很容易淹没其他模态。
一个远为优雅的解决方案是,首先为每种数据类型(或模态)构建一个独立的患者相似性网络。这尊重了每个生物层面的独特性。但这又带来了一个新挑战:我们如何使不同网络间的相似性分数具有可比性?蛋白质组学网络中0.8的相似性可能与基因组学网络中0.8的相似性意义截然不同。
这就是带宽校准的问题,尤其是在使用高斯核函数 将距离转换为相似性时。带宽参数 就像镜头的焦点,决定了邻域的尺度。一种鲁棒的方法是为每个模态 选择一个特定的 ,并将其基于该模态内部距离的特征尺度(例如,距离的中位数)。一种更精细的方法是使用局部缩放:它根据每个个体患者 的局部邻域密度,为其分配一个唯一的带宽 。在数据的密集区域,焦点变得更锐利(小 ),而在稀疏区域,则变得更柔和(大 )。这种自适应聚焦产生了校准得非常好的网络,并且在不同模态之间具有可比性。
一旦我们有了一组校准好的网络,每种数据类型一个,我们就可以执行最后、美妙的一步:将它们融合成一个。相似性网络融合 (SNF) 是实现这一目标的一项强大技术。其直觉就像一群专家(每个网络)试图达成共识。SNF 使用一个迭代的扩散过程。想象信息像染料一样在网络中流动。在每一步中,每个网络都会被更新,使其与其他网络更相似一点。在基因组学网络和蛋白质组学网络中都很强的边,在两者中都会被加强。在一个网络中强但在所有其他网络中都弱的边,将逐渐被抑制。这种非线性的消息传递,被形式化为耦合随机游走,持续进行,直到网络收敛成一个单一的、融合的图。这个最终的网络不仅仅是其各部分的总和;它是一个稳健、整合的患者相似性视图,放大了跨生物尺度一致的信号,同时过滤掉了特定于单一模态的噪声。
我们能用这个最终的、融合的网络做什么呢?我们可以用它来发现患者数据中隐藏的结构。在这里,基于图的方法比传统技术提供了深远的优势。像 -均值聚类这样的基于度量的方法在原始特征向量上操作,倾向于找到简单的、团状的簇,而基于图的聚类则在网络的拓扑结构上操作。
实现这一点的关键是一个神奇的对象,叫做图拉普拉斯算子。它是一个从网络的邻接和度信息中派生出来的矩阵,其性质揭示了网络最深层的秘密。拉普拉斯算子的特征向量,特别是那些对应于其最小特征值的特征向量,就像“断层线”,指出了将图“切割”成社群的最自然方式。这种方法,被称为谱聚类,可以识别任意复杂形状的患者亚组,远远超出了那些只能将数据视为点云的方法的能力。
除了聚类,网络本身也成为像图神经网络 (GNNs) 这样强大的预测模型的支架。这些模型通过在相连的患者之间传递消息来学习,使得每个患者的表示都能够被其邻域的上下文所丰富。
能力越大,责任越大。患者相似性网络的构建和使用需要穿越一个由实践和伦理挑战构成的迷宫。
最阴险的技术陷阱之一是标签泄漏。假设我们正在构建一个网络来预测患者结局,并且为了“帮助”模型,我们使用结局标签来重新加权网络边,加强具有相同结局的患者之间的连接。如果我们不一丝不苟地小心,关于测试集标签(本应被保留)的信息可能会通过图结构本身“泄漏”到训练过程中。这会导致极其乐观的性能,但在新数据上会消失。唯一的保障是严格的实验卫生,使用像嵌套交叉验证这样的框架,以确保在训练和模型选择的每一个阶段,测试数据都保持完全未被触及和看到。
伦理方面的考量甚至更为深远。即使我们移除了所有个人标识符,PSN 也不是自动私密的。一个拥有关于目标患者少量辅助信息——例如,他们罕见的诊断和一些与他们一同接受治疗的人——的对手,有可能重新识别他们。他们可以通过为目标创建一个“假设”的个人资料,使用公开模型计算其预测的网络嵌入,并在图中所有“匿名”节点中找到最接近的匹配项来实现这一点。
最后,我们必须面对公平性的挑战。一个广为人知的谬论是,如果模型没有被输入种族或社会经济地位等敏感属性,它就不会有偏见。在 PSN 中,偏见可以被编织进图的结构本身。如果来自特定人口群体的患者倾向于更多地相互连接——一种称为同质性的现象——GNN 可以学会识别这种结构模式。这可能导致模型对该群体采取不同的处理方式,可能违反如人口统计均等(在不同群体间以相同比率做出预测)或机会均等(在不同群体间具有相同的错误率)等公平性标准。网络在寻求模式的过程中,可能会无意中学习并放大编码在其结构中的社会偏见。
构建一个患者相似性网络是一段旅程。它始于定义相似性的创造性行为,经过精心构建和整合图的工艺,最终以发现隐藏的临床模式的强大能力告终。但这段旅程不仅需要技术技能,还需要深厚的责任感,以确保这些强大的工具是以有效、私密和公平的方式构建和使用的。
现在我们已经探索了患者相似性网络的基本原理——我们如何从复杂的患者数据中编织出一张连接的织锦——我们来到了最令人兴奋的问题:我们能用它来做什么?一张地图如果不指引我们,就毫无用处。一个网络,无论构建得多么优雅,在我们用它来发现新事物、预测未来或解决一个以前棘手的问题之前,都仅仅是一个抽象概念。
在这里,我们踏上了一段探索这些网络应用的旅程。我们将看到它们如何将抽象的数据景观转变为临床洞见的实用工具。这正是这个概念真正美妙之处的体现——不仅仅在于其构建的数学原理,更在于其与临床实践、先进计算,乃至数据隐私伦理的深刻联系。我们将从发现隐藏患者群体的基本任务,走向预测罕见病和构建协作式、隐私感知的医疗智能前沿。
患者相似性网络最直接、最强大的应用是揭示隐藏的结构。长期以来,医学界一直寻求通过将患者分层为更同质的群体来超越“一刀切”的治疗方法。患者相似性网络提供了一种自然的、数据驱动的方式来实现这一目标。任务在概念上很简单:在网络中找到“社群”或“簇”——即那些彼此之间比与其他人更相似的患者群体。
但是我们如何找到这些社群呢?答案并非唯一,因为工具的选择取决于我们期望找到的结构类型。如果我们把患者亚型想象成特征空间中简单的球形云团,那么像 -均值这样的经典算法可能就足够了。如果我们怀疑亚型更复杂,也许是椭圆形且相互重叠,那么高斯混合模型提供了一个更灵活的视角。然而,网络视角的真正威力是通过像谱聚类这样的方法实现的,它直接在图本身上操作。这种方法可以揭示具有复杂、非凸形状的亚型,这些亚型不是由它们与某个中心的接近程度来定义,而是由它们彼此之间丰富的连接网络来定义。
对于更复杂的、现实世界的网络,这些网络往往充满了噪声和虚假连接,我们需要更强大的工具。像 Louvain 和 Leiden 这样的先进社群检测算法被设计为直接在图上工作,优化像模块度这样的质量函数。特别是 Leiden 算法,提供了一个关键优势:它保证发现的社群是内部连通的。这不仅仅是一个技术上的细节;它确保了一个“亚型”是一个连贯的群体,其中每个成员都与群体的其余部分相连,这一属性对于临床可解释性至关重要。
这就提出了一个关键问题:一旦我们找到了这些群体,我们如何知道它们是否有意义?在数据中找到模式很容易;找到真实的模式很难。在这里,我们必须成为严谨的科学家,并从多个角度评估我们的分层。
首先,我们可以进行内部验证。像轮廓系数这样的指标告诉我们,我们的簇在数据空间中是否内聚且分离良好。模块度告诉我们,我们网络社群内部的连接密度是否高于随机预期的水平。这些是对我们发现结果的结构完整性的检查。
其次,我们可以进行外部验证。如果我们有预先存在的标签——也许来自传统诊断或已知的遗传标记——我们可以使用像调整兰德指数 (ARI) 这样的指标,来看看我们的数据驱动簇与这个“基准真相”的对齐程度。
但最终的考验是临床验证。这些簇对患者来说重要吗?这是网络必须证明其价值的地方。通过将我们发现的亚型与像生存时间这样的临床结局联系起来,我们可以探究它们是否具有预后意义。使用像 Cox 比例风险模型和 Kaplan-Meier 曲线这样的统计工具,我们可以确定一个患者属于某个特定簇是否为我们提供了关于其疾病轨迹的真实、独立的信息。这最后一步——将抽象的数据结构与具体的临床结局联系起来——正是将患者相似性网络从一个计算上的奇趣事物提升为精准医疗工具的关键。
到目前为止,我们的旅程一直将患者视为静态实体,在时间的某个单一瞬间被捕捉。但患者不是一张快照;他们是一部电影。疾病会发展,治疗会生效,患者的生物学状态会演变。一个真正强大的模型必须捕捉这个时间维度。
我们可以扩展我们的框架来创建时变患者相似性网络。想象一下,我们有一个患者队列在多个时间点的分子数据。为了理解两个患者在特定时间(比如说,周二)的相似性,忽略他们周一和周三的样子是愚蠢的。我们可以使用一个“时间核”来为每个患者在每个时刻创建一个平滑的表示,即他们在一个时间窗口内状态的加权平均。随着时间的推移持续相似或遵循相似轨迹的患者将被紧密连接。通过应用这种“先平滑后比较”的方法,我们可以构建一个捕捉患者队列内部关系演变的动态网络,并能稳健地处理纵向研究中不可避免的缺失数据点[@problem-id:4368699]。在这些动态网络上进行的分层不仅可以揭示静态的亚型,还可以揭示疾病进展或治疗反应的独特模式。
找到群体是强大的,但如果我们想为单个患者做出具体预测呢?这个人突发并发症的风险有多大?这个患者会对某种特定药物有反应吗?为此,我们转向现代机器学习中最令人兴奋的发展之一:图神经网络 (GNNs)。
GNN 的运作原则是,一个节点的信息不仅仅包含在它自身之内,而是由其邻居来丰富。在患者相似性网络中,这是一个深刻的思想:一个患者的风险状况是由他们最相似的同伴的结局和特征所共同决定的。GNN 通过一个“消息传递”过程将这一直觉形式化,节点在此过程中迭代地从它们的邻居那里聚合信息。
考虑预测一个患者意外转入重症监护室的风险。GNN 可以学习一个“注意力机制”,一种智能地加权每个邻居重要性的方法。为了预测患者A的风险,模型可能会学到,表型相似且最近发生过不良事件的患者B具有很高的影响力,而患者C虽然也相似,但相关性较低。通过计算邻域的注意力加权摘要,GNN 为目标患者生成一个高度情境化的预测。
如何聚合这些消息的选择是一个微妙但关键的设计决策。我们是取邻居特征的均值、总和还是最大值?如果我们正在追踪一个罕见但高风险的表型,均值聚合可能会在众多低风险邻居中“平滑掉”并稀释掉来自单个高风险邻居的关键信号。相比之下,最大值聚合确保了这个极端信号被保留和传播。根据具体的临床问题来定制 GNN 架构,是构建对最重要信号敏感的模型的关键。
患者相似性网络的应用延伸到医学人工智能的最前沿,应对那些近乎科幻的挑战。
想象一下,能够诊断一种机器学习模型在训练期间从未见过的疾病。这就是零样本学习 (ZSL) 的挑战,对于受罕见病影响的数百万人来说,这尤其关键。在这里,我们看到了学科的美妙融合。我们可以训练一个 NLP 模型来“阅读”医学文献,将疾病的文本描述转化为丰富的语义向量。然后,我们可以在我们的患者相似性网络上训练一个模型,将患者的生物数据映射到同一个语义空间。其魔力在于图正则化:通过强制网络上相似的患者拥有相似的嵌入,模型学会了一个鲁棒的映射。当一个患有未见过的罕见病的新患者出现时,网络结构有助于将其嵌入放置在语义空间的正确邻域中,从而使模型能够通过找到最匹配的文本描述来识别该疾病。网络提供了弥合患者数据和医学知识之间鸿沟的上下文。
最后,我们必须面对构建这些强大网络的最大现实障碍:数据隐私。患者数据是敏感的,并被孤立在各个医院中。我们如何在不损害患者隐私的情况下,从全球数百万患者的集体经验中学习?
这就是联邦学习的领域。通过结合先进的密码学技术,我们可以设计出系统,让多家医院在它们组合的、隐含的全球患者相似性图上协同训练一个 GNN。通过像安全聚合这样的协议,医院可以共享被掩盖的计算结果(如 GNN 中的消息或训练期间的梯度),使得中央协调者只能看到最终的总和,这与在非私密的集中式设置中看到的结果相同。它永远无法知道哪家医院贡献了什么,从而保护了本地图结构和患者特征。通过添加经过仔细校准的噪声,一种称为差分隐私的技术,我们可以提供形式化的数学保证,确保最终训练出的模型不会泄露任何单个患者的信息。
这个保护隐私的框架也可以扩展到评估。全球质量指标,如模块度或平均轮廓系数,可以通过让每家医院贡献加密或掩盖的充分统计数据来计算,这些数据被安全地求和以产生最终结果,而不会泄露任何医院的本地性能。这形成了一个闭环,实现了一个端到端的、保护隐私的流程,用于在分布式医疗数据上构建和评估强大的预测模型。
从发现隐藏的亚型到预测动态风险和诊断罕见病,同时穿越数据隐私的实践和伦理迷宫,患者相似性网络远不止是一项学术练习。它们代表了一个统一的框架,网络科学、机器学习和密码学在此交汇,为通向一个比以往任何时候都更精确、更具预测性和更个性化的医学未来打开了一扇门。