NC 2025|DataSAIL:避免信息泄漏的数据划分

在生物医学机器学习中,模型性能“看起来很高”,并不一定意味着真正具备可靠的泛化能力。一个常被忽视的问题是:训练集与测试集之间可能存在过高的分子、蛋白或序列相似性,从而造成隐性的信息泄漏,导致模型测试结果被系统性高估。今天介绍的 DataSAIL 正是针对这一问题提出的一套通用数据划分框架。该方法将“低泄漏数据划分”形式化为组合优化问题,并结合聚类与整数线性规划,在保证数据比例和类别分布的同时,尽可能降低不同数据子集之间的相似性。实验表明,DataSAIL 可同时处理一维和二维生物分子数据,并能构建更接近真实分布外场景的评估集,为分子性质预测、药物–靶标相互作用预测等任务提供更加严格、可信的模型评估方案。

获取详情及资源:

0 摘要

信息泄漏正日益成为生物医学机器学习研究中的重要问题。当模型训练过程中发生信息泄漏时,模型可能倾向于记忆训练数据,而非学习具有泛化能力的规律。这会导致性能指标被高估,无法真实反映模型在实际推理阶段的表现。

DataSAIL 是一个通用的 Python 软件包,旨在通过降低数据划分过程中的信息泄漏,为面向分布外(out-of-distribution,OOD)场景的生物数据机器学习模型提供更加真实可靠的性能评估。DataSAIL 将寻找低泄漏数据划分的问题形式化为组合优化问题。作者证明该问题属于 NP-hard 问题,并提出一种基于聚类与整数线性规划(integer linear programming,ILP)的可扩展启发式求解方法。

最后,通过一系列实证实验,作者展示了 DataSAIL 对生物医学机器学习模型评估结果的实际影响。

1 引言

监督式机器学习(machine learning,ML)是当前发展最快的研究领域之一,并持续推动计算机科学和生命科学多个方向取得进展。许多生物信息学任务都受益于 ML 模型,例如分子性质预测和药物–靶标相互作用预测。

为了使这些 ML 模型能够成功应用于真实场景,所报告的性能评估必须能够可靠反映模型在实际推理阶段的表现。如果用于模型评估的测试集无法代表实际推理时所面对的数据分布,模型可能在测试阶段表现出虚高的性能,从而影响其在真实应用中的部署。当模型在测试时利用了来自训练集的信息,而这些信息在实际推理阶段并不可获得时,就会出现这种性能失真现象,即信息泄漏(information leakage)或数据泄漏(data leakage)。近年来的研究表明,信息泄漏已经成为许多基于 ML 的研究领域中一个重要且普遍的问题,会导致生物医学机器学习研究乃至其他领域出现性能高估和过度乐观的结论。

最简单的信息泄漏形式,是同一样本同时出现在数据划分后的多个子集中。这类问题较容易控制,大多数常见的数据划分方法都会通过去除重复数据点来避免这一情况。另一类更隐蔽、也更难检测的信息泄漏,则可能发生在训练集与测试集之间的数据相似性,高于训练集与模型实际推理数据之间的相似性时。在这种情况下,ML 模型实际上是在与训练数据同分布(in-distribution)的测试数据上接受评估,而其预期应用场景却要求模型能够对分布外(out-of-distribution,OOD)数据进行可靠预测。因此,模型可能依赖基于相似性的“捷径”在测试集上取得良好表现,但这些捷径无法泛化到预期的真实应用场景。

表1|不同数据划分工具和框架及其面向生化数据能力的概览

对于具有复杂依赖关系的生物分子数据而言,如果沿用 ML 领域常见的随机划分策略,将基准数据集随机分成训练集、验证集和测试集,就尤其容易陷入这一问题。例如,在根据蛋白质序列预测蛋白质–蛋白质相互作用(protein–protein interaction,PPI)的深度学习研究中,这类信息泄漏现象已被证明十分普遍。许多模型在原始论文采用的随机数据划分上表现优异,但当测试对象变为与训练数据低同源、更加接近“预测表征不足蛋白质 PPI”这一实际应用场景的蛋白质对时,其性能往往会下降至接近随机水平。

类似的问题也出现在错义变异有害性预测中。如果影响同一蛋白质的相似变异被分配到不同的数据子集中,ML 模型就可能利用蛋白质层面的捷径获得很高的测试性能。例如,模型甚至可以仅根据训练集中某一蛋白质对应变异的多数类别进行简单的蛋白质层面多数投票。这样的模型在面对注释稀疏蛋白质上的变异时往往泛化能力较差;对于在推理阶段同时出现有害和无害变异的蛋白质,还可能系统性地错误分类其中的少数类别变异。

该研究重点解决这样一类信息泄漏问题:模型预期部署于 OOD 数据,但评估却是在具有误导性的同分布数据上完成。为此,作者开发了 DataSAIL,一种用于将数据集划分为多个子集的算法框架和工具,使模型在 OOD 数据上的性能能够得到更加真实的估计。虽然此前已经针对特定生物分子 ML 任务构建了一些专门的数据集,例如用于 PPI 预测的 PINDER 和相应金标准数据集,以及用于蛋白质–配体相互作用预测的 PLINDER,但 DataSAIL 具有更强的通用性:只要能够为数据点定义相似性或距离度量,就可以用于划分任意类型的数据。

DataSAIL 将数据划分问题形式化为一个约束优化问题,并证明该问题属于 NP-hard 问题。在此基础上,作者开发了一个 Python 软件包,通过聚类和整数线性规划(integer linear programming,ILP)对该问题进行启发式求解。与现有用于降低信息泄漏的数据划分工具和算法相比,DataSAIL 能够自动处理由两种不同类型数据组成的异构数据集,并将分层划分(stratification)与相似性感知的数据划分相结合。此外,DataSAIL 的适用范围也更加广泛,可直接用于多种类型的分子数据。

最后,作者在一维和二维生物分子数据集上的多种 ML 模型中对 DataSAIL 进行了验证,结果表明,该方法能够有效降低训练数据与测试数据之间的信息泄漏。

2 结果

2.1 监督式机器学习中的数据划分

在监督式机器学习(ML)中,给定一个包含 n 个样本的数据集

M=(x1,y1),…,(xn,yn),

其中,特征向量 xi∈X,标签 yi∈Y,X 表示特征空间,Y 表示标签空间。目标是学习一个函数

fθ→Y,

使损失函数

L(fθ(xi),yi)

最小。通常需要先从候选函数中选择一个假设空间 H,随后在该假设空间中拟合 fθ∈H。

在开发监督式 ML 模型 fθ 时,需要将数据集 M 划分为三个两两不相交的子集:

DataSAIL 同时适用于一维和二维数据集。

在一维数据集中,一个特征向量–输出值对 (xi,yi) 对应一个基本数据点。例如,可以针对单个化合物预测某种分子性质,如毒性(图 1,1D data)。

如果特征向量 xi 由两个基本数据点构成,则称为二维数据集。例如,在药物–靶标相互作用预测中,xi 表示一个分子与一个蛋白质靶标组成的配对,而 yi 表示需要预测的相互作用亲和力(图 1,2D data)。

值得注意的是,对于二维数据集,可以分别沿不同维度定义分子之间的相似性,例如分别在药物维度和靶标维度上计算相似性。根据数据划分过程中是否考虑由相似性引起的信息泄漏,以及数据集是一维还是二维,DataSAIL 定义了多种不同的数据划分任务:

这些任务如图 1 所示。其中,基于身份的数据划分不考虑分子之间的相似性,而基于相似性的数据划分则显式考虑这种相似性。

在二维数据划分中,如果一对发生相互作用的分子被分配到不同的数据子集中,则某些相互作用无法在不产生信息泄漏的情况下被分配到任何一个子集。因此,在二维数据划分过程中,部分相互作用可能会被舍弃,对应图 1 中 I2 和 S2 面板里的白色方格。

2.2 (k,R,C)-DataSAIL 问题

该部分进一步提出 (k,R,C)-DataSAIL,用于形式化描述如下数据划分问题:将一个 R 维数据集划分为 k 个子集,在最小化数据泄漏的同时,使数据中存在的 C 个类别——例如性别等混杂因素,或者当标签空间 Y 为离散空间时的输出标签 yi——在 k 个子集中尽可能均匀分布,从而使每个子集都能够保持整体数据的类别分布。

直观而言,(k,R,C)-DataSAIL 的目标可以概括为:在不同数据子集之间最小化相似性,同时维持各数据子集中相近的类别比例。

虽然该方法主要面向生物医学应用设计,但其问题定义具有通用性。只要能够为数据集中的数据点定义相似度或距离度量,就可以将其应用于任意类型的数据集。

该研究从理论上给出了适用于 R 维数据集的通用问题定义,但当前 Python 实现仅支持一维和二维输入,即

R≤2.

更形式化地,设 D 为数据集 M 中数据点的集合,或者由这些数据点构成的聚类集合。允许将聚类作为 D 的元素,这一点对于后续提出的启发式求解方法十分重要。

数据点或聚类 x∈D 可以属于 R∈N 种不同的实体类型,其类型记为

t(x)∈[R]:=1,…,R.

例如,在药物–靶标相互作用任务中,

R=2,

其中两种实体类型 r∈1,2 分别对应药物和蛋白质靶标,或者它们各自的聚类。

如果 M 是一维数据集,则所有数据点或聚类均具有相同的实体类型。

此外,每个数据点或聚类 x∈D 都具有一个基数

κ(x)∈N≥1.

对于基本数据点,总有

κ(x)=1.

如果 D 中的元素为聚类,则可能有

κ(x)>1.

对于每一种实体类型 r∈[R],定义

Dt=r:=x∈D∣t(x)=r,

并定义

nr:=∑x∈Dt=rκ(x),

分别表示类型为 r 的所有数据元素集合及其总基数。

此外,假设在 D 上已经定义了相似度函数

sim×D→R,

或者距离函数

dist×D→R.

已有研究曾从定性角度定义信息泄漏,也有研究将其定量表示为

(1)1|Dtest|∑x∈Dtestmaxx′∈Dtrainsim(x,x′).

不过,这一定义并不完整,因为它对于每个测试样本仅考虑最大的泄漏程度,同时忽略了验证集。

因此,DataSAIL 考虑一个映射

π→[k],

通过该映射将 D 划分为 k 个子集:

Diπ:=x∈D∣π(x)=i,i∈[k]:=1,…,k.

在此基础上,将由映射 π 引起的信息泄漏定义为

(2)L(π)=∑x,x′∈D π(x)≠π(x′)[π(x)≠π(x′)],sim(x,x′)κ(x)κ(x′).

其中,[⋅] 表示 Iverson 括号,即当条件成立时取 1,否则取 0。

该泄漏函数 L 统计了被分配到不同数据子集的数据元素之间的总相似度。基数 κ(x) 和 κ(x′) 被作为权重因子加入泄漏函数中,使较大聚类之间的相似性具有更高权重。

图1|一维和二维示例数据集的可视化 符号“Y”表示存在对应的测量值,矩阵旁的系统发育树用于展示样本之间的相似性。该图展示了所有数据划分任务及其相互关系。分配至训练集的样本以蓝色背景表示,验证集样本以黄色表示,测试集样本以红色表示;无法分配的单元格则保留为白色。

在典型的 ML 数据划分任务中,

k=3,

分别对应

D1π=Dtrain,D2π=Dval,

以及

D3π=Dtest.

因此,(k,R,C)-DataSAIL 可以被定义为:在满足下述两组约束的前提下,使 L(π) 最小。

设

si∈(0,1),

为用户指定的第 i 个数据子集所占比例,并满足

∑i=1ksi=1.

例如,可以设定

s1=0.8,s2=0.1,s3=0.1,

分别对应 80 的训练数据、10 的验证数据和 10 的测试数据。

对于所有实体类型与数据子集的组合

(i,r)∈[k]×[R],

第一组约束要求映射 π 在相对误差

ε∈[0,1)

范围内满足预设的数据划分比例:

(3)∑x∈Diπ∩Dt=rκ(x)≥(1−ε)sinr.

对于满足 κ(x)=1 的基本数据点而言,这意味着实体类型 r 中被分配到第 i 个数据子集的数据点比例,应在相对误差 ε 范围内符合预设的划分比例。

在许多 ML 应用中,数据元素 x∈D 可能属于 C 个类别中的一个或多个,即

σ(x)⊆[C].

此时通常希望得到分层划分,使每一个类别 c∈[C] 在不同数据子集中同样满足预设比例 si。

为此,进一步增加约束:

(4)∑x∈Diπ∩Dt=rσ=cκ(x)≥(1−δ)sinrc,

对于所有

(i,r,c)∈[k]×[R]×[C],

均成立。其中,

Dt=rσ=c:=x∈Dt=r∣c∈σ(x)

表示属于实体类型 r 且属于类别 c 的数据元素集合,

nrc:=∑x∈Dt=rσ=cκ(x)

表示这类数据元素的总基数,而

δ∈[0,1]

表示允许的相对误差。

这里有两点值得注意。

第一,当

ε≥δ

时,式(4)给出的约束能够推出式(3)的约束,因此当

δ≤ε

时,可以省略式(3)。

第二,当没有类别信息时,即所有数据元素都属于同一个“虚拟类别”,例如

σ(x)=1,

则式(4)和式(3)仅在 ε 和 δ 的选择上有所区别,两者本质等价,因此此时可以省略式(4)。

至此,(k,R,C)-DataSAIL 问题可以定义为

(5)minπL(π)

满足约束

(6)s.t.(3),(4).

定理 1。 对于所有

k∈N≥2,R∈N≥1,C∈N≥1,

(k,R,C)-DataSAIL 问题均为 NP-hard。

为了在这一计算复杂性限制下仍然能够获得低泄漏的数据划分,作者设计了一套启发式工作流程。首先,将单个数据点聚类为固定数量的簇;随后将这些聚类作为数据元素,求解一个固定规模的 (k,R,C)-DataSAIL 问题(图 2)。

(k,R,C)-DataSAIL 问题可以进一步表示为整数线性规划(integer linear programming,ILP)问题,其变量数量为

O(|D|k+|D|2),

约束数量为

O(kRC+|D|2k).

当 D 是由原始数据集预先计算得到、且规模固定的聚类集合时,ILP 的变量数和约束数均为常数,因此可以高效求解。DataSAIL 使用标准 ILP 求解器对这些固定规模的问题实例进行求解。

在得到 D 上的映射 π 后,可以进一步将该映射展开到原始数据集 M。

首先,将每个聚类 x∈D 中包含的数据元素 z 分配到聚类 x 所对应的数据子集,即对于所有

z∈x,

定义

π(z):=π(x).

随后,仅当特征向量 xj 中所表示的所有数据点 z 均满足

π(z)=i

时,才将特征向量–标签对

(xj,yj)∈M

分配到第 i 个数据子集。

例如,在药物–靶标相互作用预测中,特征向量 xj 同时包含一个药物和一个蛋白质。如果这两个实体被 π 分配到了不同的数据子集中,则该样本会产生冲突,因此会被舍弃。

具体而言,如果某个药物被分配到训练集,而与之相互作用的蛋白质被分配到测试集,那么对应的

(xj,yj)

将不会被保留。通过这种方式,DataSAIL 避免由于二维数据中不同实体跨数据子集分配而引入额外的信息泄漏。

图2|DataSAIL 的工作流程示意图 输入可以是任意类型的数据,其中重点面向生化数据。DataSAIL 首先计算两两距离或相似性矩阵(a),并据此将数据划分为固定数量的聚类(b)。随后,利用现成的整数线性规划(ILP)求解器,将这些聚类划分为 k 个子集(c)。最后,根据聚类的划分结果,DataSAIL 推断各基本数据点所属的数据子集(d)。

2.3 生物分子数据集的划分

首先考察一维数据。作者在 DataSAIL 生成的随机划分和基于相似性的划分(S1),以及另外两种竞争方法生成的数据划分上,训练并测试了 4 种基线机器学习模型,包括随机森林(random forest,RF)、支持向量机(support vector machine,SVM)、梯度提升模型(XGB)和多层感知机(multilayer perceptron,MLP),以及用于分子性质预测的深度学习模型 D-MPNN。

实验采用 MoleculeNet 数据集集合中两个广泛使用的数据集:QM8 为回归任务,对应图 3 上半部分;Tox21 为分类任务,对应图 3 下半部分。补充图 1 进一步给出了其他竞争方法以及 MoleculeNet 中更多一维数据集上的结果。

正如预期,DataSAIL 能够实现训练样本与测试样本之间更充分的分离。尤其是在两个数据集上,DataSAIL 生成的数据划分在所有比较方法中均表现出最低的信息泄漏 L(π),如图 3c、f 最右侧的柱状图所示。其他同样旨在减少信息泄漏的工具,如 LoHi 和 DeepChem 基于分子指纹的划分方法,只能部分实现这一目标,因此得到的 L(π) 值更高。

总体而言,与随机划分相比,较小的 L(π) 通常伴随着更明显的测试性能下降(图 3c、f 和补充图 2)。这一结果说明,DataSAIL 所实现的 L(π) 最小化确实能够产生更具挑战性的数据划分。同时也表明,此处评估的 ML 模型难以泛化到与训练数据具有较低 Tanimoto 相似度的分子。Tanimoto 相似度是计算图 3 中 L(π) 时采用的相似性度量。

对于深度学习模型 D-MPNN,这一结果与其原始论文中的发现一致。原研究已经表明,与随机划分相比,D-MPNN 在基于骨架的数据划分上表现明显更差,而基于骨架的划分与 DataSAIL 的 S1 划分类似,同样依赖于分子结构相似性,具体结果见补充表 1。所有图中均展示了按照式(20)定义进行缩放后的 L(π)。

随后,作者进一步考察二维数据,并对 LPPDBBind 数据集进行划分。该数据集包含 15,477 种药物与 12,718 个蛋白质靶标之间的结合亲和力数据(图 4)。

作者将 DataSAIL 的 I2 和 S2 划分,与分别沿药物维度和靶标维度进行的 I1、S1 划分进行了比较,同时纳入 DeepChem 基于分子指纹的划分方法、LoHi 和 GraphPart。与其他划分算法的进一步比较见补充图 3 和补充图 4。

与一维数据的结果一致,DataSAIL 生成的数据划分始终具有较低的 L(π) 值(图 4c、f、i),其中 S2 划分的表现尤其突出。此外,与沿药物维度(图 4c)或蛋白质维度(图 4f)随机划分数据的 I1 基线相比,具有较低 L(π) 的数据划分再次导致模型性能明显下降。

另一个值得注意的现象是,对于所有测试的 ML 模型,DataSAIL 的 S2 划分均产生了显著低于其他所有数据划分方式的测试性能(图 4i)。这表明,当模型在推理阶段遇到的药物和蛋白质均与训练数据中的药物和蛋白质缺乏相似性时,当前测试的结合亲和力预测模型并不能实现良好的泛化。

据作者所知,DataSAIL 是目前唯一能够直接支持此类划分策略的工具,可用于评估模型在“药物和蛋白质两个维度均属于分布外”的场景下的泛化能力。

值得注意的是,将 DataSAIL 与蛋白质–配体数据集 PLINDER 中针对特定数据集人工构建的划分进行比较后发现,从 L(π) 的角度来看,DataSAIL 自动生成的数据划分能够达到与这些针对特定数据集精心设计的划分相当的水平,具体结果见补充表 2。

相比现有方法,DataSAIL 的另一项改进在于能够将分层划分与信息泄漏最小化结合起来。为了展示 DataSAIL 在这一场景下的效果,作者采用 Tox21 中的 SR-ARE 子任务进行实验。该数据集中包含 6,889 个活性小分子和 942 个非活性小分子。

在该实验中,DataSAIL 并不是与完全随机划分进行比较,而是与经典的、未考虑样本相似性的分层划分进行比较。作者进一步引入相似性感知机制,并观察其对数据划分的影响。结果表明,相应的 DataSAIL 划分能够显著减少信息泄漏(图 5)。

图 5c 右侧对 L(π) 的比较进一步显示,与经典方法相比,DataSAIL 能够得到不同数据子集之间信息泄漏程度更低的划分。与此同时,这些划分也构成了更具挑战性的泛化任务,因此在所有测试的 ML 模型中均观察到了较为一致的性能下降。

图3|一维数据集 QM8 和 Tox21 展示 MoleculeNet 基准数据集中的 QM8(a、c、e)和 Tox21(b、d、f)。a、d 展示随机划分的 t-SNE 嵌入结果,b、e 展示 DataSAIL 的 S1 划分结果。c、f 展示不同数据划分下的 ML 模型性能和信息泄漏程度,其中 QM8 采用平均绝对误差(mean absolute error,MAE;越低越好)进行评估,Tox21 采用受试者工作特征曲线下面积(ROC-AUC;越高越好)进行评估。

2.4 求解器、超参数及可扩展性的影响

DataSAIL 的一个重要参数是聚类数量 K,用于构建固定规模的 (k,R,C)-DataSAIL 问题实例,并将其输入整数线性规划(ILP)求解器。图 6 第一行展示了 K 对数据划分质量(a)以及 DataSAIL 运行时间(b)的影响。作者基于扩展连接性指纹(extended-connectivity fingerprints,ECFP)的 Tanimoto 相似度,将 Tox21 数据集划分为不同数量的聚类,随后将得到的 (k,R,C)-DataSAIL 问题分别输入 GUROBI、MOSEK 和 SCIP 三种 ILP 求解器,并将每个求解器的时间上限设为 2 h。

结果显示,当 K>150 时,数据划分质量并未进一步提升;而在 K≈50 时,已经能够获得较好的划分结果。这表明,DataSAIL 只需要相对较少的聚类数量,即可得到信息泄漏较低的数据划分。在划分质量方面,三种 ILP 求解器的表现非常接近,其中 GUROBI 的求解速度最快。

图 6c 展示了允许的相对误差 ε 和 δ 对数据划分质量的影响。实验采用 Tox21 的 SR-ARE 子任务,并按照式(2)量化划分质量。该数据集的类别对应 SR-ARE 子任务中的二分类标签,因此在两个数据子集中均对阳性和阴性样本进行了平衡。

结果表明,数据划分质量主要受 ε 影响。该参数控制实际获得的数据划分比例与用户指定比例 si 之间允许存在的偏差程度。与预期不同,实验中并未观察到划分质量对 δ 的明显依赖。不过,该结果仅来源于一个规模较小的示例,不同数据集在规模、类别分布和结构特征等方面可能存在较大差异,因此整体趋势未必完全一致。

由于 MoleculeNet 包含多个规模、结构和相似性特征各不相同的数据集,作者进一步利用该基准测试 DataSAIL、LoHi 和 DeepChem 不同数据划分方法的运行时间(图 6d)。

正如预期,随着数据集规模增大,各种算法计算数据划分所需的时间均有所增加。虽然 DataSAIL 是所比较方法中运行速度最慢的算法,但其扩展性表现较为平稳,并且能够在合理时间内完成所有数据集的划分。相比之下,LoHi 在 MUV 数据集上运行 12 h 后仍未得到结果。

图4|二维数据集 LP-PDBBind a、d 展示随机划分(I1)的 t-SNE 嵌入结果,b、e 展示一维基于相似性的划分(S1),g、h 展示二维基于相似性的划分(S2)。其中,a、b、g 展示药物 ECFP4 指纹的 t-SNE 嵌入结果;d、e、h 展示蛋白质 ESM2-t12 嵌入的 t-SNE 可视化结果,灰色点表示在二维数据划分过程中必须舍弃的数据点。c、f、i 展示不同数据划分下的 ML 模型性能和信息泄漏程度,其中模型性能采用均方根误差(root mean squared error,RMSE;越低越好)进行评估。

图5|结合分层策略的一维数据划分 采用 Tox21 中的 SR-ARE 靶标数据集,其中两个类别分别为活性和非活性小分子。a,随机分层划分的 t-SNE 嵌入结果;b,考虑样本相似性的分层划分结果;c,不同数据划分下的 ML 模型性能及信息泄漏程度。

3 讨论

相似性是一个经常被忽视的信息泄漏来源,尤其是在 ML 模型需要面对推理阶段数据分布发生偏移的场景中,这一问题尤为重要。该研究提出 DataSAIL,一套用于 ML 模型训练与测试数据划分的计算流程和工具,旨在最大限度减少由数据相似性引起的信息泄漏。与现有先进工具相比,DataSAIL 能够生成质量更高的分布外(OOD)数据划分。

作者首先对 DataSAIL 所对应的优化问题进行了形式化定义,证明该问题属于 NP-hard 问题,并提出了一种具有良好可扩展性的启发式求解策略。实证结果进一步表明,该方法能够在合理时间内生成高质量、低信息泄漏的数据划分,使 DataSAIL 成为一种适用范围广泛的数据划分工具。

DataSAIL 同时支持一维和二维数据,并可处理多种类型的生化数据,包括小分子、蛋白质序列、DNA 和 RNA 序列、基因组以及较长的 contig 序列。只要用户能够提供数据点之间的相似度或距离,该框架也可以较容易地扩展到其他类型的数据。

DataSAIL 当前实现仍存在一定局限。首先,虽然其理论框架适用于任意 R 维数据,但目前的软件实现仅支持

[ R\leq2 ]

种实体类型。未来将进一步扩展 DataSAIL,使其能够处理任意维度的数据。

其次,在聚类步骤(图 2b)中,当前实现依赖谱聚类或凝聚层次聚类,尚不支持用户自定义聚类算法,而对于某些特定类型的数据,自定义聚类方法可能更加合适。

此外,尽管理论框架允许处理不同实体类型之间的相似性,但当前 DataSAIL 实现尚无法直接处理不同类型实体之间的相似性。

最后,对于二维数据,当前版本的 DataSAIL 在数据划分过程中可能会丢失部分特征向量–标签对。这种情况发生在一个特征向量所包含的两个基本数据点被分配到不同数据子集时。

图6|消融实验与可扩展性基准测试 a,DataSAIL 数据划分质量随聚类数量 K 的变化;b,运行时间随聚类数量 K 的变化;c,允许误差范围 ε 和 δ 对数据划分质量的影响;d,DataSAIL 及其他工具的运行时间随数据集规模的变化。图例中,DC 表示 DeepChem。

如果评估所使用的数据划分与模型预期的实际部署场景并不一致,也可能产生误导性的结果。尤其是,当推理阶段的数据预计会在用户所选择的相似性函数 sim 下与训练数据保持较高相似性时,使用 DataSAIL 生成的数据划分评估 ML 模型,反而可能得到过于悲观的性能结果。

因此,当使用 DataSAIL 为预期需要泛化到分布外(OOD)数据的 ML 模型构建评估数据集时,必须确保所选择的相似性函数 sim 确实能够反映目标应用场景中的泛化任务。在合理选择 sim 的前提下,如果观察到信息泄漏程度 L(π) 与模型性能之间存在正相关关系,则表明被测试的 ML 模型难以泛化到由该相似性函数 sim 所刻画的 OOD 场景。

与此相关,所选择的相似性函数 sim 还可能与 ML 模型需要预测的响应变量存在相关性。例如,在二分类问题中,同一类别的数据点 x 和 x′ 之间的相似度 sim(x,x′),可能显著高于不同类别数据点之间的相似度。

在这种情况下,使用 DataSAIL 时必须加入式(4)中的分层约束,并根据响应变量定义类别 C。如果不加入这一约束,DataSAIL 可能生成在响应变量分布上严重失衡的数据划分,从而再次导致模型性能被过度低估。