无监督学习:决策树AI异常检测

2018 年 1 月 14 日 AI前线 William Vorhies

作者|William Vorhies
译者|Erica Yi
编辑|Emily
AI 前线导读:除非你参与过异常检测(anomaly detection)项目,不然的话你可能从未听说过无监督决策树。这是一种很有趣的决策树模型,虽然表面上听起来不可能,但是在实际操作中是现代入侵检测技术的支柱。

更多干货内容请关注微信公众号“AI 前线”,(ID:ai-front)

最近我去了一个关于流处理的演讲,但是该演讲的用例(use case)是关于异常检测。当他们开始谈论无监督决策树时,我的天线就竖起来了。无监督决策树是什么意思?它们会分裂出什么?

事实证明,在异常检测领域,无监督决策树的应用是相当普遍的。但是因为我并不从事该领域的相关工作,而且我怀疑我们中也很少有人在从事该领域的工作,所以我觉得我有必要分享下我发现的东西。

异常 VS 稀疏数据

几周前,我们介绍了处理不平衡数据集的技术。对于数据集不平衡到什么程度应被归为异常这个问题,人们并没有统一的标准。就像判断艺术的伟大与否,你看到的时候你就知道了。

这里我们作为例证的异常指的是入侵检测中的异常。虽然这些异常一天之内会出现好多次,但是跟常规的网页日志和系统数据包所产生的巨量数据相比,但是这些数据还是很少见的。具体到人的生活当中,异常可以是信用卡诈欺事件和正常 CT 扫描中发现癌症。

如果你认为你的用例介于稀疏和异常之间,那么就按照我们所做的一样,将两种方法都试一下,看看哪个最好。

监督 VS 无监督

在异常检测中,我们试图识别与数据集内与预期模式不匹配且根据定义很少的项目或事件。入侵检测系统中广泛地采用了‘基于特征码(signature based)’的方法来创建用于正常的监督技术中的训练数据。当监测到攻击时,相关的流量模式就会被记录、标记和人为地被分类为一次入侵,然后这些数据会与正常数据结合起来,用于创建监督训练集。

不论是受监督决策树、无监督决策树或者是由二者形成的随机森林,均可用作异常检测的工具。决策树是非参数的,也不会对数据的分布做出假设。它们擅长将数字和分类相结合,高效地去处理缺失的数据。所有类型的异常数据往往都是高维度数据,而决策树可以将其全部纳入其中,并提供合理清晰的指导,以便在修剪(pruning)后仅留下重要信息。

完整的来说,还有一类半监督异常检测,其训练数据仅由正常事务组成,不包含任何异常。这也被称为‘一类分类(One Class Classification)’,并以稍微不同的方式使用一类 SVM 或自动编码器,在这里就不讨论。

事实上,有监督方法在入侵检测方面仍然比无监督方式更精确,但是它们完全无法确定新的或许有严重威胁的零时差(zero-day)攻击。

无监督决策树

无监督决策树的概念其实有点误导性,因为它其实是一个无监督的聚类算法的组合,通过创建第一个关于好坏的猜测,来决定决策树应该在何处分裂。

步骤一:对您的数据运行一个聚类算法。我在尝试了几乎所有的聚类技术后,似乎旧的 k-NN 仍然是最好的。设定 K=2 似乎很诱人,但是鉴于可能存在多种不同类型的入侵,预期好的结果是不现实的。实际的指导是将 K 至少设置为 10,并且对值进行高达 50 的试验。在此过程中,因为数据是未标记的,所以没有能够确定最佳聚类的目标函数。

虽然在文献中并没有涉及,但是我们有很好的理由去尝试一下早期关于不平衡数据集的文章中讨论过的 SMOTE (Synthetic Minority Oversampling Technique),因为该技术的主要目的是澄清聚类之间的界限。

步骤二:记录了数据中的聚类后,以正常的方式运行决策树。显然的是,如果 K 很大,那么这将是一个多级问题,就需要通过解释阈值来发现异常。

从图中 ROC 曲线可以看出比照乳腺癌检测基准数据,k-NN 方法得到的结果是很不错的(请注意 AUC 轴在 0.5 时截止)。

异常检测无监督决策树的实际执行其实更为复杂,还会有关于不同类型异常的问题、数据规范化过程以及基准数据集本身的变化等多方面的问题。如果你想深入研究这一点,我建议你可以去阅读下本文摘录图表的原文,该文比较了各种数据集中八种不同的技术。

最佳实践

如果你想对此进行探索,那么用已存在的无监督随机森林的 Python 脚本,会让这个过程更容易一些。另外,我听的演讲来自于戴尔 EMC 的新兴技术部(Emerging Technologies Division)的首席解决方案架构师 Boni Bruno。他描述的场景是通过监测每个单独的地点,来实现在世界范围内分布的遍及全球各地的数据中心进行异常监测。

该技术体系结构的核心是 Spark Streaming。流(stream)中的一个操作会包含有基于 Python 无监督随机森林脚本的监测算法。警报通知会在监测到入侵后,不到 5 秒之内发出。

同样有意思的是,该系统的设定是每 24 小时收集一个新的(真正的大数据)数据集,来重新训练模型,以便实时捕获任何新的零时差攻击。

作者简介:

Bill Vorhies 是一个数据科学中心的主编,自 2001 年起一直担任数据科学家。他的联系方式是:Bill@DataScienceCentral.com

原文链接:

https://www.datasciencecentral.com/profiles/blogs/have-you-heard-about-unsupervised-decision-trees




登录查看更多
15

相关内容

决策树(Decision Tree)是在已知各种情况发生概率的基础上,通过构成决策树来求取净现值的期望值大于等于零的概率,评价项目风险,判断其可行性的决策分析方法,是直观运用概率分析的一种图解法。由于这种决策分支画成图形很像一棵树的枝干,故称决策树。在机器学习中,决策树是一个预测模型,他代表的是对象属性与对象值之间的一种映射关系。Entropy = 系统的凌乱程度,使用算法ID3, C4.5和C5.0生成树算法使用熵。这一度量是基于信息学理论中熵的概念。 决策树是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶节点代表一种类别。 分类树(决策树)是一种十分常用的分类方法。他是一种监管学习,所谓监管学习就是给定一堆样本,每个样本都有一组属性和一个类别,这些类别是事先确定的,那么通过学习得到一个分类器,这个分类器能够对新出现的对象给出正确的分类。这样的机器学习就被称之为监督学习。

知识荟萃

精品入门和进阶教程、论文和代码整理等

更多

查看相关VIP内容、论文、资讯等
【2020新书】监督机器学习,156页pdf,剑桥大学出版社
专知会员服务
151+阅读 · 2020年6月27日
【硬核书】可扩展机器学习:并行分布式方法
专知会员服务
85+阅读 · 2020年5月23日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
199+阅读 · 2020年2月11日
深度学习算法与架构回顾
专知会员服务
81+阅读 · 2019年10月20日
生成式对抗网络GAN异常检测
专知会员服务
116+阅读 · 2019年10月13日
时序异常检测算法概览
论智
29+阅读 · 2018年8月30日
决策树
Datartisan数据工匠
4+阅读 · 2018年4月19日
无监督学习才不是“不要你管”
MOOC
4+阅读 · 2018年4月13日
【干货】监督学习与无监督学习简介
专知
14+阅读 · 2018年4月4日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
机器学习自动文本分类
AI前线
23+阅读 · 2018年2月4日
为什么『无监督集成学习』乏人问津?
AI研习社
10+阅读 · 2017年10月24日
【推荐】伪标签学习导论 - 一种半监督学习方法
机器学习研究会
12+阅读 · 2017年10月5日
A Probe into Understanding GAN and VAE models
Arxiv
9+阅读 · 2018年12月13日
Arxiv
5+阅读 · 2018年10月23日
Arxiv
5+阅读 · 2018年4月22日
VIP会员
相关VIP内容
【2020新书】监督机器学习,156页pdf,剑桥大学出版社
专知会员服务
151+阅读 · 2020年6月27日
【硬核书】可扩展机器学习:并行分布式方法
专知会员服务
85+阅读 · 2020年5月23日
【新书】Pro 机器学习算法Python实现,379页pdf
专知会员服务
199+阅读 · 2020年2月11日
深度学习算法与架构回顾
专知会员服务
81+阅读 · 2019年10月20日
生成式对抗网络GAN异常检测
专知会员服务
116+阅读 · 2019年10月13日
相关资讯
时序异常检测算法概览
论智
29+阅读 · 2018年8月30日
决策树
Datartisan数据工匠
4+阅读 · 2018年4月19日
无监督学习才不是“不要你管”
MOOC
4+阅读 · 2018年4月13日
【干货】监督学习与无监督学习简介
专知
14+阅读 · 2018年4月4日
机器学习不能做什么?
引力空间站
5+阅读 · 2018年3月28日
机器学习自动文本分类
AI前线
23+阅读 · 2018年2月4日
为什么『无监督集成学习』乏人问津?
AI研习社
10+阅读 · 2017年10月24日
【推荐】伪标签学习导论 - 一种半监督学习方法
机器学习研究会
12+阅读 · 2017年10月5日
Top
微信扫码咨询专知VIP会员