机器学习模型开发中的数据泄露

发布:2023-02-22 14:27:04
阅读:627
作者:网络整理
分享:复制链接

什么是数据泄露?

在机器学习模型的开发过程中,无意中犯技术错误是很常见的。不过一旦遇到意外行为,也能通过检测发现它们。这是因为大多数错误的后果在开发阶段直接反映在模型性能上。然而,数据泄漏更加隐秘,除非是将模型部署到公众中,否则它不会显示其影响,因为模型将面临看不见的现实场景。

数据泄露还会给建模者一种错觉,即通过两个数据集中的极高评估指标获得了模型一直在寻找的最佳状态。但是一旦投入生产,模型的性能不仅会比测试运行时更差,而且还需要花费更多时间来检查和调整一些算法。而作为ML建模者,就会在开发和生产阶段得到自相矛盾的结果。

数据泄漏的原因和影响

这种信息的引入是无意的,并且是在数据收集、汇总和准备过程促成的。它通常是微妙和间接的,因此很难检测和消除。因此,在训练过程中,模型将捕获额外信息与目标值之间的这种相关性或强关系,​​以学习如何进行预测,一旦被释放,它就会出现失败,因为这些额外信息不是可用的。

在数据聚合和准备期间可能会应用一些统计转换,例如插补和数据缩放,这些转换利用统计数据分布。因此,如果我们在执行训练和测试集之前就将这些修正应用于整个数据集,就不会产生相同的结果,在这种情况下,数据的测试部分会影响训练的数据分布放。

打个比方,可以将其视为包含某个特征的100个值的数据系列。如果我们将系列分成2个相同含有50个值的组,则平均值和标准偏差等统计属性将不会相同。而对于时间序列预测任务,可以对数据集应用k折交叉验证。改组过程可能会在验证集中引入过去的数据实例,在训练集中引入未来的实例。

同理,在用于生产环境中的机器学习模型中,无数据泄漏的模型会比测试结果更高的模型表现更好,并且在某种程度上受到数据泄漏的影响。

扫码进群
微信群
免费体验AI服务