机器学习中的数据泄漏是什么?

作者

Tim Mucci

IBM Writer

Gather

机器学习中的数据泄漏是什么?

当模型在训练期间使用在预测时本不可用的信息时,就会发生机器学习中的数据泄漏。泄露会导致预测模型在部署前看似准确,但在实际使用中会产生错误结果,引发决策失误和错误洞察分析。

预测建模的目标是创建一个机器学习模型,该模型能够对真实世界的未来数据做出准确预测,而这些数据在模型训练期间是无法获得的。为避免出现不准确的结果,不应该在与训练数据相同的数据上对模型进行评估。因此,数据科学家通常将可用数据分成两组:一组用于训练模型,另一组用于验证模型在未知数据上的表现。

专家为您带来最新的 AI 趋势

获取有关最重要且最有趣的 AI 新闻的精选洞察分析。订阅我们的每周 Think 时事通讯。请参阅 IBM 隐私声明

谢谢!您已订阅。

您的订阅将以英语提供。您会在每份时事通讯中找到一个取消订阅链接。您可以在此处管理您的订阅或取消订阅。有关更多信息,请参阅我们的 IBM 隐私声明

数据泄露的示例和类型

当使用训练数据集之外的数据构建模型,而这些未来数据在模型用于预测时不可用时,就会发生数据泄露。该模型在测试和验证阶段表现良好,但在生产环境中会变得完全不准确。

泄漏分为两种类型:目标泄漏和训练与测试污染

目标泄漏:模型包含了在用于预测时无法获取的数据。

使用真实世界预测中不可用的信息会导致过拟合,即模型在训练和验证数据上表现异常出色,但在生产环境中表现糟糕。

训练与测试污染:当训练数据和验证数据都用于创建模型时,通常是由于分割或预处理不当造成的。

目标泄露示例

例如,设想一个为预测信用卡欺诈而创建的模型。在预测应用中,模型必须根据不完整的数据做出可靠的未来预测,而这一问题令人担忧。原始数据集将包含客户信息、交易金额、交易地点、是否检测到欺诈行为以及是否拒付。

在训练模型时,欺诈检测和拒付列将输入真值或假值。在真实世界中,拒付通常是在发现欺诈行为后启动的,因此在发现欺诈行为时无法获得这些信息。

使用此类信息训练模型,会使其认为拒付的交易几乎总是欺诈性的。在验证过程中,由于训练数据中欺诈与拒付之间存在强关联性,模型会表现出高准确率。然而,在部署时将无法获得拒付信息,导致模型在实际应用中表现不佳

训练测试污染示例

假设数据科学家正在构建一个基于房屋面积、卧室数量和所在社区等特征的房价预测模型。将数值特征(如房屋面积和房龄)标准化,使它们具有相同的尺度,这是一个常见的预处理步骤,这对许多机器学习都很有帮助。

但是,假设数据科学家在将数据集分割为训练集和测试集之前,对整个数据集应用了标准化。在这种情况下,模型将在训练过程中间接“看到”来自测试集的信息。因此,由于在预处理步骤中使用了测试集的信息,模型在测试数据上的性能可能会被人为夸大。这使得模型更容易在测试集上表现出色,但却有可能降低其泛化到新的、未见过的数据的能力。

缩放、插补或特征选择等预处理步骤应仅在训练数据上拟合,然后应用于验证集,而不是在分割前对整个数据集进行拟合。错误地使用转换器(例如缩放或归一化),会导致训练和测试集混淆,尤其是在神经网络模型中。当这些不当执行的预处理步骤应用于整个数据集时,会导致预测有偏倚和模型性能的虚假表现。

AI 学院

让 AI 服务于客户服务

了解生成式 AI 如何提供更加无缝、令人满意的客户体验,并在以下三个关键领域提高组织的工作效率:自助服务、人工客服和联络中心运营。

数据泄漏的原因

数据泄露可能造成耗时且损失数百万美元的错误,其发生原因多样:部分常见原因有:

包含未来信息:使用在真实世界中预测时无法获得的信息。

特征选择不当:选择与目标相关但无因果关系的特征。模型正在学习如何利用在实际预测中无法获得的信息。

外部数据污染:将外部数据集与训练数据合并可能会导致预测有偏倚或不准确,因为外部数据可能包含有关目标变量的直接或间接信息。

数据预处理错误:在将数据分成训练集和验证集之前,或在用整个数据集的信息填补缺失值时,会出现数据分割不正确的情况。在深度学习模型中,这可能尤其成问题,因为在这些模型中通常需要进行大量预处理,因此避免混合训练数据和测试数据至关重要。

不正确的交叉验证:在对包含随时间变化的数据的数据集进行交叉验证时,如果包含了未来的数据点,模型就会获得本不应该获得的信息,导致评估结果过于乐观。

归一化:数据转换,如缩放或归一化特征,如果不正确地同时应用于训练数据和测试数据,而不是分别应用,就会导致数据泄漏

验证和过程变更泄漏:改变验证的执行方式可能会让新信息进入训练集,从而造成泄漏。在调整模型后,通过重新运行交叉验证或重新分割数据来对过程进行部分调整,可能会无意中将信息泄露到训练过程中。

数据泄漏对机器学习模型的影响

数据泄露是预测建模机器学习算法训练中的常见隐患。美国国家医学图书馆的一项研究发现1,在应用机器学习方法的 17 个不同科学领域中,至少有 294 篇科学论文受到数据泄露的影响,导致性能评估过于乐观。

耶鲁大学的一项研究发现2,数据泄露可能会夸大或降低神经影像模型的性能指标,具体取决于泄露信息是引入噪声还是产生不真实模式。这些模型用于疾病诊断、治疗方案确定以及帮助神经科学家更好地了解大脑与身体之间的关系。

机器学习模型中的数据泄漏可能会对不同领域和数据类型产生不同的影响,以下是最常见的影响:

对新数据的泛化能力差:当模型是根据不代表真实世界的信息进行训练时,模型将很难泛化到未见过的数据。对新数据的预测可能不准确、不可靠。

有偏倚的决策: 泄露数据中的偏倚有可能会扭曲模型行为,从而导致不公平且脱离实际情况的决策。

不可靠的洞察分析和结果:数据泄漏会损害从模型中得出的洞察分析的可靠性,导致用户不信任结果。

虚高的性能指标:机器学习中的泄漏常常导致模型错误地显示较高的准确率和精确度。

资源浪费:在模型训练完成后,查找和修复数据泄漏不但耗时且成本高昂。修复数据泄漏需要从头开始重新训练模型,这需要高昂的计算成本,还需要重新设计从数据预处理到重新训练的整个模型管道,这在人力和计算成本方面都是资源密集型的。

失去信任:不可靠的模型最终会导致对数据科学团队和整个分析过程的不信任。

法律与合规风险:预测性分析中的数据泄露可能会导致法律与监管风险。如果敏感信息被滥用,可能会导致处罚和声誉受损。

检测机器学习中的数据泄漏

检测数据泄露需要组织了解模型准备和处理过程;需要采用严格的策略来验证机器学习模型的完整性。以下是在构建模型和检测数据泄漏方面需要牢记的一些最佳实践:

准备:数据必须正确分割,预处理步骤应仅应用于训练数据集。审查所有特征,有助于确保它们在预测过程中不代表未来或不可用的信息。

搜索:模型训练完成后,调查可能表明泄漏的可疑模式。审查特征重要性和模型行为,以发现任何不切实际的关系。

测试: 使用真实数据测试有限模型。监测其在实际场景中的性能;如果性能大幅下降,可能表明在训练过程中出现泄漏。

以下是一些常见的泄漏信号:

异常高性能:如果模型显示出明显高于预期的准确度、精确度或召回率,尤其是在验证数据上,则可能表明数据泄露。

训练和测试性能之间的差异:训练集和测试集的性能差距较大,表明模型可能因泄漏而过拟合。

不一致的交叉验证结果:如果交叉验证折间的性能差异很大或异常高,则可能发生训练测试泄漏或分割不当。

意外的模型行为:如果模型严重依赖于逻辑上不合理的特征,这可能表明存在泄漏。

适当的评估技术

可通过多种方式最大限度地减少数据泄露,并且可采用多种工具来保护模型完整性。交叉验证,尤其是时间序列或分层 k 折验证,有助于正确评估模型并突出潜在泄漏。在大型语言模型 (LLM) 中,交叉验证和严格的数据处理至关重要,以避免在模型训练时使用其后续推理可能遇到的数据,否则将削弱模型对新输入数据的响应能力。在训练期间,使用一个完全独立的保留集,在训练期间保持不动,可有效防止泄漏。

特征重要性可以揭示模型是否依赖于预测过程中无法获得的数据。数据可视化和模型预测可以揭示泄漏模式或异常现象。此外,领域专家应仔细检查模型,确定模型是否使用了不切实际或不可用的数据,从而帮助发现有问题的特征。

防止机器学习中的数据泄漏

为防止数据泄漏,组织必须谨慎处理数据并进行系统评估。以下是一些基本做法:

数据预处理: 为防止数据集之间的信息泄漏,可对训练集和测试集分别进行缩放或缺失值归因等预处理步骤。对训练集和测试集分别进行缩放、编码和插补等预处理,尽可能自动化管道。

正确数据分割:正确分割训练集和测试集。精心策划的训练/测试分割可防止测试集的信息泄漏到训练阶段。对于随时间变化的数据,按时间顺序分割,以防止未来数据进入训练过程。要检查泄漏,请维护一个单独且不同的验证集,该验证集在训练过程中未曾使用,且能代表真实世界的数据

交叉验证:使用 k 折交叉验证在多个数据子集上测试模型,有助于捕捉潜在的泄漏并提高泛化能力。

特征工程:避免创建引入未来数据的特征。审查推导出的特征,确认它们仅反映预测时可用的特征。定期评估特征相关性,确认它们是适当的,并且不会在预测时引入不可用的信息。

基于时间的验证:对于时间序列数据,使用基于时间的验证来模拟真实世界的性能。这有助于确保使用过去的数据来预测未来的结果,并避免未来的数据泄露。谨慎处理时间序列数据,使用滚动窗口验证或前瞻验证等方法,避免在训练过程中泄漏未来数据。

定期模型评估:在训练和测试期间持续监控性能,以检测任何显示泄漏的意外变化。

预防数据丢失中的数据泄漏

数据泄露还有另一种定义,它与机器学习无关,而是指从数据安全角度来看数据的意外暴露。在数据丢失预防 (DLP) 中,数据泄露是指敏感信息在无意中暴露给未经授权的第三方。例如,配置错误的云存储服务器可能会让个人身份信息 (PII) 和商业机密被轻易访问。

最常见的数据泄露途径源于人为错误,例如员工错误放置笔记本电脑或通过电子邮件和信息平台共享敏感信息。黑客可以利用暴露的数据进行身份盗窃,窃取信用卡详细信息或在暗网上出售数据。

相关解决方案
IBM watsonx.ai

使用面向 AI 构建器的新一代企业级开发平台 IBM watsonx.ai,可以训练、验证、调整和部署生成式 AI、基础模型和机器学习功能。使用一小部分数据,即可在很短的时间内构建 AI 应用程序。

了解 watsonx.ai
人工智能 (AI) 解决方案

借助 IBM 业界领先的人工智能专业知识和解决方案组合,让人工智能在您的业务中发挥作用。

深入了解 AI 解决方案
AI 咨询与服务

通过增加 AI 重塑关键工作流程和运营,最大限度提升体验、实时决策和商业价值。

深入了解人工智能服务
采取后续步骤

一站式访问跨越 AI 开发生命周期的功能。利用用户友好型界面、工作流并访问行业标准 API 和 SDK,生成功能强大的 AI 解决方案。

深入了解 watsonx.ai 预约实时演示