三个方面:
1、数据随时间变化的问题
对于一个模型y = f(x)来说,输入对应的输出结果,可能不会改变,即,一个x,对应一个输出。在某些情况下,输入和输出的一些关系会随着时间的变化而变化的时候。比如旧的数据不在能够准确预测新的数据,或者扩大了训练样本的数量,导致训练数据不完全正确的情况下。
这种情况如果发现,就需要更新训练模型去反映这些变化。
2、什么是概念偏移:
一些未知和隐藏的关系存在于输入和输出变量。
举个例子:季节虽然没有在温度数据中被明确说明,但是可能会影响温度的数据。另一个例子,消费者购买行为随时间的变化可能是受经济增强所影响,但是经济增强并没有显示的在数据中说明。这些现象也被称为“隐藏内容”。
Indre Zliobaite in the 2010 paper titled “Learning underConcept Drift: An Overview”provides a framework for thinking about concept drift and the decisionsrequired by the machine learning practitioner, as follows:
a) 未来假设:设计者需要对未来数据做出假设;
b) 改变类型:设计者需要去确定可能改变的模式;
c) 适应性学习:基于类型的改变和未来的假设,设计者选择一个让学习者(模型)适应的机制;
d) 模型选择:设计者需要选择一种量化的模式去评价在不同阶段的训练出来的学习者(模型)。
3、如何解决概念漂移的问题
a) 什么都不做(静态模型):
假设数据不存在改变的情况,发展一种简单的所谓“最好的”模型,即一旦建立就能够用于所有未来的情况。
但是如果你发现你的数据集可能会受概念偏移的影响,则静态模型可以使用下面两种方法:
i) 概念偏移检测:反复检测静态模型,如果出现性能下降,可能就会存在概念偏移发生,此时需要一些介入;
ii) 基线的性能:用静态模型的一些性能作为基线,和你设置的辅助手段进行比较。
b) 定期做适应性反复调整:
更新静态模型使用更多的最近的历史数据。例如,大概你更新模型每个月,每年。将数据用到你的训练模型中获得新的适应性模型。
c) 定期更新:
定期更新机器学习的模型。
d) 数据权重
一些算法允许你去权衡输入数据的重要性。这里你可以使用权值去改变旧数据的比例。例如,设置更高的权重给最新的数据,或者更少的权重给最新的数据。
e) 学习改变:
一个集成方法可以在静态模型保持不变的情况下使用,但是一个新的模型会根据最近的数据中的关系来学习修正静态模型的预测。
f) 检测和选择模型:
对于一个问题域,可以设计一个系统取检测变化,也可以选择一个特殊的不同的模型去做预测。
g) 数据准备:
在这些类型的问题中,通常需要准备数据,以消除随时间变化的数据,例如不同的趋势和季节性。
一般来说,我们不认为数据有系统的变化是概念漂移的问题,因为它可以直接处理。相反,这些示例可能是思考您的问题的一个有用的方法,可以帮助您预测更改,并使用标准化、缩放、投影等方式,以特定的方式准备数据,以减轻或至少减少更改对输入变量的影响。
本文主要针对概念偏移做了一些笔记,还是从下面的链接地址中习得的知识!
本文参考链接:https://machinelearningmastery.com/gentle-introduction-concept-drift-machine-learning/