首先举个接近生活的例子,你作为一个优秀的算法工程师,你的目标是用机器学习算法来解决生活中的许多实际问题。 在解决二分类问题时,通过交叉检查方法对模型进行训练,发现测试集上的AUC指标为0.99时,我想你可以开发出这样的牛逼模型,以获得今年年底奖。 之后,系统工程师将该模型工程化,引进生产环境,正式开始解决实际业务问题。 当你向同事炫耀模特有多厉害的时候,模特在生产环境下的效果表现数据出来了。 看完后,双脚突然变软,同事不帮忙的话,就会倒在地上。
上述模型的出现在脱机评价时效果好,在线效果差的原因有很多,其中有时也被称为数据泄密( data leakage )。 用于训练机器学习算法的数据集包括应该预测的,即,部分测试数据被泄密训练集。 这里所说的信息是关于虽然能够在目标标签和训练数据中利用,但在实际世界中不能利用的、不合法的数据的信息。
数据泄密通常以非常微妙而难以理解的方式发生。 数据泄密发生时,模型脱机的评价结果为“虚高”。 所谓“虚高”,是指在离线阶段评价模型时,虽然在测试装置中表现得很好,但是在正式导入到生产环境中解决实际业务问题时,效果非常差。 也就是说,在离线评价中过高地估计了模型的能力。
前面已经描述了数据泄密的定义,但是它是抽象的,在此举一些例子说明数据泄密。 易于理解的泄密示例:如果训练数据包含测试数据,模型将过于适合。 另外,以预测目标作为模型的特征,模型的结论基本上类似于“苹果是苹果”。 如果某个东西上贴着苹果的标签,模型就意味着它是苹果的预测。 让我们看看KDD比赛中更微妙的泄密例子。
预测潜在客户是否在银行开户时使用的特征之一是“账号”。 很明显,只有开户的顾客在这个字段有价值。 训练时没有任何问题,但实际进行预测时,对所有顾客来说,这个特征是空的。 因为在预测之前不知道顾客的账户有多少,所以如果在预测之前说知道顾客的账户的话,预测模型会是什么呢
在零售网站中,如果预测用户在浏览当前页面后,下次要离开网站或浏览其他新页面,则数据泄露的一个特征是session length,即用户访问网站时浏览的页面的 该特征包含用户访问了多少次的将来的信息。 一个解决方案是将session length替换为page number in session。 在session中,此前的页面阅读总数。
在电子商务网站,向用户暴露商品后,是否购买的问题经常被预测。 显然,在这个问题上,商品的好评率是非常重要的要素,在一般的训练中使用过去的数据来制作模型,例如使用过去一周的数据,为训练数据来制作商品的好评率的情况下,如果使用该商品的当前时间的好评率,则该特征包含未来的信息,因此在曝光时该商品的好评率 例如,在2018年10月10日的22分30秒,商品I向用户u公开,最终用户u购入的商品公开时的好感度为99%,一周后,2018年10月17日的22分30秒,该商品的好感度为86%,此时使用以前的数据制作了训练样本的情况下
正在开发诊断特定疾病的模型,现在的患者训练组包括患者是否为该疾病做了手术的特征。 显然,使用这一特征可以大大提高预测的准确性,但这显然是有数据泄漏的。 因为在患者的诊断结果不出来之前,不能知道这个特征。
另一个相关的例子是患者ID,可以根据特定的诊断路径被分配患者ID。 也就是说,去专家的结果是最初的医生判断有可能生病,所以ID有可能不同。
数据泄密可分为训练数据泄密和特征泄密两大类。 训练数据泄密是测试数据和未来数据通常混在训练数据中,特征泄密是特征中包含与实际标签有关的信息。
泄密培训数据的情况可能包括:
预处理使用整个数据集(培训集和测试集)进行计算,结果会影响培训期间显示的内容。 这可以包括计算用于标准化和定标的参数、搜索用于检测和删除异常值的最小和最大特征值、使用变量在整个数据集合中的分布估计训练集合中的缺失值、以及执行特征选择的场景:
当处理时间序列数据时,另一个重要问题是未预期地使用未来事件的记录来计算预测的特性。 让我们看一下谈话长度的例子。
特征性泄密的原因可能包括:
有些不正当的特征被删除,但包括相同或相似信息的特征被忽略(例如,患者是否动过手术的特征在前一个示例中被删除但是患者ID未被删除)。
在某些情况下,数据集记录可能被有意地随机化,或者包含有关用户的特定信息(如用户的名称和位置)的字段可能被匿名化。 根据预测任务的不同,您可以取消匿名化,以查明在实际使用中不合法的用户和其他机密信息。
如果您知道什么是数据泄密,下一步就看看如何检测数据泄密。
在构建模型之前,可以对数据进行搜索分析。 例如,查找与目标标记或值高度相关的特征。 例如医学诊断的例子中,患者是否为那个疾病做了手术这一特征,与是否最终得了病非常有关联性。
构建模型后,可以检查模型中是否有非常重要的特征泄密。 或者,在构建模型后,如果发现模型的效果惊人,则需要考虑是否发生了数据泄密。
另一种更可靠的检漏方法是有限的实际安排训练模型,观察训练时的性能与实际环境的表现之间是否存在较大差异。 然而,如果差异较大,则这可能是由于过拟合。
如果检测到数据泄密,该如何修复呢?
首先,在预处理数据时,应该使用分割的训练集而不是使用整个数据集计算。
在处理时间序列问题时,必须使相关特征的时间戳与发生时间一致,以免训练数据中出现来自未来的信息。
并且,对于与预测目标的相关性特别高,或者模型中的权重特别高的特征,要好好检查是否发生了数据泄密,如果是的话,一定要排除。
【编辑推荐】
安企神软件系统加密软件–企业文件防泄密专家!防拷贝复制、防文件传播泄露!轻松实现单位内部文件自动加密保护,加密后的文件在单位内部正常流转使用。未经许可,任何私自拷贝加密文件外发出去,都将打开为乱码,无法使用!
对于发送给客户等第三方的文件,可实现控制打开时间和打开次数等防泄密参数!同时可设置对员工电脑文件自动备份,防止恶意删除造成核心数据的遗失!从源头防止企业核心文件被外泄!
相关内容:加密软件,文件加密,文档加密,图纸加密软件,防泄密软件,CAD加密软件,企业文件加密
远程监控电脑屏幕用什么软件?这些软件值得一试
如今,随着网络办公和团队合作的日益普及,实时监控电脑屏幕已成为确保工作效率和信息安全的有效途径。以下是一些在远程监控电脑屏幕方面表现出色的软件,能够满足不同场景的规定。1、TeamViewerTeamviewer是世界著名的远程桌面控制软件,页面简易,操作简便,联接平稳。此系统支持多种操作系统,从而实现远程访问、远程支...
U盘管理软件有哪些?探索U盘管理软件的多样世界
在数字时代,U盘作为便携式存储设备,在日常工作和学习中发挥着重要作用。然而,如何有效地管理U盘并确保其安全性和便利性已成为许多用户关注的焦点。今天,让我们一起探索那些优秀的U盘管理软件,它们将给您的数字生活带来前所未有的便利。1、PKu盘卫士 PKU盘是一款专业的U盘安全检测软件,可以实时监控U盘的安全状态,并评估电脑...
电脑实时监控软件哪款好?为您精选几款高效工具
在当今数字化飞速发展的时代,电脑已经成为我们生活和工作中不可或缺的工具。为了确保公司的信息安全,提高工作效率,选择合适的电脑实时监控软件至关重要。本文将为您推荐几款高效实用的电脑实时监控软件,帮助你更好地掌握员工工作动态,提升团队效率。一、安企神软件软件特点:综合监控功能:安企神软件凭借其综合监控管理功能脱颖而出,可以...
局域网监控软件可以监控外网吗?一文解析
如今,随着数字办公的日益普及,局域网监控软件已经成为企业网络管理不可或缺的一部分。然而,局域网监控软件能否监控外网一直困扰着许多企业网络工程师。本文将深入探讨这一问题,分析局域网监控软件在外网监控中能力与局限性。一、局域网监控软件的主要功能局域网监控软件是一种基于桌面管理软件和监控系统的综合监控工具。它通常具有以下基本...
安企神网络安全准入系统
安企神软件网络安全准入系统是一种高效、灵活、易于管理的网络密钥管理解决方案,旨在为公司网络环境提供全面的安全保障。通过身份认证、健康体检和安全设置评定,此系统保证只有授权的设备与用户才能浏览公司的内部网络资源,进而最大限度地降低安全隐患。一、网络安全准入系统主要功能1、用户身份认证安企神网络准入系统选用严格的身份认证机...