类型b
本文作者为普林斯顿大学计算机科学系与信息技术政策中心的Sayash Kapoor和Arvind Narayanan,论文于2023年9月8日发表在*Patterns*期刊。文章围绕机器学习科学中的数据泄漏(data leakage)问题展开,系统调查了该问题在多个学科中的普遍性,提出了八类数据泄漏分类法,引入了“模型信息表”(model info sheets)作为缓解工具,并通过内战预测的案例研究展示了泄漏修正后复杂模型优势消失的现象。文章的核心论点是:数据泄漏是机器学习科学可复现性危机的主要驱动因素之一,且现有针对工程应用和建模竞赛的泄漏缓解策略无法直接迁移至科学研究场景。
文章的第一个主要论点是:机器学习科学正面临由数据泄漏引发的系统性可复现性危机。作者通过对17个科学领域中22篇已发表综述或评论文章的分析,发现共有294篇论文受到数据泄漏影响。这些领域涵盖临床预测、精神病学神经影像、基因组学、自闭症诊断、肥胖与营养研究、软件工程、毒理学、遥感图像分割、脑机接口、组织病理学、COVID-19影像诊断、计算机安全等。作者强调,这一数字是下限估计,因为大多数综述仅基于论文文本而非代码和数据进行检查,许多隐性泄漏无法被发现。此外,不同学科使用不同术语描述同一类错误,使得跨学科的系统检索变得困难。文章指出,数据泄漏导致模型性能被高估,进而形成对预测范式的过度乐观反馈循环,且不可复现的论文往往比可复现论文被引用更多。该论点得到图1中22篇综述证据的支持,这些综述无一例外地发现其领域内存在某种形式的泄漏。
文章的第二个主要论点是:数据泄漏可分为八种类型,其中部分类型并未被先前针对工程应用或建模竞赛的研究充分覆盖。这八类包括:L1.1无测试集;L1.2在训练集和测试集上共同进行预处理(如插补、过采样);L1.3在训练集和测试集上共同进行特征选择;L1.4数据集中存在重复样本;L2使用不合法的特征(如结果变量的代理变量,例如用是否服用抗高血压药物预测高血压);L3.1时间泄漏(测试集包含训练集之前的数据);L3.2训练与测试样本之间非独立(如同一患者的不同观测同时出现在训练和测试集);L3.3测试分布的采样偏差(如空间偏差、选择偏差,或者排除边缘病例导致测试集不具代表性)。作者指出,L3.3在先前关于数据泄漏的文献中通常不被视为泄漏,但他们认为采样偏差与典型泄漏具有相同的原因(特征与结果之间产生虚假相关)和相同的影响(高估模型性能),因此将其纳入分类法。文章强调,科学研究中的泄漏本质上源于测试集分布与科学关注分布之间的不匹配,而稳健性对分布偏移的处理仍是开放研究问题。
文章的第三个主要论点是:现有针对机器学习其他应用场景的泄漏缓解策略无法直接应用于科学研究。在建模竞赛中,数据集创建和模型评估由独立第三方完成,参与者无法访问保留的评估集;而在大多数机器学习科学中,研究者在建模过程中可以访问整个数据集,这直接导致泄漏。在工程应用中,缓解泄漏的常见建议是将模型小规模部署到生产环境,但这种方法的目标是粗略评估模型是否适合产品,而科学研究要求模型性能作为科学声明的证据,微小的性能差异也具有科学意义。此外,工程应用通常拥有大规模数据和快速变化的上下文,而科学声明对性能差异更加敏感。这一论点的意义在于说明,机器学习科学需要专门的泄漏检测与预防机制,不能简单照搬工业界实践。
文章的第四个主要论点是:模型信息表可以作为科学研究中检测和预防数据泄漏的工具。文章提出的模型信息表包含21个问题,要求研究者提供三个核心论证:干净的训练-测试分离(L1);每个特征在模型中的合法性(L2);测试集来自科学关注的分布(L3)。这些论证直接对应文章的数据泄漏分类法,旨在将模型性能声明与科学声明连接起来,使研究者在发表前主动检查泄漏风险。文章还讨论了模型信息表的变革理论,指出其可以通过两种方式影响研究实践:研究者将其作为补充材料随论文提交,以透明报告建模细节;期刊投稿指南可以鼓励或要求作者填写模型信息表,为审稿人提供审查模型细节的中间途径,避免逐行检查代码的负担。同时,文章也承认模型信息表的局限性,包括:如果计算可复现性得不到保障,模型信息表中的声明无法被独立验证;填写错误的模型信息表可能提供虚假保证;缺乏机器学习专业知识的作者和审稿人可能无法识别微妙泄漏;随着对泄漏理解的演变,模型信息表本身需要版本更新。
文章的第五个主要论点是:内战预测领域的案例研究表明,修正数据泄漏后,复杂机器学习模型的性能优势基本消失。作者系统检索了内战预测相关文献,从124篇论文中筛选出12篇,这些论文专注于内战预测、使用训练-测试分割进行性能评估并共享了完整代码和数据。在这12篇中,4篇声称复杂机器学习模型优于逻辑回归(LR)的论文全部存在数据泄漏错误,且这4篇均发表于政治学和国际关系领域排名前十的期刊。具体错误包括:Muchlinski等人对训练集和测试集共同进行插补;Colaresi和Mahmood以及Wang错误地重用了通过不正确插补方法生成的数据集;Kaufman等人使用了多个内战结果变量的代理变量作为预测特征。修正这些错误后,随机森林在Muchlinski和Colaresi的研究中不再优于逻辑回归;在Wang的研究中,AdaBoost与逻辑回归的AUC差异从0.14降至0.01;在Kaufman的研究中,AdaBoost不再优于逻辑回归,且没有任何模型优于简单的“预测上一年结果”的基线模型。作者还指出,12篇论文中有9篇未进行显著性检验或不确定性量化。以Blair和Sambanis的研究为例,其报告AUC为0.85,但95%置信区间为0.66–0.95,且与其他基线模型的性能差异未达到统计显著。案例研究进一步发现,泄漏同时影响简单模型和复杂模型,但由于复杂模型具有更高的模型容量,更容易过拟合虚假相关,因此泄漏对其影响更大。这一发现与Salganik等人关于生活结果可预测性以及Dressel和Farid关于累犯预测的研究结论一致,说明在诸多社会结果预测任务中,复杂机器学习模型并不必然优于传统统计模型。
文章最后提出五项诊断与相应建议:D1缺乏对预测极限的理解,建议研究和传达预测任务的上限;D2炒作、过度乐观与发表偏差,建议将机器学习科学的结果视为暂时性的;D3专业知识不足,建议加强跨学科合作;D4缺乏标准化,建议在可能的情况下采用共同任务框架(common task framework),由第三方管理数据集和评估;D5缺乏计算可复现性,建议利用CodeOcean等平台确保结果的可复现性。文章的核心价值在于,它首次跨学科系统量化了数据泄漏在机器学习科学中的影响范围,提供了可操作的分类法和检测工具,并通过案例研究实证证明泄漏修正会推翻已发表的高影响力结论。这对于正在采用机器学习方法但尚未建立相应规范的研究领域具有重要的预警和指导意义。同时,文章也推动了科学界对预测建模范式本身的反思,即复杂模型高预测性能的声明在多大程度上可被信任。