幻灯片1算法
Anomaly Detection: A Surveywindows
幻灯片2网络
一、异常的一些概念及异常检测的挑战app
二、异常检测问题的不一样方面dom
三、基于分类的异常检测算法函数
四、基于最近邻的异常检测技术学习
五、基于聚类的异常检测技术测试
六、统计异常检测技术优化
七、信息理论异常检测技术ui
八、谱异常检测技术
九、上下文异常处理
十、处理集合异常
十一、琐碎点
幻灯片3
1.1 What are anomalies?
幻灯片4
l 1.2 异常和噪声、奇异点 的区别
l 一、噪声的处理分为两种:
l noise removal---》在数据分析以前把噪声删除
l ‚noise accommodation---》将噪声忽略
l 二、novelty detection ---》一般状况下,奇异点在被检测以后会被归为正常
幻灯片5
1.3 Challenges
l 正常和异常的界限并非十分的精确
l 异常点表现得正常难以确认
l 正常的表现不断变化
l 在不一样的应用场景中,异常的定义是不一样的
l 标签数据难以得到
l 噪声,难以确认和删除
幻灯片6
1.4 异常检测的一些相关点
幻灯片7
2 异常检测问题的不一样方面
l 2.1 输入数据的特性
l ① 输入的数据包括:对象,点,记录,向量,事件等
l ② 属性的特色决定用异常检测的方法
l ③ 输入的数据能够彼此之间有关系
l eg. 序列数据、空间数据、图数据)
l 序列---》时间序列
l 空间---》与其相邻点有关系
l 图---》输入数据表示成点,经过边相连
幻灯片8
l 2.2 异常的类型
l ①点异常(相对于正常点)
l ②上下文异常
l ③集合异常
幻灯片9
2.3 数据的标签
①有监督的异常检测
问题:一、带正常和异常标签的数据的数量不均衡
二、得到精确的、有表明性的标签很困难,特别是对于异常数据来讲
②半监督的异常检测
只训练正常或异常的数据
③无监督的异常检测
隐形的假设:正常的数据相比异常的数据来讲更加的频繁。如果假设不成立错误率较高
有些半监督的算法能够应用于无监督检测基于假设数据中具备极少的异常数据,而且算法对于异常是鲁棒的
幻灯片10
2.4 异常检测的输出:
①得分---异常程度
②标签---正常/异常
幻灯片11
3 基于分类的异常检测算法
l 3.1 基本概念
l ①Assumption: A classifier that can distinguish between normal and anomalous classes can be learnt in the given feature space
l ②基于标签的种类能够将分类问题分为两类
l a. 多分类问题(多个正常分类的标签)
l b. 单分类问题
l (只有一种分类标签,学习一个边界)
l |- one-class SVMs
l |- one-class Kernel Fisher Discriminants
幻灯片12
l 3.2 算法
l ①基于神经网络(适用于单分类和多分类的数据集)
l |-多层感知器(Multi Layered Perceptrons)
l |-神经树(Neural Trees)
l |-自适应网络(Auto-associative Networks )
l |-基于自适应共振理论(Adaptive Resonance Theory Based)
l |-基于径向基函数(Radial Basis Function Based )
l |-Hopfield Networks
l |-振荡网络(Oscillatory Networks )
l 多分类的神经网络步骤:
l 1、利用正常的多个分类的数据训练模型
l 2、把测试数据输入模型,如果神经网络接收就是正常,不然是异常
l 复制因子神经网络(Replicator Neural Networks)用于单分类的异常检测
幻灯片13
②基于贝叶斯网络(适用于多分类的数据集)
|-给定测试数据,估计其最大后验几率
|-处理多分类时须要将每一个属性的后验几率进行组合
③基于支持向量 (适用于单分类)
|-学习一个区域,如果测试数据落到这个区域则是正常,不然异常
|-Eg: Robust Support Vector Machines (RSVM) 鲁棒的SVM 有较好的精确率和效率
④基于规则(适用于单分类和多分类的数据集)
|-从正常的行为中学习规则,测试数据如果没有被任何规则包括则认为是异常
步骤:1、利用规则学习算法学习规则,例如重复增量修枝( RIPPER )、决策树( Decision Trees )
2、发现最适合测试数据的规则
关联规则挖掘能够用于单分类问题(以无监督的方式),支持度—〉排除支持度较小的规则,同时会产生频繁相集
幻灯片14
l 3.3 复杂度和优缺点
l 复杂度
l 训练阶段: 决策树会较快,基于二次最优化的算法(eg. SVM)会较慢
l 测试阶段: 分类技术在测试阶段会较快---分类的模型已经训练好
l 优缺点:
l |- 能够处理多分类问题/ 在测试阶段速度较快
l |- 多分类问题须要精确的多分类标签/ 直接将一个肯定的标签赋给测试数据有时候会不恰当(解决:利用几率)
l
幻灯片15
4 基于最近邻的异常检测技术
l 4.1 基本概念
l Assumption: Normal data instances occur in dense neighborhoods, while anomalies occur far from their closest neighbors.
l 分为两类:
l 异常得分:一条数据到它k个近邻的距离
l 一条数据的相对密度
l 4.2 算法
l ①基于到K个近邻的距离
l |-得到一条数据的异常得分(计算到K个近邻的总的距离,利用距离小于d的近邻的数量)
l |-提升效率---剪枝(线性)/抽样(o(mn))
l
幻灯片16
l ②利用相对密度(一条数据落于一个高密度的环境中--〉正常,不然异常)
l a. LOF( Local Outlier Factor)
l (以一条数据为中心,寻找能包含k个近邻的最小超平面,求其密度 (K/V) ,如果正常则与其临近点的密度类似,异常则比其最近临近点还会低)
l
幻灯片17
l b. COF(Connectivity based Outlier Factor )
l (依次找一点最近的k个点键入点集)
l LOF的两个变形:
l ODIN:给定点集在在其K近邻点集中的数量
l MDEF:给定数据的最近邻的标准差
l 一些其余的变形:几率后缀树(Probabilistic Suffix Trees (PST))寻找最近邻
幻灯片18
l 4.3 复杂度和优缺点
l 计算复杂度
l 1、o(N2)(k-d trees,R-trees )
l 2、解决o(N2) 采用简单取样的话,正确率难以保证
l 优缺点
l |-无监督,不需假设数据属于何种分布,数据驱动/适应不一样的类型数据类型方便,只需定义合适的即是数据间距离的方法便可
l |-由于无监督,正常的数据没有足够的邻居或者异常点有不少的邻居/计算复杂度/定义数据之间的距离有时会很困难,例如图,序列
幻灯片19
5 基于聚类的异常检测技术
l 5.1 基本概念
l 分为三类:
l 1、Assumption: Normal data instances belong to a cluster in the data, while anomalies either do not belong to any cluster.
l eg.
l DBSCAN
l ROCK(一种粗暴的算法,直观的把两个类别内数据有连接的,而且链接的多的聚在一类里边。抛弃了距离度量,只用是否有连接来衡量。)
l SNN clustering 共享最近邻聚类
l FindOut algorithm
l WaveCluster algorithm
l 结合基于密度方法和ROCK思想,保留K最近邻简化类似矩阵和个数
l 缺点:目的并非为了检测异常而是为了发现群集(clusters)
幻灯片20
l 二、Assumption: Normal data instances lie close to their closest cluster centroid,while anomalies are far away from their closest cluster centroid.
l 两步:利用聚类算法聚类/每一个点的异常程度等于到最近类中心点的距离
l eg.
l Self-Organizing Maps (SOM)(可用于半监督模型)
l K-means Clustering
l Expectation Maximization(EM)
l 缺点:若是异常数据本身成簇,将难以发现异常
l
幻灯片21
l 三、Assumption: Normal data instances belong to large and dense clusters, while anomalies either belong to small or sparse clusters.
l 簇的大小或者密度小于必定阈值就认为是异常
l eg.
l FindCBLOF--CBLOF
l 基于聚类和最近邻的区别:
l |-聚类:利用数据所属的簇来评价数据
l |-最近邻:用其局部的近邻来分析数据
幻灯片22
l 5.2 复杂度和优缺点
l 计算的复杂度:
l 取决于要从所给数据中聚出多少个类
l 能够是o(N2)如果计算每一对数据的距离
l 也能够是线性:启发式的算法例如K-means
l 测试阶段会很快--只需跟有限几个簇比较便可
l 优缺点:
l |-无监督/可适应一些复杂的数据类型/测试阶段速度较快
l |-主要用于聚类,并非主要用来异常检测/有些算法,每一个数据要贴一个标签,异常数据也会贴一个标签/有些聚类算法只有异常数据不能成簇是效率才会较好/计算的复杂度 o(N2)
幻灯片23
6 统计异常检测技术
l 6.1 基本概念
l Assumption: Normal data instances occur in high probability regions of a stochastic model, while anomalies occur in the low probability regions of the stochastic model.
l 6.2 算法
l a. 参数化方法
l 基于假设:正常的数据都是由一个参数为 Θ的分布产生的,几率函数 f(x,Θ)
l 统计假设检验:
l H0:假设数据由估计的分布产生(参数为Θ) 如果拒绝这个假设为异常
l ①基于高斯模型 数据由高斯分布产生
l (一个简单的异常检测--〉数据落在 µ ± 3σ以外的就是异常, µ ± 3σ 99.7%)
l t分布
l x2 若卡方分布的值较大说明数据中含有异常
幻灯片24
l 基于高斯分布的变形的算法 :Rosner test、 Dixon test、Slippage Detection test
l ②基于回归模型
l 基本回归分为两步:1、利用数据训练回归模型
l 2、利用残差,表示数据的异常程度
l eg.
l ARIMA:一个强健的模型,在训练阶段异常不只能隐藏,还能被检测出 处理多变量的时间序列数据
l ARMA:将多变量投影到单变量
l
幻灯片25
③基于混合参数分布
|-分为两类:1、为异常和正常的数据做不一样的参数分布模型
2、只为正常的数据做混合参数模型
1、假设正常和异常数据分数不一样的高斯分布,具备相同的指望,可是方差不相同。
利用EM算法来不断迭代调整
2、eg. 高斯混合模型、混合的泊松分布
幻灯片26
l b. 非参数方法
l ①基于直方图
l 利用直方图对正常数据画像
l 单变量基本的算法:在该属性的不一样值上创建直方/如果落进任一直方认为是正常
l 难点:直方的大小难以把握:过小--〉数据难以包括
l 太大--〉包括异常数据
l 对于多变量的:分别处理单个变量而后再集合起来
幻灯片27
l ②基于核函数
l parzen windows estimation
l ③基于密度估计技术
l Desforges et al. [1998] proposed a semi-supervised statistical technique to detect anomalies which uses kernel
l functions to estimate the probability distribution function (pdf) for the normal instances
l
幻灯片28
l 6.3 复杂度和优缺点
l 计算复杂度
l 高斯、泊松、多项式分布一般是线性的
l EM 每次迭代是线性的
l 核函数 o(N2)
l 优缺点
l |-如果对数据分布的假设成立,会有统计上的异常检测方案/如果估计分布阶段对异常足够鲁棒,能够用无监督的方式
l |-对数据分布的假设难以确保成立/直方图难以发现属性间的关系
幻灯片29
7 信息理论异常检测技术
l Assumption: Anomalies in data induce irregularities in the information content of the data set.
l 主要评价方法:Kolomogorov Complexity,entropy,relative entropy
l 算法:Local Search Algorithm (LSA)(线性)
l 计算复杂度: 指数级
l 优缺点:
l |- 无监督/不需对数据的分布作假设
l |-效果的好坏取决于评价方法/对一条测试数据难以获得异常的程度
幻灯片30
8 谱异常检测技术
l 8.1 基本概念
l Assumption: Data can be embedded into a lower dimensional subspace in which normal instances and anomalies appear significantly different.
l 目标:寻找子空间---将异常和正常信息识别
l Eg. PCA主成分分析 降维
l
幻灯片31
l 8.2 复杂度和优缺点
l 计算复杂度
l pca 在数据上通常是线性的可是在维度上是o(N2)
l 优缺点
l |-可降维,适用于高维的数据类型/无监督的方式
l |-只有异常和正常数据在投影到低维空间能有效区分时谱分析才是有效的/计算的复杂度很高
幻灯片32
9 上下文异常处理
l 9.1 基本概念
l 上下文的属性
l 空间:点的位置和相邻点
l 图:点及边
l 序列:在序列的位置(eg. 时间序列)
l 画像: 不必定具备空间和序列的结构
l 方法:
l |-简化为点异常检测
l |-利用数据的结构
幻灯片33
l 9.2 算法
l a. 简化为点异常检测
l 分为两步: 1、对于每条数据利用上下文属性识别上下文
l 2、利用已知的点异常检测算法计算每条数据的异常得分
l Eg.
l 假设数据的属性分为contextual and behavioral attributes.
l 而且contextual and behavioral attributes. 分属于不一样的混合高斯模型U/V
l 则一条数据能够用<x,y>来表示
l p(Vj|Ui) 表明 behavioral attributes 由混合模型Vj 产生 的几率,在contextual attributes. 由 混合模型Ui 产生的条件下
l 则属于的异常得分:(全几率)
l 其余方法: Peer group analysis ; class anomaly detection
幻灯片34
l b. 利用数据的结构 (将数据的属性分解并不简单,eg 时间序列数据,事件序列数据)
l 方法:利用训练数据给出的上下文预测,如果与观察值有明显不一样,则认为是异常 eg. 回归
l 对于时间序列数据回归模型: robust regression、 auto-regressive models、 ARMA models、 ARIMA models、 Support Vector Regression
l 事件序列: Frequent Itemset Mining 、 Markov Models(利用历史数据计算事件的条件几率)
l FSA:基于前n个数据预测以后的数据
幻灯片35
l 9.3 复杂度和优缺点
l 计算复杂度
l 简化为点异常检测:在第一个阶段利用划分的技术会较快/用聚类或混合模型会较慢,第二个阶段课采用较快的点异常检测
l 测试阶段较慢:每条测试用例须要划分属性,病计算异常程度/标签
l 利用数据的结构:训练模型阶段会相对较慢。测试阶段较快
l 优缺点
l |-能够利用实际异常的定义来检测异常
l |-只有上下文相关的属性定义以后,相关技术才会有效
幻灯片36
10 处理集合异常
l 10.1 基本概念
l Sequential Anomaly Detection Techniques 序列异常检测
l ---异常的子序列
l Spatial Anomaly Detection Techniques 空间异常检测
l ---异常的子区域
l Graph Anomaly Detection Techniques 图异常检测
l ----异常的子图
幻灯片37
l 10.2 算法
l a. 处理序列异常
l ①在一组序列中检查异常序列 (半监督和无监督的方式)
l |- 挑战:1、序列可能不等长 2、测试序列可能不是彼此对齐的或者与正常序列
l 处理不等长的方法:
l 1、假定都等长
l 2、处理成等长的 ,Box Modeling
l 3、longest common subsequence as the similarity measure
l 4、为序列创建模型 ---半监督的算法,须要正常的训练数据
l ----马尔科夫模型(Markovian model)
l ----有限状态自动机(FSA)
l ----隐马尔可夫模型( Hidden Markov Model HMM)
l ----几率后缀树( Probabilistic Suffix Trees PST )
l ----稀疏的马尔可夫树( Sparse Markov Trees SMT)
幻灯片38
l ②检测一个长序列中的异常子序列
l 挑战:异常序列的长度难以肯定
l 由于在输入序列中包含异常的子序列,创建鲁棒的 正常模型是个挑战
l 算法:
l 1、Window Comparison Anomaly Detection (WCAD)
l 2、 (HOT SAX)
l 3、Maximum Entropy Markov Models
l 4、 Conditional Random Fields (CRF)
l
l
幻灯片39
l ③ 测试一个字串的频繁性是否异常---依据其在输入数据中频繁程度
l 依据:依据一个字串在给定的数据集合中的频繁程度是否与其在正常的数据集中的频繁程度类似,如果差距很大则认为是异常
l 算法:
l suffix trees
l Interpolated Markov Models (IMM)
l
幻灯片40
l b. 处理空间异常
l 研究较少
l eg.
l 算法:Multivariate Gaussian Random Markov Fields (MGMRF)
l 由于空间中的点是上下文相关的,先检查点的上下文异常,而后利用其空间结构联系起来
l
幻灯片41
11 琐碎点
l 一、最近邻和聚类高维失效
l ①高维数据集中存在大量无关的属性使得在全部维中存在簇的可能性几乎为零;
l ②高维空间中数据较低维空间中数据分布要稀疏,其中数据间距离几乎相等是广泛现象
l 2、最近邻和聚类选择合适的距离计算方法很重要
l 3、谱技术能够处理高维数据,可是其依据:数据在合适的低维空间可分
l 4、分类技术能够处理上述问题,可是分类问题须要正常和异常的标签,而且正常和异常标签的数据数量并不均衡
l 5、统计技术(无监督)当数据是低维的而且假设的数据分布知足时高效
幻灯片42
l 六、计算复杂性
l 分类、聚类、统计 在训练阶段较慢,测试阶段很快
l 最近邻、信息论、谱技术 没有训练阶段,测试阶段时间复杂度较高
幻灯片43
l
谢谢!