当今,机器学习模型已经成为商业决策的主要驱动因素,和其他商业策略一样,这些机器学习模型需要随着时间的推移而进行修改,其背后的技术原因是“模型漂移”。虽然大多数课程、文章和帖子都描述了机器学习(ML)生命周期(从收集数据开始到部署机器学习模型结束),但是它们往往忘记了机器学习生命周期中一个非常重要的特性,即模型漂移。
模型漂移的本质意思是指目标变量和自变量之间的关系随时间而变化。由于这种漂移,模型会变得不稳定,并且随着时间的推移预测会不断出错。
漂移类型
模型漂移可以分为两大类。
第一种被称为“概念漂移”。当目标变量本身的统计属性发生变化时,就会发生这种情况。显而易见,如果我们试图预测的变量的含义发生了变化,那么模型就不能很好地用于这个更新的定义。
第二种也是最常见的一种是“数据漂移”。当预测变量的统计属性发生变化时,就会发生这种情况。同样,如果基础变量发生了变化,则模型必然会失败。发生这种情况的典型例子是,数据中的模式由于季节性而发生变化。无论哪种商业模式在夏天行得通,在冬天可能就行不通。尽管航班需求在节假日期间激增,但航空公司在淡季很难保持客流量。另一个例子是当个人偏好发生变化时,其购物数据也会产生变化。
如何解决呢?
解决这个问题的最佳方法是不断地重新拟合模型。根据过去的经验,可以估计出模型漂移的开始时间。在此基础上,也可以重新开发机器学习模型,以减轻漂移带来的风险。
对于数据随时间变化的情况,数据权重是一个不错的选择。例如,根据最近的交易确定机器学习模型的一些特征,这些特征赋予最近的交易更多的权重,而给予过去的交易更少的权重。这不仅确保了机器学习模型的鲁棒性,而且还有助于避免与漂移相关的潜在问题。
应对模型漂移的更复杂的方法是对变化本身进行建模。开发的第一个模型保持静态,并作为基线。根据最近交易数据中行为的变化,可以建立新的机器学习模型来纠正这个基线模型的预测。
应该多久重新训练一次模型呢?
既然我们已经看到了最常见的解决方案涉及到模型的持续再训练,那么问题就出现了,这需要多久进行一次训练呢?对此有多种解决方案,每种解决方案都因情况而异。
虽然等待问题发生并不是最好的方法,但是当涉及到新模型时,它仍然是唯一的选择。当问题出现时,可以对出现的问题进行调查,并进行修改以防止未来出现此类问题。
当模型中涉及的实体数据是季节性模式时,应根据季节对模型进行再训练。例如,随着节日期间支出的增加,机构需要建立特殊的模型来应对这种模式的突然变化。
检测漂移的最佳方法是持续监测。与模型稳定性相关的指标需要在连续的时间间隔内进行监视。根据领域和业务的不同,这个间隔可以是一周、一个月、一个季度等。监视模式可以是手动的,也可以是自动的脚本,在观察到突然的异常时应触发警报和通知。
最后
正如哲学家赫拉克利特的名言,“变化是唯一不变的”。那些准备好接受和监控这些变化的组织,是注定要成功的。