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

简介:

小蚂蚁说:


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的相关分享。想第一时间阅读论文全文的同学,请复制网址【http://lamda.nju.edu.cn/zhangyl/zhangyl_files/www18anomaly.pdf】即可打开查看哦!

d96ef9a59c7d5657dcfc34a2b378980f30c30173

引言

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


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


问题说明

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

6a045f6a12e8e39af9ea32dc54e3be61a5ba8f59

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

a7e5b5961363ae5c6859b755c785b0d3f8e9f698

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

8bbd3bd57f70608db62568024ae3d0956b453e43

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


问题分析

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


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


方法介绍

4c2fa651175264612ca385277b5e786f7ed892df


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


阶段一:

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


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

f175dad3347591b0100b6bc08d6906676e78d2c8

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


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

0010c1f836461e7bc5aa7f592752ba8e87ae4d62

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

d1bd2722edfdf9cadc42f36488f69b30e3ba1351

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


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


阶段二:

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

69379ff35185ac521f709f2a6dd220323d45db49

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

69625cf63d16ef1788aedeeb4fd3b8edbe7e9d77

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

169eb3d1632c0a23a2aa966903e54f5e90eef05e

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


实验结果

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


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


2a8c899ee2fcb4554ce935aa2ddc9816ee162b53


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


aeb07da6ee608662070ccb98e9f3fb16a0f0e487


业务应用

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


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


a16521af6ad03830f510099c9d32cefb873a51c2


总结

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


— END —



目录
相关文章
|
3月前
|
机器学习/深度学习 编解码 数据可视化
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
|
4月前
|
运维 算法 数据挖掘
【数据挖掘】离群点检测方法详解及Sklearn中异常检测方法实战(附源码 超详细)
【数据挖掘】离群点检测方法详解及Sklearn中异常检测方法实战(附源码 超详细)
76 0
【数据挖掘】离群点检测方法详解及Sklearn中异常检测方法实战(附源码 超详细)
|
5月前
|
机器学习/深度学习 自然语言处理 算法
【网安AIGC专题11.1】11 Coreset-C 主动学习:特征选择+11种采样方法+CodeBERT、GraphCodeBERT+多分类(问题分类)二元分类(克隆检测)非分类任务(代码总结)
【网安AIGC专题11.1】11 Coreset-C 主动学习:特征选择+11种采样方法+CodeBERT、GraphCodeBERT+多分类(问题分类)二元分类(克隆检测)非分类任务(代码总结)
92 0
|
6月前
|
机器学习/深度学习 自然语言处理
【文本分类】《基于提示学习的小样本文本分类方法》
使用P-turning提示学习,进行小样本文本分类。本文值得学习。
|
10月前
|
机器学习/深度学习 算法
为什么机器学习能够预测未知数据集?
本文将解释违背了我们使用机器学习的初衷的NFL定理,它意味着单纯只能预测已有数据集的机器学习,就学了个寂寞?它是怎么在不被破解的前提下,使得问题摆脱它的影响的。
109 0
为什么机器学习能够预测未知数据集?
|
11月前
|
机器学习/深度学习 算法
【机器学习】分类模型评价指标(混淆矩阵、ROC)(已修改,放心看)
【机器学习】分类模型评价指标(混淆矩阵、ROC)(已修改,放心看)
146 0
|
机器学习/深度学习 存储 自然语言处理
机器学习算法(一): 基于逻辑回归的分类预测
机器学习算法(一): 基于逻辑回归的分类预测
23998 1
机器学习算法(一): 基于逻辑回归的分类预测
|
机器学习/深度学习 数据可视化 测试技术
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(一)
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
133 0
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(一)
|
机器学习/深度学习 编解码 数据可视化
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(二)
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割
444 0
【论文精选】TPAMI2020 - PFENet_先验引导的特征富集网络_小样本语义分割(二)
【KDD20】多变量时间序列异常检测算法之USAD:对抗性训练AE
# 前言 ![](https://ata2-img.oss-cn-zhangjiakou.aliyuncs.com/neweditor/931dfc0b-23ac-4f8e-9d5c-8d6986c90147.png) KDD20的paper - 链接:https://dl.acm.org/doi/pdf/10.1145/3394486.3403392 - 代码链接:https://githu
351 1
【KDD20】多变量时间序列异常检测算法之USAD:对抗性训练AE