英文題目:Anomaly Detection : A Survey
中文題目:異常檢測(cè)綜述
論文地址:https://readpaper.com/paper/2122646361
領(lǐng)域:異常檢測(cè)
發(fā)表時(shí)間:2009
作者:VARUN CHANDOLA等饭望,明尼蘇達(dá)大學(xué)
出處:ACM Computing Surveys
被引量:11797(谷歌學(xué)術(shù))
閱讀時(shí)間:22.10.30
讀后感
一篇典型的綜述文章项郊,快速了解異常檢測(cè)的定義,用途涛浙,方法……發(fā)表時(shí)間比較早津辩,是機(jī)器學(xué)習(xí)異常檢測(cè)方法的總結(jié)特幔。正文50多頁(yè)一也,比較長(zhǎng)蘑秽。
1. 介紹
文章根據(jù)方法對(duì)異常檢測(cè)分類,對(duì)于每個(gè)類別亚隙,提供一個(gè)基本的異常檢測(cè)技術(shù)磁餐,然后展示該類別中新技術(shù)與基本技術(shù)的差異,此類技術(shù)的優(yōu)缺點(diǎn)及計(jì)算復(fù)雜度阿弃。
異常一般包含:異常(anomalies)诊霹、離群點(diǎn)(outliers)、不一致的觀察結(jié)果(discordant observations)渣淳、特例(exceptions)脾还、畸變(aberrations)、意外(surprises)入愧、特性(peculiarity)或污染(contaminants)鄙漏。其中又以異常和離群點(diǎn)最為常見(jiàn)嗤谚。
異常檢測(cè)的應(yīng)用領(lǐng)域包含:信用卡、醫(yī)療保險(xiǎn)的欺詐檢測(cè)怔蚌,網(wǎng)絡(luò)安全的入侵檢測(cè)巩步,關(guān)鍵系統(tǒng)的故障檢測(cè),監(jiān)視敵人軍事活動(dòng)等桦踊。異常檢測(cè)用于識(shí)別這些問(wèn)題椅野,并做出對(duì)應(yīng)的行動(dòng)。
1.1 何為異常
異常檢測(cè)是指在數(shù)據(jù)中發(fā)現(xiàn)不符合預(yù)期行為的模式籍胯。比如圖-1中的o1,o2,o3不在正常的區(qū)域N1,N2內(nèi)竟闪,它們都是異常點(diǎn):
異常檢測(cè)與去噪 (noise removal) 和噪聲調(diào)和(noise accommodation) 關(guān)注的問(wèn)題相似,但目標(biāo)不同芒炼。去噪是想從數(shù)據(jù)中去掉異常數(shù)據(jù)瘫怜,噪聲調(diào)和是讓模型更健壯,對(duì)異常免疫本刽;而異常檢測(cè)所感興趣的是識(shí)別出異常數(shù)據(jù)鲸湃。另外,與之相似的還有新穎點(diǎn)檢測(cè)(novelty detection)子寓,它的目標(biāo)是檢測(cè)出之前數(shù)據(jù)中未被發(fā)現(xiàn)的模型暗挑。
1.2 挑戰(zhàn)
異常檢測(cè)的目標(biāo)是檢測(cè)不屬于正常區(qū)域的數(shù)據(jù),它面臨如下挑戰(zhàn):
- 正常范圍包含每種正常行為斜友,很難定義炸裆,且正常異常之間的邊界也不好精確劃分。
- 惡意攻擊時(shí)鲜屏,異常行為常常將自己表現(xiàn)得像正常行為烹看。
- 在不斷發(fā)現(xiàn)的領(lǐng)域,當(dāng)前的正常行為洛史,未必能滿足未來(lái)的需要惯殊。
- 由于數(shù)據(jù)分布不同,同一技術(shù)不一定能直接應(yīng)用另一領(lǐng)域的異常檢測(cè)也殖。
- 沒(méi)有足夠的打標(biāo)簽數(shù)據(jù)土思。
- 數(shù)據(jù)中包含噪聲常常與異常值相似,噪聲難以識(shí)別和消除忆嗜。
常用的異常檢測(cè)方法包括:統(tǒng)計(jì)方法己儒,機(jī)器學(xué)習(xí),數(shù)據(jù)挖掘捆毫,信息理論闪湾,光譜理論等且需要將它們應(yīng)用于不同領(lǐng)域,如圖-2所示:
1.3 相關(guān)工作
此處對(duì)比了本文和另外一些綜述性文章和書(shū)籍绩卤,如下表所示响谓,其中序號(hào)1表示本文:
1.4 本文貢獻(xiàn)
之前文章大多討論單個(gè)領(lǐng)域的異常檢測(cè)损合,文章討論了異常檢測(cè)在各個(gè)領(lǐng)域的應(yīng)用省艳。文中主要討論了常用的6種技術(shù)(在第4-9部分詳述)娘纷,針對(duì)每種技術(shù)提出了基本方法,改良方法跋炕,優(yōu)缺點(diǎn)赖晶,計(jì)算復(fù)雜度等;列出了每個(gè)應(yīng)用領(lǐng)域中所應(yīng)用的技術(shù)列表辐烂;另外遏插,還區(qū)分了簡(jiǎn)單異常和復(fù)雜的異常(與上下文相關(guān)或集體異常)。
1.5 文章組織方式
文章組織方式如圖-2所示分成三塊:
第2部分介紹了異常檢測(cè)的輸入輸出分類等各個(gè)方面的豐富和復(fù)雜性纠修;第3部分介紹了不同領(lǐng)域的異常檢測(cè)胳嘲;第4-9部分介紹了具體的幾種建模技術(shù);第10-11介紹了上下文異常和集體異常檢測(cè)扣草;第12-13部分是總結(jié)展望和結(jié)束語(yǔ)了牛。
2. 異常檢測(cè)的各個(gè)方面
2.1 輸入數(shù)據(jù)
一般數(shù)據(jù)可能包括:對(duì)象,記錄辰妙,點(diǎn)鹰祸,向量,模式密浑,事件蛙婴,案例,樣本尔破,觀察結(jié)果街图,實(shí)體等等。每個(gè)實(shí)例可能包含一個(gè)或多個(gè)特征懒构,特征又分:布爾型餐济,類別型及連續(xù)型。
數(shù)據(jù)需要與檢測(cè)方式匹配痴脾,比如假設(shè)檢驗(yàn)對(duì)不同數(shù)據(jù)類型使用不同方法颤介;最近鄰方法需要特征間的距離是可以度量的;數(shù)據(jù)還可以根據(jù)相似度進(jìn)行分類赞赖;數(shù)據(jù)實(shí)例之間還可能存在線性排序關(guān)系滚朵,比如時(shí)間,空間序列前域,基因組序列发乔,蛋白質(zhì)序列等红淡。
2.2 異常的類型
異常一般分為以下三類:
2.2.1 點(diǎn)異常
這是最簡(jiǎn)單的情況,如果一個(gè)點(diǎn)與其它點(diǎn)不同蝗砾,則為點(diǎn)異常,比如圖-1中的o1,o2溢陪。
2.2.2 上下文異常
上下文異常也叫條件異常,實(shí)例一般包含兩組特征:
- 上下文特征:用于描述實(shí)例上下文(鄰居)的情況,比如空間中經(jīng)度緯度鄰近的特征糠悼,時(shí)間序列中之前之后時(shí)間的特征等。
- 行為特征:用于描述與上下文無(wú)關(guān)的主體本身的特征浅乔。
由于上下文的差異倔喂,同樣的行為有時(shí)被認(rèn)定為正常,比如圖-3中的t1點(diǎn)靖苇,而t2點(diǎn)被認(rèn)為異常席噩。
2.2.3 集體異常
數(shù)據(jù)是否異常取決于相關(guān)數(shù)據(jù)實(shí)例的集合,如圖-4中的心電圖數(shù)據(jù):
這里的1000-1500中的多個(gè)實(shí)例組合被識(shí)別成了集體的異常贤壁。集體異常也常常出現(xiàn)在時(shí)間序列悼枢,空間序列,圖片數(shù)據(jù)檢測(cè)中脾拆。
2.3 給數(shù)據(jù)打標(biāo)簽
給訓(xùn)練集中的每個(gè)實(shí)例打標(biāo)簽:是/否為異常數(shù)據(jù)馒索,常需要專家進(jìn)行標(biāo)注,人工標(biāo)注代價(jià)比較高假丧;通常需要獲得各種類型的異常實(shí)例双揪,比獲得正常實(shí)例困難得多;數(shù)據(jù)常常動(dòng)態(tài)變化包帚,新的異常不斷出現(xiàn)渔期;另外很多數(shù)據(jù)非常少,難以獲取渴邦,比如空難數(shù)據(jù)疯趟。
由于上述問(wèn)題異常標(biāo)注分為三種模式:
2.3.1 有監(jiān)督的異常檢測(cè)
有監(jiān)督異常檢測(cè)需要對(duì)全部訓(xùn)練集進(jìn)行標(biāo)注,檢測(cè)方法通常是建立預(yù)測(cè)模型谋梭,這與一般預(yù)測(cè)模型相似信峻,文中不詳細(xì)討論。它有兩個(gè)主要問(wèn)題:第一個(gè)問(wèn)題是異常數(shù)據(jù)相對(duì)正常數(shù)據(jù)一般很少瓮床,這造成了數(shù)據(jù)偏斜盹舞,增加了建模難度;第二個(gè)問(wèn)題是獲取準(zhǔn)確和有代表性的異常標(biāo)簽常常具有挑戰(zhàn)性隘庄,因此踢步,也有人提出了一些技術(shù)向數(shù)據(jù)集中注入人工異常數(shù)據(jù)。
2.3.2 半監(jiān)督的異常檢測(cè)
只標(biāo)注訓(xùn)練數(shù)據(jù)中的正常實(shí)例丑掺,由于不需要異常類別的標(biāo)簽获印,因此它們比監(jiān)督技術(shù)更適用,比如飛行器發(fā)生異常就是重大事故街州,也就是說(shuō)訓(xùn)練數(shù)據(jù)中可能不包含各種類型的異常數(shù)據(jù)兼丰。常用方法是為正常行為建模玻孟,并使用該模型來(lái)識(shí)別測(cè)試數(shù)據(jù)中的異常。
2.3.3 無(wú)監(jiān)督的異常檢測(cè)
不需要訓(xùn)練數(shù)據(jù)鳍征,用途更廣泛黍翎。它背后的假設(shè)是正常實(shí)例比異常實(shí)例多很多,如果不滿足這個(gè)假設(shè)蟆技,則會(huì)產(chǎn)生大量誤報(bào)警玩敏。
2.4 異常檢測(cè)的輸出
典型的輸出一般包含兩種類型:
2.4.1 打分
為測(cè)試集中每個(gè)實(shí)例計(jì)算異常評(píng)分,它取決于該實(shí)例的異常程度质礼。有些模型輸出異常度排序列表;分析人員通過(guò)設(shè)定閾值來(lái)判定是否為異常织阳。
2.4.2 打標(biāo)簽
為每個(gè)測(cè)試集中實(shí)例打標(biāo)簽:是/否異常眶蕉。
3. 異常檢測(cè)的應(yīng)用
(本部分每小節(jié)都包含具體方法相關(guān)的論文列表,數(shù)據(jù)太多唧躲,請(qǐng)見(jiàn)原文)
對(duì)于每種應(yīng)用場(chǎng)景從四方面討論:
- 異常的概念
- 數(shù)據(jù)的性質(zhì)
- 面對(duì)的挑戰(zhàn)
- 檢測(cè)方法
3.1 入侵檢測(cè)
入侵檢測(cè)針對(duì)計(jì)算系統(tǒng)的惡意行為造挽。
面對(duì)的挑戰(zhàn)是數(shù)據(jù)量大,需要高效的異常檢測(cè)弄痹,常常需要處理數(shù)據(jù)流饭入,另外還需要防止大量誤報(bào)警。
數(shù)據(jù)難以標(biāo)注肛真,主要使用半監(jiān)督和無(wú)監(jiān)督方法谐丢。
入侵一般分為主機(jī)入侵和網(wǎng)絡(luò)入侵。
3.1.1 基于主機(jī)的入侵
針對(duì)基于主機(jī)的入侵蚓让,主要使用根據(jù)系統(tǒng)調(diào)用的方法乾忱;入侵包含未經(jīng)授權(quán)的行為和違反規(guī)則,事件共發(fā)是檢測(cè)異常的關(guān)鍵因素历极,另外可以在不同層級(jí)(程序級(jí)窄瘟、用戶級(jí))分析數(shù)據(jù)。一般情況下趟卸,使用序列數(shù)據(jù)建模蹄葱,對(duì)點(diǎn)建模也比較少。
3.2.2 基于網(wǎng)絡(luò)的入侵
常見(jiàn)的異常是點(diǎn)異常锄列,也有集合異常的情況图云,攻擊一般由黑客發(fā)起,通過(guò)獲得未經(jīng)授權(quán)的訪問(wèn)網(wǎng)絡(luò)的權(quán)限右蕊,目的是竊取信息或破壞網(wǎng)絡(luò)琼稻。檢測(cè)系統(tǒng)針對(duì)不同粒度的數(shù)據(jù)檢測(cè)。另外面臨的挑戰(zhàn)還包括黑客不斷變換攻擊行為饶囚,以逃避被識(shí)別帕翻。
3.2 欺詐檢測(cè)
欺詐檢測(cè)是指對(duì)銀行鸠补、信用卡公司、保險(xiǎn)公司嘀掸、手機(jī)公司紫岩、股票市場(chǎng)等商業(yè)組織中的犯罪活動(dòng)進(jìn)行偵查,以避免經(jīng)濟(jì)損失睬塌。下面介紹一些具體應(yīng)用:
3.2.1 信用卡欺詐
檢測(cè)欺詐性信用卡申請(qǐng)或信用卡盜用泉蝌,檢測(cè)信用卡申請(qǐng)類似于檢測(cè)保險(xiǎn)欺詐。
數(shù)據(jù)通常由多個(gè)維度定義的記錄組成揩晴,如用戶ID勋陪、消費(fèi)金額、連續(xù)使用卡片的間隔時(shí)間等硫兰。欺詐通常反映在交易記錄中(點(diǎn)異常)诅愚。
信用公司有完整的數(shù)據(jù),也有標(biāo)記記錄劫映。
基于概要分析和聚類的技術(shù)通常用于該領(lǐng)域违孝。
挑戰(zhàn)是它需要即時(shí)在線檢測(cè),一種方法是使用當(dāng)前數(shù)據(jù)與該用戶的歷史數(shù)據(jù)比較泳赋,該方法需要頻繁訪問(wèn)數(shù)據(jù)庫(kù)雌桑;另一種方法通過(guò)檢測(cè)地理位置,都可歸于檢測(cè)上下文異常的方法祖今。
3.2.2 手機(jī)電話欺詐
手機(jī)欺詐檢測(cè)是典型的活動(dòng)監(jiān)控問(wèn)題校坑。任務(wù)是掃描大量的帳戶,檢查每個(gè)帳戶的呼叫行為衅鹿,并在帳戶似乎被濫用時(shí)發(fā)出警報(bào)撒踪。
可以按時(shí)間聚合,或按用戶或區(qū)域進(jìn)行聚合大渤。這些異持仆現(xiàn)象包含大量的呼叫或呼叫不可達(dá)的目的地。
3.2.3 保險(xiǎn)索賠欺詐
該域中的可用數(shù)據(jù)為索賠人提交的文件泵三,從這些文檔中提取不同的特征耕捞。人工調(diào)查的案例被監(jiān)督和半監(jiān)督技術(shù)作為標(biāo)記實(shí)例用于保險(xiǎn)欺詐檢測(cè)。保險(xiǎn)索賠欺詐檢測(cè)通常是作為一個(gè)通用的活動(dòng)監(jiān)控問(wèn)題處理的烫幕,也使用基于神經(jīng)網(wǎng)絡(luò)的技術(shù)俺抽。
3.2.4 內(nèi)幕交易檢測(cè)
內(nèi)幕交易發(fā)生在股票交易市場(chǎng)中,即信息公開(kāi)前利用內(nèi)部信息非法獲利较曼。常 通過(guò)識(shí)別異常的交易活動(dòng)來(lái)識(shí)別磷斧,數(shù)據(jù)源包含:如期權(quán)交易數(shù)據(jù),股票交易數(shù)據(jù),新聞弛饭。數(shù)據(jù)有連續(xù)關(guān)聯(lián)冕末。挑戰(zhàn)是需要以在線方式盡早發(fā)現(xiàn)欺詐行為。
3.3 醫(yī)學(xué)與公共衛(wèi)生異常檢測(cè)
醫(yī)療和公共衛(wèi)生領(lǐng)域的異常侣颂,包含患者狀況異车堤遥或儀器錯(cuò)誤或記錄錯(cuò)誤,疾病爆發(fā)等憔晒。該領(lǐng)域檢測(cè)對(duì)精度要求很高藻肄。數(shù)據(jù)通常由記錄組成,這些記錄可能包含幾種不同類型的特征拒担。主要針對(duì)異常記錄(點(diǎn)異常)檢測(cè)嘹屯,可用的數(shù)據(jù)常屬于健康患者,因此常用半監(jiān)督學(xué)習(xí)澎蛛;其中還包含一些時(shí)序數(shù)據(jù)如心/腦電圖抚垄,使用集體異常檢測(cè)。
3.4 工業(yè)設(shè)備損傷檢測(cè)
主要指盡早發(fā)現(xiàn)工業(yè)設(shè)備的損壞谋逻。數(shù)據(jù)常常為各種不同傳感器的記錄數(shù)據(jù),又細(xì)分為以下兩個(gè)領(lǐng)域:
3.4.1 機(jī)械設(shè)備故障
檢測(cè)可能是由于磨損或其他不可預(yù)見(jiàn)的情況而發(fā)生的缺陷桐经。數(shù)據(jù)常具有時(shí)間特征毁兆,有時(shí)使用時(shí)序方法或集體異常檢測(cè)。相對(duì)而言阴挣,正常數(shù)據(jù)更容易獲得气堕,因此常用半監(jiān)督方法。挑戰(zhàn)是需要盡快發(fā)現(xiàn)異常以采取措施畔咧。
3.4.2 結(jié)構(gòu)缺陷
缺陷檢測(cè)用于如梁的裂縫茎芭,機(jī)體的應(yīng)變。數(shù)據(jù)也常具有時(shí)間性質(zhì)誓沸,通過(guò)檢測(cè)數(shù)據(jù)變化梅桩,時(shí)間空間相關(guān)性來(lái)計(jì)算。
3.5 圖像處理
處理圖像的異常檢測(cè)技術(shù)包含:對(duì)運(yùn)動(dòng)的檢測(cè)拜隧,圖像上的異常的區(qū)域檢測(cè)宿百,衛(wèi)星圖像,數(shù)字識(shí)別洪添,光譜學(xué)垦页,分析x線影像,和視頻監(jiān)控等干奢。數(shù)據(jù)具有時(shí)空特征痊焊。像素點(diǎn)往往有連續(xù)的顏色,亮度,紋理等薄啥。主要挑戰(zhàn)是輸入的數(shù)據(jù)量大辕羽,有時(shí)需要對(duì)視頻進(jìn)行實(shí)時(shí)處理。
3.6 文本數(shù)據(jù)異常檢測(cè)
針對(duì)文檔或新聞文章中的新主題罪佳、事件或新聞檢測(cè)逛漫。異常是由新的事件或異常主題引起的。該領(lǐng)域的數(shù)據(jù)通常是高維且非常稀疏的赘艳。且有時(shí)效性酌毡,因?yàn)槲臋n是隨著時(shí)間收集的。主要面臨的挑戰(zhàn)是處理數(shù)據(jù)隨時(shí)間大量變化蕾管。
3.7 傳感器網(wǎng)絡(luò)
傳感器網(wǎng)絡(luò)指從各種無(wú)線傳感器收集數(shù)據(jù)枷踏。傳感器檢測(cè)包含故障檢測(cè)和入侵檢測(cè)。數(shù)據(jù)可能包含:二進(jìn)制掰曾、離散旭蠕、連續(xù)、音頻旷坦、視頻等掏熬。由于資源的限制,異常檢測(cè)技術(shù)需要實(shí)現(xiàn)輕量級(jí)化秒梅,也可能分布式處理旗芬,另外,處理噪聲和缺失值也是一個(gè)挑戰(zhàn)捆蜀,需要區(qū)分 噪聲和異常疮丛。
3.8 其它領(lǐng)域
異常檢測(cè)還被用于,語(yǔ)音識(shí)別辆它,機(jī)器人行為中誊薄,流量監(jiān)控,點(diǎn)擊通過(guò)保護(hù)锰茉,檢測(cè)web應(yīng)用程序中的故障呢蔫,檢測(cè)生物數(shù)據(jù)中的異常,檢測(cè)人口普查數(shù)據(jù)中的異常洞辣,檢測(cè)犯罪活動(dòng)之間的關(guān)聯(lián)咐刨,檢測(cè)客戶關(guān)系管理(CRM)數(shù)據(jù)中的異常,檢測(cè)天文數(shù)據(jù)中的異常和檢測(cè)生態(tài)系統(tǒng)干擾等扬霜。
4. 基于分類的異常檢測(cè)
分類方法用于有監(jiān)督學(xué)習(xí)定鸟,需要有標(biāo)注的訓(xùn)練集,一般分為訓(xùn)練模型和代入實(shí)例測(cè)試兩個(gè)階段著瓶。
該方法基于以下假設(shè):
基于給定特征联予,可以訓(xùn)練能夠區(qū)分正常類和異常類的分類器。
分類器進(jìn)一步又可分為單分類(如圖6-b,主要學(xué)習(xí)正常和異常的邊界)和多分類(如圖6-a沸久,多個(gè)正常類別季眷,加一個(gè)異常類別),有的模型可以給出置信度得分卷胯,如果屬于哪一類的置信度都不高子刮,則認(rèn)為是異常類別。
4.1 神經(jīng)網(wǎng)絡(luò)分類器
神經(jīng)網(wǎng)絡(luò)分類器可用于單分類和多分類窑睁。自編碼器(Replicator Neural Networks)是2002年提出的挺峡,它用于實(shí)現(xiàn)單分類,它是多層的前饋網(wǎng)絡(luò)担钮,其輸入和輸出層元素個(gè)數(shù)相同橱赠,訓(xùn)練階段將數(shù)據(jù)通過(guò)隱藏層壓縮再還原,測(cè)試時(shí)代入xi箫津,輸出oi狭姨,如果xi與oi足夠相似,則認(rèn)為正常苏遥,否則為異常:
其中n是特征個(gè)數(shù)饼拍,誤差δi是用于判斷x與o相似度的得分。
4.2 貝葉斯網(wǎng)絡(luò)
貝葉斯網(wǎng)絡(luò)一般用于多分類任務(wù)田炭,其基本方法是針對(duì)單個(gè)變量的樸素貝葉斯 惕耕,后驗(yàn)概率最大的作為類別標(biāo)簽。從訓(xùn)練集中計(jì)算類先驗(yàn)和測(cè)試數(shù)據(jù)屬于各類的可能性诫肠,如果概率為0,則認(rèn)為異常欺缘。該方法可推廣到多元數(shù)據(jù)集栋豫。需要注意的是該方法變量之間是無(wú)關(guān)的,后來(lái)又發(fā)展出一些改進(jìn)方法來(lái)解決變量依賴問(wèn)題谚殊。
4.3 支持向量機(jī)
支持向量機(jī)用于單分類任務(wù)丧鸯,用它學(xué)習(xí)一個(gè)包含正例的區(qū)域,它的核可以學(xué)到對(duì)復(fù)雜區(qū)域的表示嫩絮。如果測(cè)試集實(shí)例落入?yún)^(qū)域則認(rèn)為正常丛肢,否則為異常。其中一種變體是找到包含所有訓(xùn)練數(shù)據(jù)超球剿干,然后判斷測(cè)試數(shù)據(jù)在超球的內(nèi)外蜂怎。
4.4 基于規(guī)則的方法
基于規(guī)則的方法用于尋找正例的行為規(guī)則,如果測(cè)試集不符合任意一條規(guī)則置尔,則認(rèn)為異常杠步。規(guī)則方法可用于單分類和多分類任務(wù)。
在多分類時(shí),先用訓(xùn)練數(shù)據(jù)學(xué)習(xí)規(guī)則幽歼,如使用決策樹(shù)朵锣,RIPPE等方法,每個(gè)規(guī)則都有一個(gè)置信度甸私;測(cè)試數(shù)據(jù)找到最匹配的規(guī)則诚些,并將其置信度的倒數(shù)作為異常得分。
關(guān)聯(lián)規(guī)則是一個(gè)比較重要的方法皇型,常用于單分類方法诬烹,通過(guò)無(wú)監(jiān)督的方式從訓(xùn)練數(shù)據(jù)中挖掘規(guī)則,支持度的閾值用于對(duì)規(guī)則剪枝犀被。He等2004年提出了一種方法椅您,將規(guī)則的頻繁項(xiàng)集個(gè)數(shù)作為測(cè)試集的異常得分。
計(jì)算復(fù)雜度
分類方法的復(fù)雜度視具體方法不同寡键,一般情況下掀泳,決策樹(shù)方法比較快,包含二次優(yōu)化的SVM相對(duì)慢(也有改進(jìn)優(yōu)化方法)西轩。由于分類方法會(huì)訓(xùn)練出模型员舵,在將測(cè)試數(shù)據(jù)代入模型,而非當(dāng)場(chǎng)計(jì)算藕畔,所以預(yù)測(cè)較快马僻。
優(yōu)點(diǎn)
- 多分類器可以區(qū)分實(shí)例所屬類別。
- 預(yù)測(cè)速度快注服。
缺點(diǎn)
- 往往沒(méi)那么多標(biāo)注數(shù)據(jù)用于訓(xùn)練
- 一般情況下結(jié)果為標(biāo)簽的值韭邓,不過(guò)也有一些算法輸出概率。
5. 基于最近鄰的異常檢測(cè)
該方法基于如下假設(shè):
正常數(shù)據(jù)出現(xiàn)在密集的區(qū)域中溶弟,異常數(shù)據(jù)與正常數(shù)據(jù)間隔比較遠(yuǎn)女淑。
最近鄰是基于距離的算法,如何衡量距離也比較重要辜御。對(duì)于連續(xù)型數(shù)據(jù)鸭你,一般使用歐式距離,對(duì)于分類變量常使用匹配系數(shù)或更加復(fù)雜的方法擒权。對(duì)于多維變量袱巨,會(huì)結(jié)合各個(gè)維度的結(jié)果。最近鄰方法一般分為以下兩類:
5.1 基于距離的 KNN
實(shí)例的異常得分取決于距其最近K個(gè)實(shí)例的距離(或相似度)K根據(jù)情況設(shè)置碳抄,有時(shí)設(shè)置為1愉老。然后使用一個(gè)閾值定義正常與否;也可以選擇異常得分最高的前幾個(gè)作為異常纳鼎;還可以選擇不同的方法計(jì)算距離以實(shí)現(xiàn)優(yōu)化俺夕;另外裳凸,提升計(jì)算效率也是一個(gè)優(yōu)化的方向。
最基本的方法是對(duì)與實(shí)例最近的K個(gè)鄰居的距離加和劝贸,后來(lái)還發(fā)展出姨谷,計(jì)算與實(shí)例距離在d以內(nèi)的鄰居個(gè)數(shù)n,它相當(dāng)于在實(shí)例附近做了一個(gè)半徑為d的超球體映九,其密度可視 為n/πd^2梦湘,其密度的倒數(shù)可視為異常得分,即:它周圍鄰居越少件甥,越可能異常捌议。
一般數(shù)據(jù)都是連續(xù)型,之后也有一些針對(duì)于其它類型變量的優(yōu)化引有,比如對(duì)類別變量使用超圖方法計(jì)算瓣颅;以及結(jié)合連續(xù)型和分類型的距離計(jì)算方法;對(duì)于分類屬性譬正,兩個(gè)實(shí)例具有相同值的屬性的數(shù)量定義了它們之間的距離宫补,對(duì)于連續(xù)屬性,維護(hù)協(xié)方差矩陣以捕獲連續(xù)值之間的依賴關(guān)系曾我。
提升效率的方法粉怕,有些方法通過(guò)忽略肯定異常或肯定非異常的數(shù)據(jù)消減搜索空間抒巢;基于分區(qū)和聚類的減枝方法贫贝;以及通過(guò)下采樣提升效率。為了消減搜索空間蛉谜,有些算法將搜索空間切分成固定大小的立方體組成的超網(wǎng)格稚晚,如果一個(gè)立方體中實(shí)例較多,則認(rèn)為正常型诚,否則為異瞅诒耍……
5.2 基于密度的方法
基于密度的方法主要計(jì)算實(shí)例鄰居的密度,密度高則認(rèn)為正常俺驶,否則為異常。一個(gè)實(shí)例的k個(gè)最近鄰可構(gòu)成一個(gè)超球體棍辕,球心為該實(shí)例暮现,球里包含k個(gè)近鄰。到第距離第k個(gè)實(shí)例的距離的倒數(shù)可被視為密度楚昭,即k個(gè)近鄰離它越近栖袋,密度越大。
基于密度的基本方法也有些問(wèn)題抚太,比如圖-7中塘幅,由于C1中密度低昔案,因此其中很多點(diǎn)間的距離都大于p2到C2間的距離,如果以C1的密度為標(biāo)準(zhǔn)电媳,則p2被視為正常踏揣,如果以C2為標(biāo)準(zhǔn),位于C1中的實(shí)例認(rèn)為異常匾乓。
為解決數(shù)據(jù)集中密度不同的問(wèn)題捞稿,使密度只與近鄰相關(guān),出現(xiàn)很多改進(jìn)方法拼缝,其中使用最多的是LOF(Local Outlier Factor)及其變種娱局。LOF的核心是找到局部密度,LOF分?jǐn)?shù)等于實(shí)例的k個(gè)最近鄰居的平均局部密度與數(shù)據(jù)實(shí)例本身的局部密度之比咧七。之后還有一些方法衰齐,對(duì)本地密度(COF),其它變量類型(PST)继阻,及效率進(jìn)行改進(jìn)耻涛。
計(jì)算復(fù)雜度
最近鄰的基本方法需要為每個(gè)節(jié)點(diǎn)找近鄰,O(N^2)的復(fù)雜度穴翩,上述方法很多著重提升效率犬第,但各有不同的適用范圍。如使用超網(wǎng)絡(luò)在特征數(shù)量大時(shí)不適用芒帕;抽樣技術(shù)在樣本較少時(shí)不適用等歉嗓。
優(yōu)點(diǎn)
- 這是一種無(wú)監(jiān)督方法,不對(duì)分布進(jìn)行假設(shè)背蟆,完全是數(shù)據(jù)驅(qū)動(dòng)的
- 半監(jiān)督學(xué)習(xí)相對(duì)于無(wú)監(jiān)督學(xué)習(xí)在遺漏檢測(cè)中效果更好鉴分。
- 可用于不同類型特征的檢測(cè),但需要定義好距離計(jì)算方法带膀。
缺點(diǎn)
- 算法基于距離志珍,如果正常實(shí)例沒(méi)有太多鄰域,或者異常數(shù)據(jù)有很多鄰居則會(huì)無(wú)效垛叨。
- 如果測(cè)試集中的正常數(shù)據(jù)在訓(xùn)練集中沒(méi)怎么見(jiàn)過(guò)伦糯,則假陽(yáng)率很高。
- 在數(shù)據(jù)量大的情況下嗽元,計(jì)算效率是一個(gè)嚴(yán)重問(wèn)題敛纲。
- 如何定義距離函數(shù)是一個(gè)挑戰(zhàn),尤其對(duì)于圖片剂癌,序列等數(shù)據(jù)淤翔。
6. 基于聚類的異常檢測(cè)
聚類是將類似的數(shù)據(jù)分成不同的簇。聚類是一種針對(duì)無(wú)監(jiān)督數(shù)據(jù)的研究方法佩谷,基于聚類的方法一般分為三種
- 第一種方法基于以下假設(shè):
正常數(shù)據(jù)屬于聚類中的某一個(gè)簇旁壮,異常數(shù)據(jù)不屬于任何簇
這種方法包含:DBSCAN监嗜,ROCK,SNN抡谐,F(xiàn)indOut等裁奇,這種方法 的問(wèn)題是它沒(méi)有對(duì)異常數(shù)據(jù)進(jìn)行調(diào)優(yōu)。 - 第二種方法基于以下假設(shè):
正常數(shù)據(jù)離簇心近童叠,異常數(shù)據(jù)離簇心遠(yuǎn)
該方法分兩步框喳,第一步對(duì)訓(xùn)練數(shù)據(jù)聚類,第二步根據(jù)每個(gè)實(shí)例距離質(zhì)心的遠(yuǎn)近計(jì)算異常得分厦坛,從而在訓(xùn)練集中定位一些異常數(shù)據(jù)五垮。這種方法包括:SOM,KMeans杜秸,EM等放仗,其中SOM應(yīng)用比較廣。該方法也可以用于半監(jiān)督數(shù)據(jù)撬碟,用標(biāo)簽改進(jìn)聚類(判斷同一類別中的標(biāo)簽的一致程度)诞挨。如果異常數(shù)據(jù)單獨(dú)成簇,則上述方法不可用呢蛤,于是提出第三種方法. - 第三種方法基于以下假設(shè):
正常數(shù)據(jù)屬于大而密集的入簇惶傻,異常數(shù)據(jù)屬于小而稀疏的簇
該方法包括:FindCBLOF,CBLOF獲取實(shí)例所屬的集群的大小其障,以及數(shù)據(jù)實(shí)例到其集群中心的距離作為得分银室。還有一些改進(jìn)聚類效率的方法。
6.1 聚類和K近鄰的區(qū)別
由于聚類大多也是基于計(jì)算距離的励翼,所以K近鄰的一些距離計(jì)算方法也可以在聚類中使用蜈敢。不同的是聚類基于所在的簇進(jìn)行分析,最近鄰基于實(shí)例的鄰居分析汽抚。
計(jì)算復(fù)雜度
訓(xùn)練的復(fù)雜度取決于聚類算法抓狭。如果聚類需要計(jì)算所有數(shù)據(jù)實(shí)例的成對(duì)距離,具有二次復(fù)雜度造烁;如果使用基于啟發(fā)式的技術(shù)否过,如k-means或近似聚類技術(shù),則具有線性復(fù)雜度惭蟋。測(cè)試階段速度快叠纹,它只涉及測(cè)試實(shí)例與少量集群進(jìn)行比較。
優(yōu)點(diǎn)
- 可以在無(wú)監(jiān)督數(shù)據(jù)中使用
- 普通的聚類方法也可以處理復(fù)雜數(shù)據(jù)
- 測(cè)試實(shí)例預(yù)測(cè)快敞葛。
缺點(diǎn)
- 高度依賴聚類算法捕捉正常數(shù)據(jù)的有效性
- 算法必須滿足相應(yīng)的假設(shè)(上述三種假設(shè))
- 計(jì)算復(fù)雜度高
7. 基于統(tǒng)計(jì)的異常檢測(cè)
基于統(tǒng)計(jì)的方法基于以下假設(shè):
正常數(shù)據(jù)出現(xiàn)在隨機(jī)模型的高概率區(qū)域,而異常發(fā)生在低概率區(qū)域与涡。
模型基于統(tǒng)計(jì)方法惹谐,判斷之前沒(méi)見(jiàn)過(guò)的數(shù)據(jù)是否屬于該模型產(chǎn)生的數(shù)據(jù)持偏,包含參數(shù)方法和非參數(shù)方法。
7.1 參數(shù)方法
參數(shù)方法基于的假設(shè)是數(shù)據(jù)符合基于參數(shù)Θ的分布氨肌,f (x, Θ)是概率密度函數(shù)鸿秆,x是訓(xùn)練集中的觀測(cè)值,Θ是通過(guò)x學(xué)到的怎囚,測(cè)試集中的異常分?jǐn)?shù)是f的倒數(shù)卿叽。另外,也可以用假設(shè)檢驗(yàn)的方法判斷x是否為異常恳守】加ぃ基于分布的類型,參數(shù)方法又可細(xì)分如下:
7.1.1 基于高斯分布
假設(shè)數(shù)據(jù)服從高斯分布催烘,參數(shù)通過(guò)最大似然估計(jì)計(jì)算沥阱,將x與估計(jì)均值的距離作為異常得分,然后用閾值判斷是否異常伊群。不同的技術(shù)使用不同的閾值和距離計(jì)算方法考杉。常使用標(biāo)準(zhǔn)差的3倍作為閾值,如果服從高斯分布舰始,μ ± 3σ 能包含 99.7%實(shí)例崇棠。另外,也常用箱圖分位數(shù)的方法檢測(cè)異常值(IQR)丸卷。常用分位數(shù)的1.5倍作為閾值枕稀,Q1 ? 1.5IQR and Q3 + 1.5IQR 一般包含 99.3%的實(shí)例,QR=Q3-Q1及老。
格拉布斯檢驗(yàn)(Grubbs Test)抽莱,也叫最大歸一化殘差檢驗(yàn),常用于檢測(cè)單變量的異常值骄恶,對(duì)于測(cè)試集中的x計(jì)算其z得分:
其中上劃線x是均值食铐,s是標(biāo)準(zhǔn)差,當(dāng)z大于以下值時(shí)僧鲁,則認(rèn)為異常虐呻。
其中N是數(shù)據(jù)量,t是閾值寞秃。之后有人把它推廣到多變量檢測(cè)中斟叼。
學(xué)生T-檢驗(yàn)也是常用于高斯分布的檢測(cè)方法(使用前需要先確定數(shù)據(jù)服從高斯分布),它用于判斷訓(xùn)練集和測(cè)試集是否屬于同一分布春寿。擴(kuò)展到多變量的t檢驗(yàn)是t^2-test朗涩。
X2統(tǒng)計(jì)用于檢測(cè)系統(tǒng)調(diào)用異常,訓(xùn)練階段假設(shè)正態(tài)數(shù)據(jù)具有多元正態(tài)分布绑改,X2定義如下:
其中Xi是觀測(cè)值谢床,E是期望值兄一,n是變量個(gè)數(shù),當(dāng)X^2很大時(shí)识腿,則認(rèn)為包含異常數(shù)據(jù)出革。
7.1.2 基于回歸模型
在時(shí)間序列的異常檢測(cè)中常使用回歸方法。一般分為兩步渡讼,第一步用訓(xùn)練數(shù)據(jù)訓(xùn)練模型參數(shù)骂束,第二步計(jì)算測(cè)試集數(shù)據(jù)與模型的殘差,通過(guò)差異大小判斷是否異常成箫。
在回歸過(guò)程中颖榜,異常數(shù)據(jù)可能影響回歸參數(shù)妖泄,因此提出了穩(wěn)健回歸(Robust regression)矢炼,通過(guò)判斷殘差的大小赫蛇,它不僅可以忽略異常,還能定位異常凳厢,ARIMA方法與之類似账胧。基于回歸的改進(jìn)主要包括:對(duì)多元時(shí)間序列的檢測(cè)先紫。
7.1.3 基于參數(shù)分布的混合
基于參數(shù)分布的混合使用參數(shù)統(tǒng)計(jì)分布來(lái)對(duì)數(shù)據(jù)建模治泥。又分為兩類:
第一類是分別對(duì)正常實(shí)例和異常實(shí)例建模,在測(cè)試階段分別判斷實(shí)例是屬于正常模型還是異常模型遮精,比如假設(shè)正常集和異常集都服從高斯分布居夹,且均值一致,但異常集的標(biāo)準(zhǔn)差更大本冲;還有一些迭代計(jì)算的方法准脂。
第二種方法把正常數(shù)據(jù)視為多種高斯分布的混合,如果測(cè)試數(shù)據(jù)不屬于其中任何的高斯分布檬洞,則認(rèn)為它是異常數(shù)據(jù)狸膏。
7.2 非參數(shù)方法
模型結(jié)構(gòu)不是由先驗(yàn)定義的,而是由給定數(shù)據(jù)確定的添怔。這種技術(shù)通常對(duì)數(shù)據(jù)做較少的假設(shè)湾戳。
7.2.1 基于直方圖
使用直方圖描述正常數(shù)據(jù),這種方法也被稱為基于計(jì)數(shù)或頻率的技術(shù)广料。它能很好地統(tǒng)計(jì)識(shí)別入侵和詐騙行為砾脑。最簡(jiǎn)單的單變量檢測(cè)方法分成兩步,首先艾杏,使用訓(xùn)練集統(tǒng)計(jì)直方圖韧衣,然后檢測(cè)測(cè)試集中數(shù)據(jù)是否落入其中,以判別其是否為異常;也利用將其落入柱的高度來(lái)計(jì)算異常分值的畅铭;箱的個(gè)數(shù)是一個(gè)重要超參數(shù)萧求。之后有一些改進(jìn),對(duì)異常值也用直方圖描述顶瞒。
在多變量的情況下,可以對(duì)每個(gè)屬性計(jì)算直方圖元旬,及異常分值榴徐,然后聚合各個(gè)分值。
7.2.2 基于核函數(shù)
概率密度估計(jì)的一種非參數(shù)技術(shù)匀归,它使用核函數(shù)來(lái)近似實(shí)際密度坑资,類似于前面描述的參數(shù)化方法,區(qū)別是使用的密度估計(jì)技術(shù)穆端。另外袱贮,還可用半監(jiān)督統(tǒng)計(jì)技術(shù)來(lái)檢測(cè)異常,該技術(shù)使用核函數(shù)來(lái)估計(jì)正常實(shí)例的概率分布函數(shù)体啰,位于低概率區(qū)域的一個(gè)實(shí)例被視為異常攒巍。
計(jì)算復(fù)雜度
基于統(tǒng)計(jì)技術(shù)的復(fù)雜視具體方法不同,擬合單參數(shù)分布荒勇,計(jì)算高斯柒莉、泊松、多項(xiàng)式等沽翔,常在數(shù)據(jù)大小和屬性數(shù)量上是線性的兢孝。使用期望最大化(EM)等迭代方法,每次迭代通常也是線性的仅偎,收斂可能較慢跨蟹。基于內(nèi)核的技術(shù)具有與數(shù)據(jù)大小相關(guān)的二次型時(shí)間復(fù)雜度橘沥。
優(yōu)點(diǎn)
- 當(dāng)數(shù)據(jù)滿足分布的假設(shè)時(shí)窗轩,統(tǒng)計(jì)技術(shù)是很好的方案。
- 異常評(píng)分與置信區(qū)間相關(guān)威恼,在進(jìn)行決策時(shí)品姓,可以將其作為附加信息。
- 如果方法對(duì)數(shù)據(jù)中的異常是穩(wěn)襟锎搿(容錯(cuò))的腹备,則可使用無(wú)監(jiān)督數(shù)據(jù)訓(xùn)練模型。
缺點(diǎn)
- 使用上述方法前需要先驗(yàn)證數(shù)據(jù)是否滿足對(duì)應(yīng)假設(shè)斤蔓,而現(xiàn)實(shí)中的數(shù)據(jù)大多是不滿足的高維數(shù)據(jù)植酥。
- 為復(fù)雜分布構(gòu)造假設(shè)檢驗(yàn),選擇檢驗(yàn)方法難度大。
- 基于直方圖的方法難以處理多維數(shù)據(jù)友驮,數(shù)據(jù)可能在單個(gè)維度上是高頻的漂羊,但組合后低頻異常。
8. 基于信息理論異常檢測(cè)
信息理論技術(shù)利用復(fù)雜度卸留、熵走越、相對(duì)熵等來(lái)分析數(shù)據(jù)集的信息內(nèi)容。
該方法基于以下假設(shè):
異常數(shù)據(jù)會(huì)導(dǎo)致數(shù)據(jù)集的信息內(nèi)容不正常耻瑟。
設(shè)D是數(shù)據(jù)集旨指,C(D)是它的復(fù)雜度,求取最小的子集I喳整,使得C(D)-C(D-I)取得最大值谆构,也就是說(shuō)去掉混亂的數(shù)據(jù)I,它可能沒(méi)有單一的最優(yōu)解框都。主要的技術(shù)在于如何選用不同的C來(lái)衡量復(fù)雜性搬素。
上述方法一方面需要考慮子集的大小,一方面需要考慮復(fù)雜性魏保,它需要對(duì)每種子集運(yùn)行指數(shù)時(shí)間熬尺,后續(xù)提出了一些技術(shù)對(duì)最反常子集進(jìn)行搜索。如局部搜索算法(LSA)囱淋,以及使用信息瓶頸度量技術(shù)猪杭。
該技術(shù)常被用于序列,空間妥衣,圖數(shù)據(jù)的異常檢測(cè)皂吮,數(shù)據(jù)被切分成小塊,此技術(shù)用于檢測(cè)各個(gè)小塊是否異常税手。
計(jì)算復(fù)雜度
基本的信息論方法是指數(shù)時(shí)間復(fù)雜度蜂筹,有的優(yōu)化方法可以提供具有線性時(shí)間復(fù)雜度的近似技術(shù)。
優(yōu)點(diǎn)
- 可以處理無(wú)監(jiān)督數(shù)據(jù)芦倒。
- 不需要滿足條件假設(shè)艺挪。
缺點(diǎn)
- 高度依賴于計(jì)算復(fù)雜方法的選擇。通常兵扬,只有當(dāng)數(shù)據(jù)中存在大量異常時(shí)麻裳,這種方法才能檢測(cè)到異常的存在。
- 對(duì)序列或空間操作時(shí)器钟,需要切分?jǐn)?shù)據(jù)津坑,而切分的大小很難確定。
- 難以給異常值打分傲霸。
9. 基于頻譜的異常檢測(cè)
基于頻譜的異常檢測(cè)利用特征組合捕捉數(shù)據(jù)的規(guī)律疆瑰。
它基于以下假設(shè):
數(shù)據(jù)降維后眉反,正常和異常的實(shí)體表現(xiàn)出更明顯的不同
將數(shù)據(jù)通過(guò)嵌入或者投影方法轉(zhuǎn)換后,異常數(shù)據(jù)更容易被識(shí)別穆役,該技術(shù)可用于半監(jiān)督或無(wú)監(jiān)督學(xué)習(xí)寸五。
其中主成份分析PCA是一種典型方法,轉(zhuǎn)換后滿足規(guī)律的正常實(shí)例的投影值較低耿币,而偏離規(guī)律的異常實(shí)例的投影值較大梳杏,從而實(shí)現(xiàn)異常檢測(cè)。
在時(shí)序圖的異常檢測(cè)中淹接,提出通過(guò)鄰接矩陣的矩陣分解(CMD)得到與原始圖近似的矩陣秘狞,并重建時(shí)間序列,然后在序列中檢測(cè)異常蹈集。
另外還有穩(wěn)健PCA(robust PCA),主成份通過(guò)正常數(shù)據(jù)的協(xié)方差矩陣得到雇初;在預(yù)測(cè)階段拢肆,根據(jù)轉(zhuǎn)換后點(diǎn)到主分量的距離來(lái)判斷是否為異常值。對(duì)比映射后的y值與特征值的比λ值:
它類似于統(tǒng)計(jì)方法中計(jì)算實(shí)例與樣本均值的馬氏距離靖诗。
計(jì)算復(fù)雜度
基于PCA的技術(shù)對(duì)數(shù)據(jù)量是線性的郭怪,但對(duì)于維度是二次數(shù)。奇異值分解的技術(shù)通常對(duì)數(shù)據(jù)量為二次的刊橘。
優(yōu)點(diǎn)
- 一種降維方法鄙才,因此適用于處理高維數(shù)據(jù),另外促绵,它可以作為數(shù)據(jù)預(yù)處理攒庵,然后再使用其它異常檢測(cè)技術(shù)。
- 可用于無(wú)監(jiān)督數(shù)據(jù)败晴。
缺點(diǎn)
- 只在正常異常數(shù)據(jù)在低維可分的情況下使用
- 計(jì)算復(fù)雜度高
10. 處理上下文異常
之前討論的都是基于單點(diǎn)的異常檢測(cè)浓冒,本節(jié)討論基于上下文的異常檢測(cè)。它首先需要定義上下文尖坤,特征一般也分為上下文特征和行為特征兩部分稳懒。上下文可以定義為:
- 空間:一般定義實(shí)例位置,然后以從空間領(lǐng)域中提取特征慢味。
- 圖:這里指的是圖結(jié)構(gòu)场梆,結(jié)點(diǎn)由邊相連,可從鄰居(有邊相連的節(jié)點(diǎn))提取特征纯路。
- 序列:數(shù)據(jù)是順序的或油,并已知實(shí)例在序列中的位置,其中時(shí)序數(shù)據(jù)得到廣泛研究感昼,另外装哆,帶時(shí)間戳的事件是一種連續(xù)時(shí)間不均勻的事件。
- 概況:通常情況下,數(shù)據(jù)可能沒(méi)有顯式的空間或順序結(jié)構(gòu)蜕琴,但仍然可以使用一組上下文屬性將數(shù)據(jù)分割或聚集到組中萍桌。然后分析用戶在其組內(nèi)的異常情況。
處理方法分為以下兩類:
10.1 簡(jiǎn)化成點(diǎn)異常檢測(cè)問(wèn)題
上下文異常是指實(shí)例點(diǎn)在上下文的條件下異常凌简,其根本也是對(duì)點(diǎn)的判斷上炎,也可將上下文視作為特征。檢測(cè)一般分兩步:第一步把上下文轉(zhuǎn)換成特征雏搂,第二步使用點(diǎn)異常檢測(cè)方法藕施。
假設(shè)特征文可拆分成上下文特征U 和 行為特征V(點(diǎn)本身的特征),因此學(xué)習(xí)在U條件下V:p(Vj|Ui)凸郑,異常得分計(jì)算如下:
具體使用時(shí)裳食,比如欺詐檢測(cè),將用戶和時(shí)間作為上下文特征芙沥,其它特征作為行為特征诲祸,利用規(guī)則比較,以檢測(cè)異常而昨。另外救氯,可先用標(biāo)簽分割數(shù)據(jù),然后再用聚類檢測(cè)異常歌憨。
對(duì)于空間數(shù)據(jù)着憨,使用位置坐標(biāo)可以直接檢測(cè)出領(lǐng)域,然后使用統(tǒng)計(jì)方法檢測(cè)領(lǐng)域內(nèi)的異常(局部異常)务嫡。
對(duì)于時(shí)間序列甲抖,將觀測(cè)值與領(lǐng)域值的中位數(shù)相比較;還可將時(shí)間序列轉(zhuǎn)換到特征空間中心铃,然后使用單點(diǎn)的異常檢測(cè)方法惧眠。
10.2 利用數(shù)據(jù)中的結(jié)構(gòu)
有些情況下,無(wú)法簡(jiǎn)單劃分上下文和行為于个,比如對(duì)于時(shí)間序列和事件序列氛魁,常使用序列模型的擴(kuò)展來(lái)識(shí)別異常。
一般先用訓(xùn)練數(shù)據(jù)建模以預(yù)測(cè)上下文中的行為厅篓,如果行為和預(yù)期明顯不符秀存,則認(rèn)為異常,回歸是一種常用方法羽氮。
對(duì)于時(shí)序數(shù)據(jù)或链,很多基于回歸的技術(shù)如:robust regression, auto-regressive, ARMA, ARIMR, Support Vector Regression等。
一種檢測(cè)字母序列中單個(gè)異常的技術(shù)档押。將序列分為兩部分澳盐,分別計(jì)算其柯?tīng)柲炅_夫復(fù)雜度祈纯。復(fù)雜程度高的包含異常。序列被遞歸地分割叼耙,直到它們只剩下一個(gè)事件腕窥,該事件被聲明為序列中的異常。
還有一種方法筛婉,用前前N個(gè)時(shí)點(diǎn)預(yù)測(cè)下一個(gè)時(shí)點(diǎn)的行為簇爆,如果預(yù)測(cè)不正確則視為異常。這種方法被擴(kuò)展到:頻繁項(xiàng)集挖掘爽撒,有限狀態(tài)自動(dòng)機(jī)入蛆,馬爾可夫鏈蒙特卡羅,它們用歷史數(shù)據(jù)預(yù)測(cè)后續(xù)事件發(fā)生的概率硕勿。
P2P網(wǎng)絡(luò)中的二部圖結(jié)構(gòu)被用來(lái)首先識(shí)別圖中任何節(jié)點(diǎn)的鄰域哨毁,然后檢測(cè)該節(jié)點(diǎn)在鄰域內(nèi)的相關(guān)性。相關(guān)性評(píng)分低的節(jié)點(diǎn)被視為異常節(jié)點(diǎn)源武。作者還提出了一種近似技術(shù)挑庶,首將圖劃分為不重疊的子圖,然后在其分區(qū)內(nèi)計(jì)算節(jié)點(diǎn)的鄰域。
計(jì)算復(fù)雜度
對(duì)于簡(jiǎn)化成點(diǎn)異常的方法软能,其訓(xùn)練階段復(fù)雜度取決于具體檢測(cè)技術(shù),切分技術(shù)相對(duì)較快举畸,聚類或混合模型估計(jì)的技術(shù)相對(duì)較慢查排。測(cè)試階段計(jì)算相對(duì)昂貴。
對(duì)于利用數(shù)據(jù)結(jié)構(gòu)的方法抄沮,訓(xùn)練階段相對(duì)較慢跋核,但測(cè)試階段較快。
優(yōu)點(diǎn)
認(rèn)為數(shù)據(jù)實(shí)例在一個(gè)上下文中往往是相似的(自然定義)叛买。這種技術(shù)能夠檢測(cè)到從全局角度檢測(cè)異常(點(diǎn)異常檢測(cè)技術(shù)不行)砂代。
缺點(diǎn)
只適用于可以定義上下文的情況。
11. 處理集體異常
但一組實(shí)例同時(shí)發(fā)生則為異常率挣,而其中的單獨(dú)發(fā)生時(shí)可能是正常的刻伊,它相對(duì)于前兩種更復(fù)雜是因?yàn)樗枰剿鲾?shù)據(jù)結(jié)構(gòu)中的異常區(qū)域。主要是識(shí)別實(shí)例間的關(guān)系椒功,關(guān)系又包含:
- 序列異常檢測(cè)技術(shù):典型的數(shù)據(jù)集包括事件序列數(shù)據(jù)捶箱,或數(shù)值型時(shí)間序列數(shù)據(jù)。
- 空間異常檢測(cè)技術(shù):處理空間數(shù)據(jù)动漾,識(shí)別數(shù)據(jù)中的連接子區(qū)域是否異常(如圖片)丁屎。
- 圖異常檢測(cè)技術(shù):處理圖數(shù)據(jù),識(shí)別數(shù)據(jù)中的連接子圖是否異常旱眯。
11.1 序列異常檢測(cè)
序列的異常檢測(cè)與時(shí)間和位置相關(guān)晨川,又可分成兩類证九,一類是序列由信號(hào)組成,另一類是連續(xù)的共虑,如時(shí)間序列愧怜。另外,序列可以是單變量看蚜,也可以是多變量的叫搁。
11.1.1 在序列集中檢測(cè)異常序列
這種方法常用于無(wú)監(jiān)督數(shù)據(jù)或半監(jiān)督數(shù)據(jù)。其挑戰(zhàn)是序列不定長(zhǎng)供炎,測(cè)試數(shù)據(jù)無(wú)法與訓(xùn)練數(shù)據(jù)對(duì)齊渴逻,比如事件隊(duì)列中第一個(gè)事件,剛好是另一隊(duì)列的第三個(gè)事件音诫。解決方案有以下兩種:
- 把序列數(shù)據(jù)轉(zhuǎn)換成點(diǎn)數(shù)據(jù)后再處理
對(duì)于定長(zhǎng)序列惨奕,將長(zhǎng)度為10的序列轉(zhuǎn)換成10個(gè)屬性向量,然后使用點(diǎn)異常檢測(cè)技術(shù)來(lái)檢測(cè)異常(如神經(jīng)網(wǎng)絡(luò)或聚類)竭钝。
對(duì)于不定長(zhǎng)序列梨撞,則把不定長(zhǎng)的數(shù)據(jù)轉(zhuǎn)換成定長(zhǎng)的記錄,比如用分箱的方式香罐,把序列元素放入箱卧波,把每個(gè)箱作為一個(gè)特征,然后代入模型(計(jì)算歐式距離及RIPPER方法)庇茫。
還有方法直接計(jì)算不等長(zhǎng)串之間的距港粱。例如:計(jì)算最長(zhǎng)公共子序列的長(zhǎng)度作為似度量,然后后再使用聚類等異常檢測(cè)技術(shù)旦签。 - 給序列建模
上面方法主要用于對(duì)齊的序列查坪,但對(duì)于事件序列,生物序列宁炫,不能使用偿曙。序列建模主要用于半監(jiān)督學(xué)習(xí),因此羔巢,需要訓(xùn)練數(shù)據(jù)望忆。序列建模的主旨是根據(jù)序列建立規(guī)則,比如基于時(shí)間的歸納學(xué)習(xí)竿秆,測(cè)試集數(shù)據(jù)與所有規(guī)則對(duì)比炭臭,當(dāng)無(wú)法匹配任意規(guī)則時(shí)視為異常。其中有限狀態(tài)自動(dòng)機(jī)(FSA)和馬爾可夫序列模型最為流行袍辞。進(jìn)而發(fā)展出隱馬爾可夫模型鞋仍,概率后綴樹(shù)(PST)PST是變階馬爾可夫鏈的緊表示,稀疏馬爾可夫樹(shù)(SMT)搅吁。再將HMM序列集進(jìn)行聚類威创,并將不屬于任何聚類的任何序列檢測(cè)為異常落午。
11.1.2 檢測(cè)長(zhǎng)序列中的異常子序列
將序列中與其余部分不一致的部分識(shí)別為異常子序列。它檢測(cè)長(zhǎng)序列中的區(qū)域異常肚豺,常用于無(wú)監(jiān)督學(xué)習(xí)溃斋,它背后的假設(shè)是正常部分有可識(shí)別的模式,而異常數(shù)據(jù)不適合這一模式吸申,主要面臨的挑戰(zhàn)是:不能確定異常串的長(zhǎng)度梗劫;當(dāng)輸入數(shù)據(jù)包含異常時(shí),難以對(duì)正常模式建模截碴。
有一種方法使用香農(nóng)的經(jīng)典信息定理梳侨,先切分長(zhǎng)序列,然后對(duì)各段編碼日丹,其中編碼需要最高比特?cái)?shù)的段被視為異常走哺。
相似的方法還有:利用窗口比較的算法,使用滑動(dòng)窗口從給定的連續(xù)觀察序列中提取子序列哲虾。使用基于壓縮的不相似度量將每個(gè)子序列與整個(gè)序列進(jìn)行比較丙躏。每個(gè)子序列的異常值是它與整個(gè)序列的不相似度。
還有方法束凑,使用滑動(dòng)窗口從給定序列中提取子序列晒旅,然后計(jì)算每個(gè)子序列到原始序列中最接近的非重疊子序列的距離。子序列的異常值與它與最近鄰居的距離成正比汪诉。
還有最大熵馬爾可夫模型废恋,即條件隨機(jī)場(chǎng),預(yù)測(cè)最可能的狀態(tài)序列摩瞎。觀測(cè)序列中的任何異常段對(duì)于任何狀態(tài)序列都具有較低的條件概率。
11.1.3 期望頻率異常
判斷某一模式出現(xiàn)的頻率是否異常孝常,它檢測(cè)的是在測(cè)試集中出現(xiàn)的頻率是否與訓(xùn)練集中出現(xiàn)的頻率一致旗们。比如:使用滑動(dòng)窗口從給定的字母字符串中提取子字符串,他們確定子字符串相對(duì)于正常數(shù)據(jù)集中是否異常构灸,使用后綴樹(shù)(或HMM)來(lái)估計(jì)它與正常數(shù)據(jù)中字符串的預(yù)期頻率的差異上渴。
11.2 空間異常檢測(cè)
目標(biāo)是檢測(cè)子圖或子組件的異常。比如檢測(cè)圖片中的某一部分與其余部分的差異(上下文異常)喜颁,使用多元高斯隨機(jī)馬爾可夫場(chǎng)來(lái)分割圖片稠氮,與之前方法不同的是它使用了空間結(jié)構(gòu)。
具體方法如:自底向上的子圖枚舉技術(shù)半开,分析給定圖中子圖的頻率隔披,以確定它是否異常(子圖的大小也要考慮在內(nèi),因?yàn)榇蟮淖訄D必然很少出現(xiàn)在圖中)寂拆;也有些方法測(cè)量子圖的規(guī)律性或熵奢米,與上下文相比抓韩,以確定其異常值。
12. 異常檢測(cè)技術(shù)的相對(duì)優(yōu)缺點(diǎn)
對(duì)于不同問(wèn)題鬓长,需要使用不同的異常檢測(cè)技術(shù)
圖-10(a)中所示正常數(shù)據(jù)呈高斯分布谒拴,異常數(shù)據(jù)稀疏且遠(yuǎn)離正常分布,且是有監(jiān)督數(shù)據(jù)涉波。第4-9節(jié)的方法都可以使用英上。
圖-10(b)中數(shù)據(jù)由多個(gè)高斯分布組成,且方差很低啤覆,由于它們均勻地分布在一個(gè)圓上苍日,如果使用單類建模,可能識(shí)別圓外是異常區(qū)域城侧,從而無(wú)法識(shí)別圓中的異常易遣,使用聚類方法識(shí)別不同的類,基于多類分類的技術(shù)可能能夠了解每個(gè)聚類周圍的邊界嫌佑,或者利用最近鄰方法豆茫,都可能檢測(cè)到中心的異常。
如圖-10(c)的情況屋摇,聚類或最近鄰也難以識(shí)別揩魂。
聚類和最近鄰,難以識(shí)別高維異常炮温;頻譜技術(shù)通過(guò)將數(shù)據(jù)映射到低維投影火脉,可解決高維問(wèn)題,前提是數(shù)據(jù)降維后仍有區(qū)別柒啤。
最好的情況是正負(fù)例都有標(biāo)簽倦挂,但很難實(shí)現(xiàn),即使有標(biāo)簽担巩,又難以對(duì)不均衡數(shù)據(jù)建模方援。對(duì)于只有正例標(biāo)簽的半監(jiān)督數(shù)據(jù)或無(wú)監(jiān)督數(shù)據(jù),聚類可能更為有效涛癌。
統(tǒng)計(jì)技術(shù)只在數(shù)據(jù)的維數(shù)較低和統(tǒng)計(jì)假設(shè)成立的情況下才有效犯戏。
信息理論技術(shù)需要一種足夠靈敏的測(cè)量方法,否則只能在異常數(shù)量顯著足夠多的情況下才能檢測(cè)到異常拳话。
聚類和最近鄰是基于距離的算法先匪,因此需要找到適合的距離度量方法。
時(shí)間復(fù)雜度也是個(gè)重要的問(wèn)題弃衍,基于分類呀非、基于聚類和統(tǒng)計(jì)技術(shù)的訓(xùn)練時(shí)間很長(zhǎng),但預(yù)測(cè)通常很快镜盯。相比之下姜钳,基于最近鄰的技術(shù)坦冠、信息論和光譜技術(shù)沒(méi)有訓(xùn)練階段,預(yù)測(cè)時(shí)間長(zhǎng)哥桥,實(shí)際使用中可能受到限制辙浑。
異常檢測(cè)技術(shù)通常假設(shè),與正常實(shí)例相比拟糕,數(shù)據(jù)中的異常非常罕見(jiàn)判呕。但也有例外,比如蠕蟲(chóng)爆發(fā)送滞。
13. 結(jié)束語(yǔ)和今后的工作
當(dāng)前的異常檢測(cè)沒(méi)有定義具體的異常是什么侠草,主要是依賴結(jié)構(gòu)判定。因此也無(wú)法使用統(tǒng)一的量度來(lái)對(duì)比不同的方法犁嗅。未來(lái)上下文和集體異常檢測(cè)技術(shù)在將發(fā)現(xiàn)越來(lái)越多的適用性边涕;分布式位置的數(shù)據(jù)的存在促進(jìn)了對(duì)分布式異常檢測(cè)技術(shù)的需求;隨著傳感器網(wǎng)絡(luò)的出現(xiàn)褂微,也需要檢測(cè)更具實(shí)時(shí)及在線檢測(cè)技術(shù)功蜓,及增量地更新模型;在復(fù)雜的系統(tǒng)中異常檢測(cè)涉及到建模不同組件之間的相互作用宠蚂。
核心:建立模型式撼,把其中少量沒(méi)法建模的視為和其它不同的”異常“求厕。