最近在查看某个数据集的描述时,出现了一个新词“scaffold splitting”,特此去查了一下。
模型在开发和生产过程中遇到的数据分布可能是有差异的,要使模型能正真用到生产中,就要求模型要有一定的泛化性。模型与训练数据的好坏是息息相关的。
Scaffolds
Molecular scaffold, a distinguished and one of the most imperative notions in medicinal chemistry, is defined as the core structure of a molecule with preferable bioactive properties
在药物化学领域,分字骨架是一种具有某些性质的基础分子结构。在分子骨架上可以测试具有新 R 基团和侧链来寻找新的药物。
当一个模型只在属于一部分分子骨架的数据集上做训练,那么当模型遇到属于未知的分子骨架的分子时,模型的性能时未知的。
Scaffold Split vs. Random Split
随机划分得到的数据集,测试集和训练集的分布是相似的,训练的模型对测试集数据是熟悉的,所以模型在测试集上的性能一般会很好。
Scaffold Split 是按照分子骨架划分的,训练集和测试集中的分子样本来自不同的分子骨架,即数据分布不太一样。所以模型在测试集上的数据一般会比较差。
Model Performance
虽然根据Scaffold Split训练的模型在测试集上数据更差,但是这也可以提高任务的难度,引导模型往泛化性好、能适应未知样本方向发展,这也是在生产中更为实用的。