ITPub博客

首页 > > > 案例版名词解释:机器学习中的概念漂移!

案例版名词解释:机器学习中的概念漂移!

作者:u_509a2a8fdb46 时间:2019-08-14 10:28:23 0 删除 编辑

对于基本相同的数据,随着时间的推移,模型的预测精度将降低。它导致新数据的决策边界与早期数据/标签构建的模型的决策边界分歧。对随机抽样的新数据进行评分可以检测漂移,从而允许我们根据需要触发昂贵的重新标记/重新训练任务......

没有什么是永恒不变的。甚至没有一个建立在成堆标记良好的数据智商的精心构建的模型。它的预测能力随着时间的推移而衰退。从广义上讲,模型有两种衰变方式。在数据漂移的情况下,数据随着时间的推移而发展,可能引入先前看不见的各种数据及其所需的新类别,但是对先前标记的数据没有影响。在概念漂移的情况下,即使数据的一般分布没有变化,我们对数据的解释也会随时间而变化。这使得最终用户将模型预测解释为随着时间的推移,对于相同/相似的数据已经恶化。此处的修复需要重新标记受影响的旧数据并重新训练模型。数据和概念都可以同时漂移,使问题更加棘手。

就像湖人队在世界大赛中对阵爱国者一样,当概念/游戏和数据/玩家都发生变化时,观众席上可能会有很多人混乱。

这篇文章是关于后期制作场景中概念漂移的检测,在这个场景中,一个基于旧数据的模型被用于对新的输入数据进行分类。对旧数据进行连续重新标记和训练的成本非常昂贵,因此我们希望检测概念漂移,并根据需要对其进行操作。为了便于说明和可视化,我们坚持使用2-d(即两个特征)和两个类来划分特征空间。但检测方法是通用的。一旦检测到漂移,就需要更新模型。详情将视乎申请而定,但一般而言:

如果我们诊断概念漂移,受影响的旧数据也需要重新标记并重新训练模型

如果我们诊断数据漂移,则需要标记足够的新数据以引入新类并重新训练模型

综合以上几点,我们发现数据和概念都发生了漂移

这篇文章的重点是概念漂移。数据漂移是本系列下一篇文章的主题。我们查看一些代码片段以进行说明,但是可以从github下载用于复制报告结果的完整代码。GitHub - ashokc/Concept-Drift-and-Model-Decay

1.概念漂移

当我们对数据的解释随着时间的推移而变化时,也会出现概念漂移,即使数据可能没有变化。我们过去认为属于A类的东西,我们现在声称它应该属于B类,因为我们对A和B属性的理解已经改变了。这是纯粹的概念漂移,显然需要进一步的解释和上下文才能进一步理解。例如,一段文本可以在1960年被合法地标记为属于一个类,但在2019年可能就属于不同的类。因此,对于2019年的相同数据,1960年建立的模型的预测将在很大程度上是错误的。下面的图1是一个极端的例子,但也可以用来说明当游戏规则发生变化时的问题。

图1.数据没有改变。但是我们的解释和指定的课程有

2.改变决策边界

概念漂移可以被视为决策边界随时间的变化。考虑图2中的模拟的两类情况。

图2.概念漂移可以通过模型和数据决策边界的分歧以及伴随的预测能力损失来检测

在t1时刻,y = x干净地将类分开,并具有一些良好的分离以引导。我们在这个数据上训练一个SVM分类器,得到的模型决策边界与数据模拟的决策边界完全一致。暂时一切正常,表明我们的预测是正确的。

新数据在稍后的时间t2进入,我们手动标记它(测试预测是否仍然好的唯一方法!)。所有标签都是根据我们在标记时对数据的理解。这是关键点。随着我们对数据的解释的发展,我们最终将一些数据放在A中(同时在t1时在B中放置了类似的数据)和另一些数据放在B中(同时在t1时将类似的数据放在A中)。

因此,新数据具有明显的决策边界,该边界与基于较早解释类似数据的模型决策边界不一致。因此,基于模型的预测对于标记的区域将是错误的。

因此,数据决策边界的不断变形是概念漂移的关键。当然,检测它的唯一方法是努力在常规基础上标记至少一些新数据,并寻找模型预测能力的下降。当我们认为降级不再可以容忍时,我们将需要重建模型,并根据当前对数据的理解重新标记数据。

3.模拟概念漂移

我们会继续遇到如图2所示的类似问题,但将以定量的方式进行,当模型的性能衰减到阈值时触发'重建!'信号。这是问题陈述。

数据决策边界是线性的(保持简单,而不是必要需求),以与水平方向形成5度角以开始。

我们在这个标记良好的数据上训练SVM分类器。

新批次的数据到达,每批数据都遵循一个逆时针旋转0.2度的决策边界。

我们随机抽取批次中10%的新数据进行抽样,并根据手头的模型评估f1分数。如果f1分数低于可接受的值,我们将触发重新标记任务,并继续上面的步骤2。

3.1生成数据

A类和B类都将从1000个数据点开始。每个新批次每个类增加125点。每个批次的数据决策边界(w)都是不同的。

3.2构建SVM分类器

我们在标记数据上构建SVM模型,并使用相同的方法获得测试/采样数据的f1分数。

3.3检测衰变

标记了25个随机选择的数据点(批次的10%),并与来自最新模型的预测进行比较。当样本的f1分数低于阈值(此处为0.925)时,我们会触发重新标记/重新训练任务。

3.4重新设定

随着数据决策边界的旋转和偏离,模型的决策边界越来越远,预测不断恶化。当采样数据的f1分数降至约0.925时,我们根据当前数据决策边界重新标记所有数据。现在,在具有2个特征和线性数据/模型决策边界的简单几何中,容易发现分类错误的新数据。但一般情况下不会这样,所以我们重新标记所有数据。

3.5重新训练以完成循环

需要使用更新的标签重新训练模型,以恢复其预测能力。

4.结果

下面的图3证实了我们的预期。在经过几个批次的漂移之后,新采样的数据与起始/最终(当f1分数已经恶化到0.925时)数据决策边界一起被绘制。这些图显示了先前构建的模型错误分类的新数据量。根据最终数据决策边界重新标记,并在该点重建模型恢复完美的f1分数。所有数据都是在重新构建后绘制的,以显示更新模型的决策边界完美地分隔了这两个类。

图3.由于新数据服从连续旋转的决策边界,随机抽样新数据的模型预测变得越来越差。当仅绘制新数据时,错误分类的区域是可见的。当违反质量阈值时,我们会触发任务,根据新数据的决策边界重新标记所有数据并重建模型。重建后的稠密图显示所有数据由模型/数据决策边界完美分隔开。

下面的图4显示了随着概念的漂移,以及重新标记和重建任务后的恢复,模型会衰退。总旋转角度是概念漂移的代表。

图4.随着模型的决策边界与新数据的决策边界越来越远,模型的f1分受到影响。它在重建后恢复

5.结论

考虑到需要手动重新标记旧数据,概念漂移驱动的模型衰减可能是代价昂贵的。可以通过全局测量来检测漂移,例如采样新数据的f1分数恶化。我们可以在这里对所有数据进行完整的重新标记,因为我们的标签不是手动的,而是公式驱动的。但是,在实际情况下可能无法实现。即使对需要重新标记的旧数据进行粗略的标识,也可以帮助降低手工工作。这需要进一步的工作。

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69927062/viewspace-3135377/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-08

  • 博文量
    210
  • 访问量
    38