数据漂移、概念漂移以及如何监控它们(mona)

简介: 在机器学习模型监控的上下文中经常提到数据和概念漂移,但它们到底是什么以及如何检测到它们?此外,考虑到围绕它们的常见误解,是不惜一切代价避免数据和概念漂移的事情,还是在生产中训练模型的自然和可接受的后果?请仔细阅读,找出答案。在本文中,我们将提供模型漂移的细粒度细分,以及检测它们的方法以及处理它们时的最佳实践。

什么是数据漂移?

也许这两种模型漂移中更常见的是数据漂移,它简单地指的是训练模型后数据分布的任何变化。换句话说,当模型在生产中呈现的输入与训练期间提供的分布不对应时,通常会发生数据漂移。这通常表现为特征分布的变化,即给定特征的某些值可能在生产中变得更常见,而其他值可能会出现流行度下降。

例如,考虑一家为优化营销工作提供 LTV 预测模型的电子商务公司。这种模型的一个合理特征是客户的年龄。现在,假设这家公司改变了他们的营销策略,也许是通过发起针对特定年龄组的新活动。在这种情况下,输入模型的年龄分布可能会发生变化,从而导致年龄特征的分布发生变化,并可能导致模型的预测能力下降。这将被视为数据漂移。

网络异常,图片无法展示
|


什么是概念漂移?

概念漂移是指模型的数据输入和目标变量之间关系的变化

当市场动态、客户行为或人口统计的变化导致输入和目标之间的新关系降低模型的预测时,就会发生这种情况。

区分概念漂移和数据漂移的关键是对目标的考虑——数据漂移仅适用于您的模型遇到新的、看不见的或变化的数据时,而概念漂移发生在输入和输出之间的基本关系发生变化时,包括模型已经看到的数据。

回到我们的 LTV 预测模型示例,假设发生了全国范围内的经济转变,其中某个年龄段的客户突然有更多的钱可以花,导致在这个人群中购买更多的企业产品。事实上,这在 Covid-19 大流行期间发生得相当剧烈,当时美国政府发放的刺激支票落入了全国数百万就业不足的千禧一代手中。在这种情况下,与您的模型互动的千禧一代的数量不一定会改变,但他们在购买上的花费会改变。检测这种概念漂移并重新训练模型对于保持其性能至关重要。


什么时候应该关注 ML 模型中的概念漂移?

从某种意义上说,您应该始终关心概念漂移,至少在意识到它已经发生的程度上。因为概念漂移是指目标和输出之间关系的潜在转变,所以总是需要重新训练模型来捕捉这些新的对应关系。也就是说,如果您要捕获的关系仍能代表您的下游业务 KPI,则您只想重新训练模型。虽然这种情况经常发生,但这并不总是一种保证。

例如,您的商业模式可能会发生转变,您决定更关心客户在您的网站上花费的时间(以便您可以增加广告收入),而不是他们在您的实际产品上花费的金额(可能有,开始时很小)。在这种情况下,您可能想要训练一个完全不同的模型,因此原始模型中的概念漂移将不再是一个问题。


监控数据漂移和概念漂移的建议

什么不能做

正如我们之前的示例所说明的那样,仅仅提醒数据或概念漂移的存在是不够的。深入了解数据分布的变化或输入与目标之间的关系如何影响模型性能和下游业务 KPI 对于在适当的环境中解决漂移问题至关重要。许多工具之所以失败,是因为它们只会提醒数据科学家注意整体数据分布的变化,而事实上,更小、特定数据段的变化往往预示着更剧烈的分布变化。

成功解决漂移的关键是对这些更微妙、更早的变化发出警报并及时处理它们,因为当漂移发生到足以在整体分布中检测到时,问题通常已经在多个领域显着表现出来在大量数据上降低模型性能。在这一点上,解决问题变成了一场追赶游戏,在这个游戏中你总是落后一步,让数据流过你的模型,训练不当的系统。


你应该做什么

解决数据和概念漂移的正确方法是在您的业务流程中创建一个反馈循环,并在它所服务的业务功能的上下文中监控您的模型。您希望确定实际的、可量化的性能指标,这些指标可让您快速评估模型在任何时刻的性能,从而使您能够了解数据分布的变化是否与性能下降相关。最终,这将允许您将输入特征与实际业务成果联系起来,并了解基本概念何时发生变化。如果有,您可以在上下文中理解它并决定是否值得采取措施解决它。

最后,您希望确保在粒度级别上测量数据的更改。 在机器学习中,为了森林而放弃树木实际上会以有问题的方式表现出错误。 充分了解模型的性能需要适应数据的特定部分,因为这些通常在问题传播到整个分布之前,首先显示问题。

继续我们的 LTV 模型示例,如果罗德岛等较小州的客户是第一个接受刺激支票的监视,那么这可能不是一个足够大的转变,那么不足以在整个分布中提出。然而,了解这一变化可能会提醒您数据分布的更多全面的变化即将到来(即其他州将很快发布刺激支票的监视)。

因此,在粒度级别检测数据变化对于早期识别数据和概念漂移以及从 ML 模型中获得最佳性能非常重要。


结论

当模型由于数据变化而不再按预期执行时,就会发生数据和概念漂移;

但是,它们每个都出于不同的原因而表现出来。当训练和生产模型服务之间的输入数据分布发生变化时,就会出现数据漂移。在这些情况下,这种转变可能无关紧要,或者可能需要重新训练模型,这取决于模型对新分布的泛化程度。

另一方面,当底层函数映射输入到目标发生变化时,就会发生概念漂移。在这些情况下,几乎总是需要模型再训练来捕获新关系,假设这些关系与您的下游业务 KPI 相关。

最终,为了检测数据和概念漂移,您希望在业务成果和数据特征之间建立反馈循环。您还应该根据这些结果定义强大的性能指标,以评估您的模型的表现并将其与特定功能相关联。

最后,您希望确保在粒度级别监控数据的更改,以便在分布变化传播并影响整个数据集之前收到警报。


相关文章
|
机器学习/深度学习 Python
深度学习篇之数据集划分方法-附代码python详细注释
深度学习篇之数据集划分方法-附代码python详细注释
深度学习篇之数据集划分方法-附代码python详细注释
|
7月前
|
SQL 分布式计算 监控
终于有人把数据倾斜讲清楚了
本文深入剖析大数据处理中的“数据倾斜”问题,从现象到本质,结合真实踩坑经历,讲解数据倾斜的成因、典型场景及四步精准定位方法,帮助开发者从根本上理解和解决这一常见难题。
1517 29
终于有人把数据倾斜讲清楚了
|
机器学习/深度学习 人工智能 搜索推荐
《探秘AI驱动的个性化推荐系统:精准触达用户的科技密码》
在这个信息爆炸的时代,AI驱动的个性化推荐系统应运而生,通过数据收集与处理、构建用户画像、核心算法(协同过滤与基于内容的推荐)及深度学习技术,精准洞察用户需求。它广泛应用于电商、视频平台等领域,提升用户体验和商业效益。尽管面临数据稀疏性、隐私保护等挑战,未来将更加精准、实时并注重用户隐私。
1630 1
《探秘AI驱动的个性化推荐系统:精准触达用户的科技密码》
|
机器学习/深度学习 自然语言处理 JavaScript
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
在信息论、机器学习和统计学领域中,KL散度(Kullback-Leibler散度)是量化概率分布差异的关键概念。本文深入探讨了KL散度及其相关概念,包括Jensen-Shannon散度和Renyi散度。KL散度用于衡量两个概率分布之间的差异,而Jensen-Shannon散度则提供了一种对称的度量方式。Renyi散度通过可调参数α,提供了更灵活的散度度量。这些概念不仅在理论研究中至关重要,在实际应用中也广泛用于数据压缩、变分自编码器、强化学习等领域。通过分析电子商务中的数据漂移实例,展示了这些散度指标在捕捉数据分布变化方面的独特优势,为企业提供了数据驱动的决策支持。
2114 2
信息论、机器学习的核心概念:熵、KL散度、JS散度和Renyi散度的深度解析及应用
|
机器学习/深度学习 资源调度 自然语言处理
长短时记忆网络(LSTM)完整实战:从理论到PyTorch实战演示
长短时记忆网络(LSTM)完整实战:从理论到PyTorch实战演示
19891 0
|
数据可视化 搜索推荐 小程序
LowCode:低代码平台,2024国内十大主流低代码平台年终盘点
低代码平台是一种加速软件开发的高效工具,通过可视化和模型驱动的方式减少手动编码,快速构建应用。它能显著提升开发效率,降低开发成本,支持企业快速实现数字化转型。国内主流低代码平台如织信Informat、白码、钉钉宜搭等,各具特色,可根据企业需求选择合适的平台。私有化部署更是确保数据安全和定制化的重要手段。
|
计算机视觉
增量学习中Task incremental、Domain incremental、Class incremental 三种学习模式的概念及代表性数据集?
本文介绍了增量学习中的三种主要模式:任务增量学习(Task-incremental)、域增量学习(Domain-incremental)和类别增量学习(Class-incremental),它们分别关注任务序列、数据分布变化和类别更新对学习器性能的影响,并列举了每种模式下的代表性数据集。
3323 4
增量学习中Task incremental、Domain incremental、Class incremental 三种学习模式的概念及代表性数据集?
|
前端开发 数据安全/隐私保护 Python
Python 图文:小白也能轻松生成精美 PDF 报告!
Python 图文:小白也能轻松生成精美 PDF 报告!
998 1
|
数据可视化 Ubuntu Linux
PyCharm连接远程服务器配置的全过程
相信很多人都遇见过这种情况:实验室成员使用同一台服务器,每个人拥有自己的独立账号,我们可以使用服务器更好的配置完成实验,毕竟自己哪有money拥有自己的3090呢。 通常服务器系统采用Linux,而我们平常使用频繁的是Windows系统,二者在操作方面存在很大的区别,比如我们实验室的服务器采用Ubuntu系统,创建远程交互任务时可以使用Terminal终端或者VNC桌面化操作,我觉得VNC很麻烦,所以采用Terminal进行实验,但是Terminal操作给我最不好的体验就是无法可视化中间实验结果,而且实验前后的数据上传和下载工作也让我头疼不已。
|
搜索推荐
九大排序算法时间复杂度、空间复杂度、稳定性
九大排序算法的时间复杂度、空间复杂度和稳定性,提供了对各种排序方法效率和特性的比较分析。
1595 1

热门文章

最新文章

下一篇
开通oss服务