WWW 2018论文分享| 基于部分可见异常样本的异常检测问题

2018 年 4 月 24 日 蚂蚁程序猿 蚂蚁金服科技

小蚂蚁说:


The Web Conference 2018,即前WWW大会(International Conference of World Wide Web)于4月23-28日期间在法国里昂举行。蚂蚁金服的小伙伴也正位于法国前线参加本次活动。在此次大会上,蚂蚁金服也有相关论文入选。本文即蚂蚁金服人工智能团队被录用于WWW BIG Web track(录取率17%)的论文——Anomaly Detection with Partially Observed Anomalies的相关分享。想第一时间阅读论文全文的同学,请点击文末的阅读原文即可访问哦!


引言

异常检测是一类应用极为广泛的技术,在大量的应用实践中有着切实的需求。例如,仅就电商交易的场景而言,就存在诸如异常交易挖掘、异常用户发现等诸多问题中需要用到异常检测的相关技术。在传统的研究中,主要存在两种典型的问题情景:其一是基于完全无监督数据的异常检测;其二则是基于有监督数据的异常检测。除此之外,也存在其他的一些问题情景,例如在仅有正常样本数据情况下的异常检测问题。区别于以上种种,本文关注的是这样一种异常检测问题:在只有极少量的已知异常样本和大量的无标记数据的情况下,来进行的异常检测问题。这一场景在诸如URL异常检测,异常交易挖掘等问题中均可遇到,因而对于这一问题的研究处理有着切实的应用需求。


在本文,将对我们录用于WWW BIG Web track的论文Anomaly Detection with Partially Observed Anomalies(作者:张雅淋,李龙飞,周俊,李小龙,周志华)进行简要说明。


问题说明

在我们的问题场景中,我们能够获得极少数的已知异常样本以及大量的无标记样本。形式化地,给定包含m个样本的数据集

其中前I个样本构成的集合

是已知的异常样本集合(本文用y=1来表示异常样本,y=-1表示正常样本),而剩余的m-I个样本构成的集合

为无标记样本集合。通常情况下,I远小于m,即观察到的已知异常的数目是极少的。我们期望基于现有的数据学习得到模型,在未来的数据上具有着比较好的异常检测的效果。


问题分析

我们面对的问题场景与传统的基于无监督学习和监督学习的场景有着明显的差别,若简单的形式化为无监督学习而丢弃已有的部分标记信息则会带来信息的极大损失,且效果不理想;若将无标记的数据完全当作正常样本来采用监督学习的模型来处理,则会因为引入的大量噪音导致效果欠佳;若将已知异常看作是正样本,则我们面对的是基于少量正样本和大量无标记样本构建的学习模型,表面上看,这与PU(Positive and Unlabeled)Learning有一定的相似性,然而PU Learning中的正样本大多有着较高的相似性,而异常检测中的异常样本往往千差万别,这使得PU Learning的应用大大受限。


本文针对于这一问题提出一种“两阶段”的方法。在只有极少数目的异常样本情况下构建模型是困难的,因而本文首先试图从大量的无标记样本中挖掘潜在异常样本(potential anomalies)以及可靠正常样本(reliable normal samples);另一方面,由于异常样本之间往往具有较大的多样性,因而本文试图通过聚类将异常样本划分为不同的簇而非简单的当做一个大类来看待。下文将对方法细节进行简述。


方法介绍


如图所示,该方法主要包括两个阶段。在第一阶段,对已知异常样本进行聚类,并从未标记样本中挖掘潜在异常样本以及可靠正常样本;第二阶段,基于以上的样本,构建带权重的多分类模型。


阶段一:

对于已知的异常样本(Observed Anomalies),因其之间可能具有较大的多样性,我们对其聚类,使得聚类后的每一簇之间具有较高的相似性,这里可以采用不同的聚类算法,本文基于广泛使用的k-means聚类算法来实现。


对于无标记的样本(Unlabeled Instances),我们试图从中过滤出潜在异常样本(Potential Anomalies)以及可靠正常样本(Reliable Normals)。对于异常样本而言,一方面,它有着容易被隔离(Isolation)的特点,另一方面,它往往与某些已知的异常样本有着较高的相似性。因而我们分别计算无标记样本的隔离得分(Isolation Score)和其与异常样本簇的相似得分(Similarity Score),综合二者,来得到一个样本的异常程度总体得分。具体地,我们基于著名的异常检测算法Isolation Forest的方法计算样本的隔离得分IS(x):

其中,H(n)为harmonic number,h(x)为样本x在构建的完全随机树中经历的路径的长度,E(h(x))为平均长度。IS(x),意味着x的隔离程度越高,是异常样本的可能性越大。


为计算样本与已知异常的相似性得分SS(x),我们首先计算得到已知异常样本聚类后的各个簇中心,则

综合隔离得分IS(x)和相似性得分SS(x),得到每个样本的总体得分

其中参数用于调节二者的影响程度。我们分别选择的样本作为潜在异常样本(Potential Anomalies)以及可靠正常样本(Reliable Normals),其中作为参数控制过滤的严格程度,筛选出的潜在异常样本归于其最近的异常样本中心所属的类别。


如此,我们除了拥有已知的异常样本(Observed Anomalies),还过滤得到了潜在异常样本(Potential Anomalies)以及可靠正常样本(Reliable Normals)。


阶段二:

在本阶段,我们基于以上的样本构建加权多分类模型来区分不同的异常样本和正常样本。具体地,我们依据标记的置信程度进行权重的设置:令所有已知的异常样本权重为1,对于潜在异常样本,其TS(x)越高,则其作为异常样本的置信度越高,权重越大,即

对于可靠正常样本,其TS(x)越低,则其作为正常样本的置信度越高,权重越大,即

如此,我们训练一个加权的多分类模型来优化一下目标:

对于未来的待预测样本,通过该多分类模型预测其所属类别,若样本被分类到任何异常类,则将其视为异常样本,否则,视为正常样本。


实验结果

我们在大量数据集上进行了实验验证,并综合对比了基于无监督学习的算法、基于监督学习的算法以及基于PU Learning的算法来验证以上算法在我们的场景中的性能。


数据信息如下表所示,值得注意的是,我们的实验数据具有着较大的多样性,而数据中已知的异常样本数据是极少的。



实验结果如下表所示,我们可以看到,无论是无监督还是监督学习的算法,效果都是不理想的。基于PU Learning的算法在某些数据上表现尚可,而在某些数据上的表现则较差。我们的方法在各个数据上均有着比较好的性能表现。



业务应用

我们将这一算法应用到URL攻击检测的真实应用中。对于URL攻击而言,常常存在诸如XXE (XML External Entity Injection), XSS (Cross SiteScript) 以及SQL injection等各种不同的攻击类型,作为异常访问,其相互之间具有一定的差异,若统一对待,则可能带来不理想的效果。除此之外,我们面对的数据是大量的未标记URL以及少量已经检测出来的URL攻击,这与本文所描述的问题场景完全吻合。


为验证不同算法的效果,我们选取了几天的URL访问数据来进行检测,并对打分最高的1000样本进行人为的判定,结果如下表所示,我们可以发现,在真实的业务场景中,这一算法同样体现出了性能上的优势,从而验证了这一算法的可靠性。



总结

本文介绍了我们针对于一种特定异常检测场景的算法,在该场景下,我们只有极少量的已打标异常样本和大量的无标记样本。我们提出的方法充分考虑了异常样本具有多样性的特点,综合兼顾样本本身的隔离性以及其与已知异常样本的相似性来进行样本的筛选,并进一步构建了加权多分类模型来对未知样本进行预测,实验结果表明我们的方法相比其他方法具有显著的性能优势。这一问题设定在很多的业务场景中均有可能遇到,因而具有切实的应用价值。


— END —


登录查看更多
6

相关内容

在数据挖掘中,异常检测(英语:anomaly detection)对不符合预期模式或数据集中其他项目的项目、事件或观测值的识别。通常异常项目会转变成银行欺诈、结构缺陷、医疗问题、文本错误等类型的问题。异常也被称为离群值、新奇、噪声、偏差和例外。 特别是在检测滥用与网络入侵时,有趣性对象往往不是罕见对象,但却是超出预料的突发活动。这种模式不遵循通常统计定义中把异常点看作是罕见对象,于是许多异常检测方法(特别是无监督的方法)将对此类数据失效,除非进行了合适的聚集。相反,聚类分析算法可能可以检测出这些模式形成的微聚类。 有三大类异常检测方法。[1] 在假设数据集中大多数实例都是正常的前提下,无监督异常检测方法能通过寻找与其他数据最不匹配的实例来检测出未标记测试数据的异常。监督式异常检测方法需要一个已经被标记“正常”与“异常”的数据集,并涉及到训练分类器(与许多其他的统计分类问题的关键区别是异常检测的内在不均衡性)。半监督式异常检测方法根据一个给定的正常训练数据集创建一个表示正常行为的模型,然后检测由学习模型生成的测试实例的可能性。
【ICML 2020 】小样本学习即领域迁移
专知会员服务
77+阅读 · 2020年6月26日
基于深度学习的表面缺陷检测方法综述
专知会员服务
92+阅读 · 2020年5月31日
基于小样本学习的图像分类技术综述
专知会员服务
146+阅读 · 2020年5月6日
专知会员服务
85+阅读 · 2020年1月20日
近期必读的8篇 AAAI 2020【图神经网络(GNN)】相关论文
专知会员服务
76+阅读 · 2020年1月15日
零样本图像分类综述 : 十年进展
专知会员服务
122+阅读 · 2019年11月16日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
异常检测论文大列表:方法、应用、综述
专知
125+阅读 · 2019年7月15日
非平衡数据集 focal loss 多类分类
AI研习社
33+阅读 · 2019年4月23日
腾讯:机器学习构建通用的数据异常检测平台
全球人工智能
10+阅读 · 2018年5月1日
该如何对「半监督学习算法」实际性应用进行评估?
炼数成金订阅号
7+阅读 · 2018年4月27日
CVPR2018:基于时空模型无监督迁移学习的行人重识别
全球人工智能
7+阅读 · 2018年3月26日
ICCV2017 论文解读:基于图像检索的行人重识别
极市平台
7+阅读 · 2017年11月15日
Talking-Heads Attention
Arxiv
15+阅读 · 2020年3月5日
Arxiv
13+阅读 · 2018年4月18日
VIP会员
相关VIP内容
【ICML 2020 】小样本学习即领域迁移
专知会员服务
77+阅读 · 2020年6月26日
基于深度学习的表面缺陷检测方法综述
专知会员服务
92+阅读 · 2020年5月31日
基于小样本学习的图像分类技术综述
专知会员服务
146+阅读 · 2020年5月6日
专知会员服务
85+阅读 · 2020年1月20日
近期必读的8篇 AAAI 2020【图神经网络(GNN)】相关论文
专知会员服务
76+阅读 · 2020年1月15日
零样本图像分类综述 : 十年进展
专知会员服务
122+阅读 · 2019年11月16日
生成式对抗网络GAN异常检测
专知会员服务
114+阅读 · 2019年10月13日
相关资讯
异常检测论文大列表:方法、应用、综述
专知
125+阅读 · 2019年7月15日
非平衡数据集 focal loss 多类分类
AI研习社
33+阅读 · 2019年4月23日
腾讯:机器学习构建通用的数据异常检测平台
全球人工智能
10+阅读 · 2018年5月1日
该如何对「半监督学习算法」实际性应用进行评估?
炼数成金订阅号
7+阅读 · 2018年4月27日
CVPR2018:基于时空模型无监督迁移学习的行人重识别
全球人工智能
7+阅读 · 2018年3月26日
ICCV2017 论文解读:基于图像检索的行人重识别
极市平台
7+阅读 · 2017年11月15日
Top
微信扫码咨询专知VIP会员