史上最全異常檢測算法概述

幻燈片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       |- 多分類問題須要精確的多分類標籤直接將一個肯定的標籤賦給測試數據有時候會不恰當(解決:利用機率)

 

 

 

幻燈片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      |-提升效率---剪枝(線性)/抽樣(omn))

 

 

 

幻燈片16

l ②利用相對密度(一條數據落於一個高密度的環境中--〉正常,不然異常)

l     a.   LOF( Local Outlier Factor)

l (以一條數據爲中心,尋找能包含k個近鄰的最小超平面,求其密度 (K/V) ,如果正常則與其臨近點的密度類似,異常則比其最近臨近點還會低)    

 

 

幻燈片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  1oN2)(k-d treesR-trees   

l  2、解決oN2)  採用簡單取樣的話,正確率難以保證

l 優缺點

l     |-無監督,不需假設數據屬於何種分佈,數據驅動/適應不一樣的類型數據類型方便,只需定義合適的即是數據間距離的方法便可

l      |-由於無監督,正常的數據沒有足夠的鄰居或者異常點有不少的鄰居/計算複雜度/定義數據之間的距離有時會很困難,例如圖,序列

 

幻燈片19

5    基於聚類的異常檢測技術

l 5.1  基本概念 

l      分爲三類:

l 1Assumption: 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 缺點:若是異常數據本身成簇,將難以發現異常

 

幻燈片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 能夠是oN2)如果計算每一對數據的距離

l 也能夠是線性:啓發式的算法例如K-means

l 測試階段會很快--只需跟有限幾個簇比較便可

l 優缺點:

l    |-無監督/可適應一些複雜的數據類型/測試階段速度較快

l     |-主要用於聚類,並非主要用來異常檢測/有些算法,每一個數據要貼一個標籤,異常數據也會貼一個標籤/有些聚類算法只有異常數據不能成簇是效率纔會較好/計算的複雜度 oN2

 

幻燈片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:將多變量投影到單變量

 

 

 

幻燈片25

③基於混合參數分佈

|-分爲兩類:1、爲異常和正常的數據做不一樣的參數分佈模型

                          2、只爲正常的數據做混合參數模型

1、假設正常和異常數據分數不一樣的高斯分佈,具備相同的指望,可是方差不相同。

 利用EM算法來不斷迭代調整

2eg.  高斯混合模型、混合的泊松分佈

幻燈片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

 

幻燈片28

l 6.3    複雜度和優缺點

 

l 計算複雜度

l 高斯、泊松、多項式分佈一般是線性的

l EM 每次迭代是線性的

l 核函數  oN2

l 優缺點

l    |-如果對數據分佈的假設成立,會有統計上的異常檢測方案/如果估計分佈階段對異常足夠魯棒,能夠用無監督的方式

l    |-對數據分佈的假設難以確保成立/直方圖難以發現屬性間的關係

 

幻燈片29

7    信息理論異常檢測技術

l Assumption: Anomalies in data induce irregularities in the information content of the data set.

l 主要評價方法:Kolomogorov Complexityentropyrelative 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主成分分析   降維

 

 

幻燈片31

l 8.2   複雜度和優缺點

 

l 計算複雜度

l pca 在數據上通常是線性的可是在維度上是oN2

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   3longest 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      1Window Comparison Anomaly Detection (WCAD)

l      2、 (HOT SAX)

l      3Maximum Entropy Markov Models

l      4、 Conditional Random Fields (CRF) 

l         

 

幻燈片39

l ③ 測試一個字串的頻繁性是否異常---依據其在輸入數據中頻繁程度

l 依據:依據一個字串在給定的數據集合中的頻繁程度是否與其在正常的數據集中的頻繁程度類似,如果差距很大則認爲是異常

 

l 算法:

l suffix  trees

l  Interpolated  Markov Models (IMM)

 

 

幻燈片40

l b.    處理空間異常

l 研究較少

l eg. 

l 算法:Multivariate Gaussian Random Markov Fields (MGMRF)

l 由於空間中的點是上下文相關的,先檢查點的上下文異常,而後利用其空間結構聯繫起來

 

幻燈片41

11    瑣碎點

l 一、最近鄰和聚類高維失效

l ①高維數據集中存在大量無關的屬性使得在全部維中存在簇的可能性幾乎爲零;

l ②高維空間中數據較低維空間中數據分佈要稀疏,其中數據間距離幾乎相等是廣泛現象

l 2、最近鄰和聚類選擇合適的距離計算方法很重要

l 3、譜技術能夠處理高維數據,可是其依據:數據在合適的低維空間可分

l 4、分類技術能夠處理上述問題,可是分類問題須要正常和異常的標籤,而且正常和異常標籤的數據數量並不均衡

l 5、統計技術(無監督)當數據是低維的而且假設的數據分佈知足時高效

 

幻燈片42

 

l 六、計算複雜性

l  分類、聚類、統計 在訓練階段較慢,測試階段很快

l 最近鄰、信息論、譜技術 沒有訓練階段,測試階段時間複雜度較高

 

幻燈片43

 

謝謝!

相關文章
相關標籤/搜索