当前位置:首页>> 如何构建一个异常检测系统?

如何构建一个异常检测系统?

发布时间:2017-10-23作者:林静

在实际的运维场景中,构建一个异常检测系统往往需要两个角色共同参与:领域专家和算法开发人员。领域专家也就是我们的运维人员,他们对KPI曲线的行为很熟悉,可以通过观察KPI曲线并结合自己的领域知识,判断KPI曲线是否出现异常;算法开发人员负责构建异常检测系统,他们熟悉异常检测器(算法),但是实际中有各种不同类型的KPI曲线需要维护,所以需要为不同类型的KPI曲线选择合适的异常检测器以及合适的算法参数。

如何构建一个异常检测系统?

在实际构建异常检测系统时,首先需要运维人员结合自己的领域知识向算法开发人员描述异常,然后开发人员根据这些描述来为KPI曲线选择合适的检测器和算法参数,接着领域专家根据这些检测器的检测结果向开发人员反馈,来进一步优化检测器。所以实际中经常需要经过多次迭代才能开发出可用的异常检测系统,有时还会出现最终开发失败的例子,这是因为:

1.运维人员难以事先给出准确、量化的异常定义

2.选择和综合不同的检测器需要很多人力

3.检测器算法复杂,参数调节不直观

实际中经常需要经过多次迭代才能开发出可用的异常检测系统,有时还会出现最终开发失败的例子。因此,我们就会问,有没有一个可以自动选择异常检测器和自动调节算法参数的系统呢?答案是有!,我们实验室的研究成果:基于机器学习的KPI自动化异常检测系统(Opprentice)就是针对它设计的,下文将主要介绍Opprentice 的设计思想以及设计框架。

设计思想

Opprentice (Operator's Apprentice)的主要思想就是跟着运维人员从历史数据中学习,运维人员就像是一个“师傅”,将自己的领域知识“教“给Opprentice,然后Opprentice根据“学”到的知识来自动选择合适的异常检测器和算法参数。如下图所示,运维人员首先在历史的KPI曲线上标记出异常,接着Opprentice 使用十几种不同类型的检测器提取出上百个异常特征,此时有了人工标记的数据和异常特征,我们就可以将异常检测问题转化成机器学习中监督式的分类问题,将提取出的特征作为机器学习算法的输入,通过分类算法将KPI曲线上的点分为正常和异常,从而实现了异常检测。

如何构建一个异常检测系统?


  设计框架

Opprentice主要由两部分组成:离线训练分类器和在线检测,在离线训练分类器部分,首先运维人员使用我们开发的异常标注工具,方便快速的标注出KPI曲线上的异常数据,并且设置期望Opprentice达到的准确率(precision)和召回率(recall),然后Opprentice会使用十几种不同类型的检测器提取出KPI曲线的特征,其中每种检测器都有多种不同的参数配置,因此最终会提取出上百个异常特征。因为提取出的上百个异常特征中会存在无关特征和冗余特征,一些机器学习算法使用包含有这些特征的数据训练模型时准确度会降低,为了解决这个问题,我们选择了一种集成学习算法(ensemble learning algorithm)来训练分类器:随机森林,随机森林算法使用了多棵决策树,最终的结果是由每棵决策树的结果投票决定的,并且训练决策树的特征和数据都只是采样了整体特征和数据的一部分,因此使用随机森林训练模型时,无关特征和冗余特征不会影响算法的性能。最后,将提取出的异常特征,运维人员的标注数据和准确性倾向作为输入,训练出异常分类器。

在线检测部分中,首先对于新的数据点进行特征提取,然后用训练出的分类器判断数据点是否异常。在实际中,新的KPI数据中往往会出现一些历史数据中没有出现过的异常类型,为了让分类器可以适应新出现的异常,就需要运维人员定期的对最新的KPI数据进行异常标记,Opprentice会定期训练新的模型来更新分类器。

如何构建一个异常检测系统?

离线训练分离器

我们使用了来自百度和清华校园网的数个月的真实数据对系统的性能进行了验证,下面四幅图是在四个不同类型的KPI数据上,Opprentice使用的随机森林模型跟其它检测器的性能对比,可以看出Opprentice均取得了优异的结果。

总结

Opprentice将异常检测问题转换成了机器学习中的监督式分类问题,使用运维人员的标注数据,在历史数据中训练出分类模型来自动构建异常检测系统,从而解决了异常检测器的选择和算法参数调整的难题,为复杂检测器的实际应用提供了自动化的框架。

公司简介

宜科(天津)电子有限公司是中国工业自动化的领军企业,于2003年在天津投资成立,销售和服务网络覆盖全国。作为中国本土工业自动化产品的提供商和智能制造解决方案的供应商,宜科在汽车、汽车零部件、工程机械、机器人、食品制药、印刷包装、纺织机械、物流设备、电子制造等诸多领域占据领先地位。宜科为智慧工厂的整体规划实施提供自系统层、控制层、网络层到执行层自上而下的全系列服务,产品及解决方案涵盖但不局限于云平台、MES制造执行系统、工业现场总线、工业以太网、工业无线通讯、机器人及智能设备组成的自动化生产线、自动化电气控制系统集成、智能物流仓储系统等,以实现真正智能化的生产制造,从而带来生产力和生产效率的大幅提升,以及对生产灵活性和生产复杂性的管理能力的大幅提升。多年来,宜科以创新的技术、卓越的解决方案和产品坚持不懈地为中国制造业的发展提供全面支持,并以出众的品质和令人信赖的可靠性、领先的技术成就、不懈的创新追求,在业界独树一帜。帮助中国制造业转型升级,加速智能制造进程,成为中国工业4.0智慧工厂解决方案当之无愧的践行者。

更多详情>>

联系我们

  • 联系人:章清涛
  • 热线:18611695135
  • 电话:
  • 传真:
  • 邮箱:18210150532@139.com

Copyright © 2015 ilinki.net Inc. All rights reserved. 智汇工业版权所有

电话:010-62314658 邮箱:service@ilinki.net

主办单位:智汇万联(北京)信息技术有限公司

京ICP备15030148号-1