京东搜索数据科学团队研发了基于机器学习模型的时序预测与异常检测报警系统,该系统旨在提高报警准确率、降低误报率、提高报警时效性与因果解释性。

这是一个典型的在线学习训练实现方案,如图所示:
-
离线训练任务:一个训练任务在 hdfs load 训练数据,先将训练数据进行特征工程等的加工之后,将模型进行离线的训练,训练完成之后将 model info 和模型参数数据写入 parameter server,该任务天级运行,每次运行训练比如说 28 天的数据。
-
实时训练任务:实时任务方面,该任务从 kafka 读取样本数据,将样本数据进行一 定积累之后比如说小时级、分钟级、条数等进行小批量的训练,先去 parameter server pull 模型参数和超参数据,load 模型之后如果有预估需求的话,可能进行一次 predict,如果没有预估需求,可以直接进行模型训练,并且将训练之后的模型数据 push 给 parameter server。
-
敲黑板重要提示:在该图中,因为 FFT(傅里叶变换)是一个无状态的机器学习算法,为了防止将错误的数据加入训练集,我们需要离线训练一个常规 pattern,当 FFT 训练数据中有异常时,用 pattern 的同一时段数据替换异常数据,避免训练数据的异常趋势影响周期性检验的精准度。比如说,离线训练出来的模型周期是一个星期,因此,pattern 是一个横轴为 time 纵轴为 value 的数据集,只要将异常点的时间的 value 用 pattern 里面相应时间的 value 替换即可;当然了,为了避免一些异常值的影响,我们还需要移动平均滤波,并且需要通过现行回归学习长期趋势来排除数据中长期趋势的影响。
内容中包含的图片若涉及版权问题,请及时与我们联系删除


评论
沙发等你来抢