Streaming Random Forests on Flink

实时流计算服务概览 异常检测与常用算法 华为流式随机森林设计与实现 总结
展开查看详情

1. Security Level: Streaming Random Forests In Huawei CloudStream www.huawei.com 冯叶磊 实时流计算服务团队 HUAWEI TECHNOLOGIES CO., LTD.

2.Content l  实时流计算服务概览 l  异常检测与常用算法 l  华为流式随机森林设计与实现 l  总结

3.实时流计算服务概览

4.华为FlinkSQL扩展之CEP 复杂事件处理用来检测无尽数据流中的复杂模式。 场景:银行盗刷检测,工业传感器异常告警,交通套牌车监测 MATCH_RECOGNIZE ( [ PARTITION BY expression [, expression ]* ] [ ORDER BY orderItem [, orderItem ]* ] [ MEASURES measureColumn [, measureColumn ]* ] [ ONE ROW PER MATCH | ALL ROWS PER MATCH ] [ AFTER MATCH ( SKIP TO NEXT ROW | SKIP PAST LAST ROW | SKIP TO FIRST variable | SKIP TO LAST variable | SKIP TO variable ) ] PATTERN ( paQern ) [ WITHIN intervalLiteral ] [ SUBSET subsetItem [, subsetItem ]* ] DEFINE variable AS condiSon [, variable AS condiSon ]* ) MR

5.华为FlinkSQL扩展之CEP

6. 华为FlinkSQL扩展之GeoSpatial(地理空间函数) • DDL for Geometry • ST_Point • ST_Line • ST_Polygon • SQL GeospaSal FuncSons • ST_CONTAINS(geometry, geometry) - 左几何体包含右几何体时返回True • ST_WITHIN(geometry, geometry) - 右几何体包含左几何体时返回True • ST_DISJOINT(geometry, geometry) - 左几何体和右几何体交集为空时返回True • ST_INTERSECTION(geometry, geometry) - 左几何体和右几何体相交时返回True • ST_BUFFER(geometry, double) - 返回距离左几何体指定缓冲距离的几何体 • ST_ENVELOPE(geometry) - 返回围绕指定几何体的矩形 • SQL Time GeospaSal • AGG_DISTANCE • AVG_SPEED • … on HOP/TUMBLE/OVER/SESSION windows • …on count/Sme windows • ….on rowSme/procSme windows

7.华为FlinkSQL扩展之GeoSpatial •  监测车辆偏航 •  电子围栏 •  实时测速,车辆里程统计

8.SQL可视化编辑

9.异常检测 “An outlier is an observaSon which deviates so much from the other observaSons as to arouse suspicions that it was generated by a different mechanism.” — D. M. Hawkins, Iden%fica%on of Outliers, Chapman and Hall, 1980.

10.异常检测 应用场景 •  入侵监测 •  金融诈骗 •  传感器数据监控 •  医学诊断 •  自然数据监测 经典算法 Data point -> Outlier score / binary labels •  StaSsScal Models: Grubb’s test, ProbabilisSc mixture modeling •  Distance Based Models: NN, Local Outlier Factor •  Linear Models: LR, SVM, PCA •  Nonlinear Models: Replicator NN, Tree based models(IsolaSon Forest)

11.Isolation Tree简介 训练:构建一棵 iTree 时,先从全量数据中抽取一批样本,然后随机选择一个特征 作为起始节点,并在该特征的最大值和最小值之间随机选择一个值,将样本中小 于该取值的数据划到左分支,大于等于该取值的划到右分支。然后,在左右两个 分支数据中,重复上述步骤,直到满足如下条件: 数据不可再分,即: •  只包含一条数据,或者全部数据相同。 •  二叉树达到限定的最大深度。 预测:计算数据 x 的异常分值时,先要估算它在每棵 iTree 中的路径长度

12.Isolation Forest 简介 实验表明,当设定为 100 棵树,抽样样本数为 256 条训练生产IF后,在大多 数离线情况下就已经可以取得不错的效果。 但是在流式场景中不适用!

13.流式异常检测 “To improve is to change; to be perfect is to change oren.”– Winston Churchill 流式异常检测 •  无限流,内存存储限制, one pass •  高吞吐,低延时 •  数据分布变化 (concept drir),模型及时更新 •  异常数据稀少 维护一个窗口保存最近一段时间的数据,定时触发重新训练IF模型 •  除了刚刚重新训练后,模型是过时的 •  窗口大小是影响性能的重要因素,影响训练时间效果以及内存 13

14.总结 •  CEP on SQL •  GeoSpaSal •  Streaming Random forest hQps://www.huaweicloud.com/product/cs.html

15.参考文献 •  Outlier analysis CC Aggarwal - Data mining, 2015 – Springer •  IsolaSon forest - FT Liu, KM Ting, ZH Zhou - Data Mining, 2008. ICDM'08 •  Fast anomaly detecSon for streaming data - SC Tan, KM Ting, TF Liu - IJCAI 2011 •  Outlier ensembles: an introducSon - CC Aggarwal, S Sathe - 2017 •  Mass esSmaSon and its applicaSons - In Proceedings of 16th ACM SIGKDD, 2010. •  Robust random cut forest based anomaly detecSon on streams - S Guha, N Mishra, G Roy, O Schrijvers - ICML‘16

16.「Fin」