一、基本信息
论文名称:Opprentice: Towards practical and automatic anomaly detection through machine learning
期刊/会议:ACM IMC
发表时间:2015年
引用次数:30
二、主要内容
2.1 研究方向
研究KPI时间序列的异常点检测,数据格式是(timestamp, value)。
KPI曲线异常检测
2.2 写作动机
由于实际场景中数据的不同,用机器学习方法进行分类时需要花大量时间去调参,作者想用一个框架将数据标记、机器学习算法统一起来,并尽可能减少调参工作。
2.3 整体框架
利用标注工具(Labeling Tool)人工标注数据,利用时间序列相关算法(Detectors: 一阶指数平滑、二阶指数平滑、ARMA等等)自动提取特征,利用随机森林(调整阈值)进行二分类。
数据处理流程
2.4 困难点与创新
作者主要面临四个困难:标注开销大、数据不能涵盖所有的异常情况、类别不均衡、冗余特征较多。
对于数据标注,作者开发了一个标注工具,需要行业人员每隔一段时间(比如每周)来标注数据。行业人员可以直接拖动鼠标标记异常数据,速度比较快,作者说几分钟就可以标记完一个月的数据。在标记数据时可能会标记错误,比如标记异常的开头处和结尾处,作者说机器学习算法的鲁棒性可以保证结果精度。
对于数据不能涵盖所有的异常情况,作者没有提出很好的解决办法,只说可以根据标记数据进行增量训练分类器。
对于类别不均衡问题,作者采用了调整分类器的阈值的做法。作者采用的分类器是随机森林,默认的阈值为0.5(50%以上的决策树判定为异常则认为该样本点是异常点)。由于样本不均衡,不同行业的人可能对precision和recall的重视程度不一样,所以作者将PC-Score(类似于F1-Score)最高的阈值作为模型阈值。
image.png
其中R和P是行业人员设定的recall和precision的下限,不同行业可以设定不同的下限。
对于冗余特征较多问题,因为作者是从KPI曲线上自动提取特征,所以特征存在冗余,所以作者采用了适合处理冗余特征、对噪声不敏感的集成算法:随机森林。而朴素贝叶斯、逻辑回归、决策树、支持向量机则不适合处理特征冗余情况。
关于自动提取特征,作者采用了简单阈值、差分、移动平均、指数平滑、SVD、ARIMA等方法,这些方法里面都有参数,作者通过采样或者人工设置的方式得到不同的参数。比如一阶指数平滑里面有一个参数,作者设置了0.1、0.3、0.5、0.7、0.9这样5个参数。最终使用了14个Detector提取133个特征。
网友评论