
在药物发现这个高风险领域,预测模型是前景广阔的强大工具,有望加速新药的寻找过程。然而,它们的真正价值取决于一个关键问题:我们能相信它们的预测吗?一个在已知数据上表现出色,但在面对新分子时却失效的模型不仅毫无用处,甚至可能产生误导。这在一个以创新为基础的领域引发了一个根本性问题:我们如何正确衡量模型对未知事物的泛化能力?最常见的验证技术——简单的数据随机拆分,往往会带来一种危险的虚假信心。
本文剖析了化学领域中模型验证这一关键问题,揭示了随机拆分背后公平的假象,并引入了一种更严谨、科学上更诚实的替代方法。以下各节将引导您了解其核心概念。在“原理与机制”中,我们将探讨化学家将分子视为结构家族的观点,并阐明为何这一视角使得基于骨架的数据拆分至关重要。然后,我们会将这一实用策略与机器学习的理论基础联系起来,展示它如何模拟真实的发现挑战。在“应用与跨学科联系”中,我们将拓宽视野,揭示防止信息泄露这一原则如何成为可信赖人工智能的基石,不仅在药物优化领域,在各种复杂的科学问题中亦是如此。
要真正理解一个预测模型为什么有效——或者更重要的,为什么它可能会失败——我们必须超越其算法的表象,深入探究其学习数据的本质。在药物发现中,这意味着要像化学家一样,而不仅仅是像计算机一样去理解分子的结构。
想象一下,你拿到一大箱乐高作品,并被要求预测它们的属性,比如它们从斜坡上滚下的速度。乍一看,这是一堆令人眼花缭乱的颜色和形状。但很快,你会注意到一个模式。许多作品都构建在一个共同的底盘上。可能有一系列赛车,都使用相同的扁平底座,但装饰着不同颜色的积木和扰流板。另一个系列可能是卡车,构建在一个更厚实、更坚固的框架上。
分子也是如此。它们不仅仅是原子的随机组合。药物化学家早就认识到,许多药物可以被分解为一个核心结构骨架(即骨架),以及一组外围的装饰物(即侧链)。这就是 Bemis-Murcko 骨架框架背后优美而简单的思想。骨架由分子的环系和连接它们的原子连接体组成——它就是底盘。侧链则是附着在这个核心上的装饰物。
这个视角极其强大,因为它将浩瀚的化学世界组织成结构相关的分子家族,通常称为同类物系列 (congeneric series)。一个系列中的分子共享一个共同的骨架,因此通常也共享一个共同的生物作用机制,而侧链则调节它们的效力、选择性或代谢特性。理解这种家族结构是为任何预测模型设计公平测试的关键。
假设我们建立了一个机器学习模型来预测分子的生物活性。为了测试它的效果,我们需要预留一部分数据作为测试集。最显而易见的方法是随机拆分,这种方法直观上感觉很公平。我们将整个分子集合像洗牌一样打乱,然后将一部分分到训练堆,其余的分到测试堆。每个分子都有同等的机会被分到任一集合中。
不幸的是,这种表面的公平只是一种幻觉,而且是一种危险的幻觉。
因为我们的数据集包含了构建在共同骨架上的分子家族,随机打乱不可避免地会将“亲戚”分子分散到训练集和测试集中。我们可能用一个带有苯环骨架和甲基侧链的分子来训练模型,然后用另一个带有完全相同的苯环骨架但侧链略有不同的乙基侧链的分子来测试它。模型要取得成功并不需要学习深刻的生物学原理;它只需要识别出“这个骨架通常是活性的”,这种现象被称为类似物偏见 (analogue bias) 或 同类物系列泄露 (congeneric series leakage)。
让我们通过一个思想实验来具体说明。想象一个模型,它在处理真正新型的分子时完全是个“傻瓜”,表现不比随机抛硬币好。对于这些分子,它将活性分子排在非活性分子之前的正确概率是 。然而,对于那些与它在训练中见过的分子非常相似的类似物,假设它是个“天才”,能以 的概率完美地对它们进行排序。
现在,假设我们使用随机拆分,它创建了一个测试集,其中30%的分子是训练分子的近亲类似物。模型的整体性能,通过一个称为曲线下面积(AUC)的常用指标来衡量,将是它在这两组分子上表现的加权平均值:
的分数表明模型具有一定的预测能力。但这是一种假象。当在现实世界中面对一个真正新颖的化学家族时,它的性能将崩溃到 的基线水平。随机拆分没有测试泛化能力,而是奖励了记忆能力,给了我们一种危险的、被夸大的信心。
如果我们想测试一个学生对物理学的真正理解,我们不会给他们一份与家庭作业题目完全相同、只是数字改变了的考卷。我们会给他们需要应用相同基本原理的新问题。
同样的逻辑也适用于我们的模型。诚实评估模型对新化学家族泛化能力的唯一方法是设计一个只包含新化学家族的“考卷”。这就是骨架拆分的核心原则。
这个过程简单但意义深远。首先,我们为数据集中的每个分子确定其 Bemis-Murcko 骨架。然后,我们将所有共享相同骨架的分子归为一个“家族”。最后,当我们创建训练集和测试集时,我们将整个家族分配到其中一个集合中。出现在训练集中的骨架禁止出现在测试集中,反之亦然。
这个简单的规则改变了一切。模型不能再仅仅通过识别熟悉的骨架来取得成功。为了在测试集上表现良好,它被迫学习连接结构特征与生物活性的更深层次、更具迁移性的规则——也就是药物化学家努力揭示的“结构-活性关系”。这是一场更难,但也更诚实的考试。
骨架拆分这一实用策略,完美地体现了理论机器学习中的一个深刻思想:分布外 (Out-of-Distribution, OOD) 泛化。我们已经合成和测试过的分子的“分布”,与我们明天可能发现的分子的“分布”是不同的。这之间存在协变量偏移 (covariate shift)——已知世界与未知世界之间的鸿沟。预测模型的最终目标就是弥合这个鸿沟。
因此,我们的验证策略应该旨在模拟这个现实世界中的鸿沟。我们甚至可以量化它。通过使用分子指纹(一种分子的条形码),我们可以计算一个衡量结构重叠度的Tanimoto 相似性分数。让我们想象一下,我们当前数据与未来真正新颖的分子之间的平均相似性非常低,比如说 。
现在考虑我们的拆分策略:
显然,通过创建一个 的测试“鸿沟”,骨架拆分在模拟真实世界部署中 的“鸿沟”方面,比随机拆分做得好得多。因此,在骨架拆分的测试集上计算出的风险,是对模型未来表现的一个偏差更小、更现实的估计。化学家的实践智慧与计算机科学家的形式理论在此殊途同归。
骨架拆分是严谨验证的最终定论吗?不完全是。现实世界甚至更为复杂。想象一下我们测量的生物活性 ,它不仅取决于分子的真实属性 ,还取决于其骨架家族特有的偏倚 ,以及我们实验装置随时间产生的系统性漂移 。我们测量值的一个简单模型可能如下所示:
其中 是随机噪声。
骨架拆分通过迫使模型跨骨架进行泛化,出色地解决了骨架特异性偏倚 的问题。但因为它通常会打乱所有时间点的数据,所以它无法捕捉到时间 无情前进的脚步。训练集和测试集都会有相似的平均时间漂移,因此模型从未被测试其在外推到实验基线已发生变化的未来的能力。
对真实世界部署最忠实的模拟通常是时间拆分(或称时序拆分)。在这种方法中,我们将在某个特定日期之前收集的所有数据用于训练,并将该日期之后收集的所有数据用于测试。这种方法自然地捕捉了随时间变化的所有来源:新骨架的引入、研究重点的转移以及实验分析中的系统性漂移。它通常被认为是评估前瞻性性能的黄金标准,因为它提出了最直接、最诚实的问题:“基于我们昨天所知的一切,我们能多好地预测明天?”
这引出了最后一个实际问题。一个新的测试集到底有多“新”?我们可以而且应该衡量这一点。一个直观的测试分子新颖性分数是测量它与训练集中最亲近“亲戚”的相异度。我们可以为测试集中的每个分子计算这个分数,并检查分数的分布,以量化我们的模型被要求完成的“飞跃”有多大。
我们可以更直接一些。既然骨架是新颖性的关键元素,为什么不直接衡量骨架本身的新颖性呢?通过直接在骨架上计算指纹,我们可以计算出测试集中的核心框架与训练集中的核心框架有多大不同。这为我们的验证策略在模拟发现真正新药的挑战方面的表现提供了一份直接、量化的成绩单。
归根结底,从化学家的乐高积木到物理学家对分布偏移的看法,其原理是相通的:最有价值的测试不是最简单的,而是最现实的。通过迎接结构新颖性和时间流逝带来的挑战,我们可以构建出不仅在回顾时准确,而且对未来真正有用的模型。
在我们探索了化学领域预测模型构建原理之后,一个至关重要的问题出现了:我们如何知道这些模型是否真的好用?仅仅构建一个能给出答案的机器是远远不够的。我们必须毫不留情地质疑这个答案,测试它的极限,并理解我们何时可以信任它。正是在这里,一个看似简单的数据拆分技术细节,升华为一个深刻的科学诚信原则,其影响深远,遍及药物发现及更广泛的领域。
想象一下你正在教一个学生药物化学。你给了他一千个如何修改阿司匹林结构以改善其性质的例子。然后,在期末考试中,你要求他设计另一个略有不同的阿司匹林衍生物。他很可能会做得很好。但是,他真的学会了药物化学吗?还是只学会了阿司匹林家族的局部规则?
这正是我们使用朴素的“随机拆分”数据时所陷入的陷阱。当我们有一个庞大的分子集合,其中通常包含“同类物系列”(即围绕一个共同构架核心构建的化合物家族)时,仅仅像洗牌一样将它们打乱并分入训练集和测试集,无异于自欺欺人。测试集中会充满模型在训练中已见过分子的近亲。模型只需在这些几乎重复的样本之间进行内插,就能获得高分,而根本无需学习化学结构如何决定生物功能的更深层次、更具普适性的规则。这导致我们对模型性能的估计产生危险的“乐观偏见”,这是为药物优化构建有效的定量结构-活性关系(QSAR)模型时的一个核心问题。
为了真正测试学生的知识,我们应该问他一个关于完全不同类别分子的问题,比如说青霉素。这将测试他是否掌握了超越任何单一化学家族的基本原理。在计算化学中,与此类似的方法就是骨架拆分。
分子的“骨架”,例如标准的 Bemis-Murcko 骨架,可以被看作是其核心骨架——即它的环系和连接它们的连接体。我们不是拆分单个分子,而是首先按骨架家族将所有分子分组。然后,我们将整个家族分配到训练集或测试集,确保在训练期间见过的骨架绝不会出现在测试集中。
这个简单的操作从根本上改变了我们向模型提出的问题。我们不再是问:“你能在已经见过的东西上做个小调整吗?”我们问的是:“你能把你学到的知识应用到一个全新的结构背景中吗?”这是对外推能力的测试,而非内插。这也是我们衡量模型真正创新潜力的方法,即“骨架跃迁”(scaffold hopping)的能力——这是药物化学中一种宝贵的能力,指从一个已知的化学系列跃迁到一个保留或改善了所需生物活性的全新系列。
骨架拆分是一个强大的工具,但它是一系列评估策略中的一部分,每种策略代表了不同程度的严谨性。我们可以将其视为一个诚实度的层级,一个我们可以攀登的阶梯,以更接近地理解我们的模型在混乱、不可预测的现实世界中将如何表现。
随机拆分(简单的考试): 这是最宽松的测试。通过允许结构相似的分子同时存在于训练集和测试集中,我们创造了一个近乎独立同分布(IID)的场景。这是一个有用的初步健全性检查,但它产生的性能指标——如低误差或高相关性——几乎总是被夸大的。
骨架拆分(严格的期末考): 这个测试要难得多。它引入了机器学习从业者所说的*协变量偏移*:输入(分子结构 )的分布在训练集和测试集之间被刻意弄得不同。我们正在测试模型泛化到化学空间新区域的能力,这是任何发现项目的关键任务。
时间拆分(时间的考验): 这通常是最严酷也最现实的评估。我们在某个时间点之前收集的所有数据上训练模型,并在之后收集的所有数据上进行测试。这模拟了前瞻性部署的实际过程。时间拆分不仅捕捉了*协变量偏移(随着研究项目的演变,化学家自然会随时间探索新的骨架),还捕捉了潜在的概念漂移*。随着时间的推移,生成数据的过程本身可能发生变化:实验方法得到改进,仪器得到升级,甚至用于分子对接等基于物理计算的软件也可能更新。这意味着结构和活性之间的潜在关系 本身可能正在改变。模型在时间拆分上的表现通常令人清醒,但却是其未来真实效用的宝贵代表。
其核心思想——防止关于实体“类型”的信息从训练集泄露到测试集——是一个普适原则,其应用远远超出了简单的 QSAR。它对于评估现代人工智能在广泛科学应用中的可信赖性至关重要。
考虑一下生成模型这个激动人心的领域,我们训练人工智能来设计全新的分子。一个关键问题是,模型是真正具有创造力,还是仅仅在对其训练数据进行巧妙的混搭。骨架拆分为此提供了答案。我们可以测量当模型看到一个具有新颖骨架的分子时,它有多“惊讶”(一个由负对数似然捕获的量)。一个真正强大的生成模型应该能够识别出一个结构合理的分子,即使其核心结构是新的。正如一项假设性分析所示,模型在测试熟悉的骨架时可能显得非常自信(例如,平均惊讶分数为 ),但当面对新颖骨架时,它的困惑就显而易见了(分数可能跃升至 )。这个差距衡量了它的泛化能力——从模仿走向类似发明的飞跃。
当我们处理更复杂的系统时,这一原则变得更加强大。生物学中的一个巨大挑战是预测药物-靶点相互作用(DTI)——即在庞大的生命网络中,哪些小分子会与哪些蛋白质相互作用。在这里,信息泄露可能以两种方式发生。有化学泄露,即测试药物与训练药物共享一个骨架。但也有生物学泄露,即测试蛋白质是模型已经训练过的蛋白质的近亲进化同源物。
要声称一个模型能够真正帮助发现针对新生物靶点的新药,我们必须防范这两种类型的泄露。对此的黄金标准是“双冷”或“两端皆冷”的评估协议。在这种设置中,一个测试相互作用对由一个骨架新颖的药物和一个家族(例如,由序列同源性定义)新颖的蛋白质组成。这是一个极具挑战性的测试,但通过它能让我们相信,我们的模型已经学到了支配生命本身的分子识别的深刻、可迁移的理解。
最后,考虑从实验数据(如质谱)中鉴定未知化合物的分析任务。我们可以构建强大的机器学习模型,如图神经网络,来学习从谱图指纹到分子结构的映射。但要使这样的工具在真实世界的实验室中有用,它必须能够识别出它从未见过的骨架的化合物。通过使用严格的骨架拆分来评估不同的模型架构,我们可以严谨地确定哪种方法更好地学习了化学和物理学的基本原理,从而确定当面对真正的未知物时我们可以信任哪种方法。
总而言之,骨架拆分及其概念上的近亲不仅仅是技术细节。它们是将科学方法应用于机器学习的体现。它们是思想诚实的工具,迫使我们区分简单的内插和困难的外推,区分死记硬背和真正的理解。通过设计我们的计算实验来提出最困难、最诚实的问题,我们确保我们没有自欺欺人,并且我们得到的答案是那些能够真正推动发现的答案。