李楠芳 王 旭 邵 巍 馬學(xué)智 張菊玲 梁 濤*
1(國(guó)網(wǎng)青海省電力公司電力科學(xué)研究院 青海 西寧 810008)2(國(guó)網(wǎng)青海省電力公司 青海 西寧 810008)3(國(guó)網(wǎng)青海省電力公司信息通信公司 青海 西寧 810008)4(電子科技大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 四川 成都 610000)
異常檢測(cè)[1]是數(shù)據(jù)挖掘領(lǐng)域中的一項(xiàng)非常重要的技術(shù),它通過(guò)對(duì)數(shù)據(jù)特性的分析,找出與事先定義的正常模式不相符的異常模式,并通過(guò)分析異常模式特性來(lái)解決應(yīng)用領(lǐng)域的異常事件。異常檢測(cè)在網(wǎng)頁(yè)惡意攻擊[2]、醫(yī)療疾病檢測(cè)[3]、信用卡詐騙、機(jī)器異常檢測(cè)、垃圾郵件識(shí)別等任務(wù)中處于重要地位。根據(jù)數(shù)據(jù)是否有可用的標(biāo)簽,可將異常檢測(cè)大致分為3類:有監(jiān)督異常檢測(cè)、半監(jiān)督異常檢測(cè)[4]和無(wú)監(jiān)督異常檢測(cè)。
在本文中,我們主要針對(duì)的是半監(jiān)督的異常檢測(cè),即所采用的訓(xùn)練數(shù)據(jù)僅僅包含正常模式類別數(shù)據(jù),并基于此類數(shù)據(jù)建立相應(yīng)的表現(xiàn)正常模式類別行為的模型,最后用建立好的模型去識(shí)別測(cè)試數(shù)據(jù)中的異常模式數(shù)據(jù)。
對(duì)于半監(jiān)督異常檢測(cè)常用的方法是基于分布的方法,即只對(duì)正常模式數(shù)據(jù)或異常模式數(shù)據(jù)的分布建模,捕獲正常(異常)模式數(shù)據(jù)行為的概率分布,進(jìn)而將低概率的數(shù)據(jù)視為異常。在本文中我們采用對(duì)于正常模式數(shù)據(jù)建模。在已知的學(xué)習(xí)正常模式的方法中,既有參數(shù)法也有非參法。對(duì)于連續(xù)數(shù)據(jù)的異常檢測(cè),常常使用高斯分布,混合高斯分布以及基于核函數(shù)的方法等。而對(duì)于離散數(shù)據(jù),常常采用的是多項(xiàng)式分布,狄利克雷多項(xiàng)式分布等。本文中,我們主要針對(duì)于離散數(shù)據(jù)建模。
但是在處理小規(guī)模多元離散數(shù)據(jù)集的時(shí)候,上述的模型會(huì)面臨維數(shù)災(zāi)難的問(wèn)題[5],并且很難檢測(cè)出異常模式行為,因?yàn)槲覀儾坏貌惶幚磉@樣的困境:離散數(shù)據(jù)的可能取值數(shù)量與該數(shù)據(jù)所包含的屬性數(shù)量成指數(shù)增長(zhǎng),且可得到的小規(guī)模多元離散數(shù)據(jù)集中僅僅包含離散數(shù)據(jù)可能性取值的一小部分。所以我們要建立一個(gè)基于分布的模型,類似于深度置信網(wǎng)絡(luò)(DBN)[6]和變分自編碼器(VAE)[7]等深度生成網(wǎng)絡(luò),但是DBN和VAE都是深層網(wǎng)絡(luò),進(jìn)而參數(shù)數(shù)量非常大,并且對(duì)于數(shù)據(jù)量的依賴很大,在處理小規(guī)模數(shù)據(jù)的時(shí)候特別容易過(guò)擬合。
在本文中,我們采用隱高斯模型(LGM)[8]來(lái)處理小規(guī)模多元離散數(shù)據(jù)的異常檢測(cè),用LGM對(duì)正常的數(shù)據(jù)建模,從而獲得正常數(shù)據(jù)的概率分布模型。LGM是一種隱變量模型,它假設(shè)多元離散數(shù)據(jù)是通過(guò)低維連續(xù)空間的線性映射生成,它通過(guò)將線性映射的參數(shù)貝葉斯化,以減少模型在小規(guī)模樣本集下產(chǎn)生過(guò)擬合現(xiàn)象的風(fēng)險(xiǎn),從而有效地將異常模式行為檢測(cè)出來(lái)。試驗(yàn)結(jié)果表明,在小規(guī)模離散數(shù)據(jù)集上LGM相比于其他的異常檢測(cè)技術(shù)能夠更好地檢測(cè)出異常數(shù)據(jù)。
在隱高斯模型(LGM)中,我們假設(shè)有N個(gè)數(shù)據(jù)樣本Y=[y1,y2,…,yN],第n個(gè)數(shù)據(jù)樣本用向量yn表示,相應(yīng)的在隱空間中對(duì)應(yīng)N個(gè)隱空間數(shù)據(jù)X=[x1,x2,…,xN],第n個(gè)數(shù)據(jù)用向量xn表示,同時(shí)假設(shè)yn為D維向量,xn為L(zhǎng)維向量,且D大于L。對(duì)于yn中的每個(gè)屬性用ydn表示,ydn可從一個(gè)有限的離散集[0,1,…,Kd]中取值。隱變量xn服從一個(gè)均值為μ方差為Σ的高斯分布,如式(1)所示,其中θ={μ,Σ}。每個(gè)分類變量ydn以線性映射wdn的形式被參數(shù)化,如式(2)和(3)所示。
(1)
γdn=Wdxn+B0d
(2)
(3)
式中:Wd∈(K+1)×L是因子權(quán)重矩陣,B0d∈K+1是偏移向量,且γdn∈K+1,式(3)中的似然是在數(shù)據(jù)ydn上所有維度D上的分解。
我們假設(shè)訓(xùn)練數(shù)據(jù)有N個(gè),用Y=[y1,y2,…,yN]表示,其中yn∈D,ydn表示yn中第d個(gè)屬性值,ydn取值范圍為0,…,Kd,隱變量空間中對(duì)應(yīng)于訓(xùn)練數(shù)據(jù)Y的數(shù)據(jù)用X=[x1,x2,…,xN]表示,其中xn∈L。
我們要對(duì)訓(xùn)練數(shù)據(jù)建立對(duì)應(yīng)的概率分布,如下所示:
(4)
(5)
進(jìn)而可以將W積分出來(lái),得到p(Y|X,β),如公式所示:
(6)
式中:Y:,d表示Y的第d列,進(jìn)而可得公式:
p(Y:,d|X,β)=N(Y:,d|0,XXT+β-1I)
(7)
可以看到XXT+β-1I是線性的,式(7)等價(jià)于一個(gè)具有線性核的高斯過(guò)程,為了對(duì)高斯過(guò)程進(jìn)行高效的推斷,我們考慮在推斷過(guò)程中引入偽輸入T∈M×D×K[9-10],進(jìn)而式(4)可寫(xiě)成式(8):
(8)
那么基于文獻(xiàn)[11]和式(8)可得到未觀測(cè)變量的后驗(yàn)P(F,T,X|Y),該式可通過(guò)變分分解近似估計(jì)為:
q(X,T,F)=q(X)q(T)p(F|X,T)
(9)
式(9)中q(X)和q(T)可以從式(10)中得到:
(10)
式中:udk、Σd、φml、及ξml都是變分參數(shù),再根據(jù)杰森不等式,logp(Y)可以用式(11)得到:
-KL(q(X)‖p(X))-KL(q(T)‖p(T))+
Ψ
為了精確地得到p(Y),我們要做的就是最大化Ψ,因?yàn)棣肥瞧湎陆纭?/p>
(12)
進(jìn)而可式(13):
(13)
(14)
(15)
至此,我們可以利用式(15)對(duì)于測(cè)試集中的數(shù)據(jù)進(jìn)行測(cè)試,從而得到模型的最終表現(xiàn)結(jié)果。
為了評(píng)估我們所提出的模型的表現(xiàn)效果,特進(jìn)行分類試驗(yàn)。我們所采用的數(shù)據(jù)來(lái)自UCI機(jī)器學(xué)習(xí)庫(kù)。
在本試驗(yàn)中,將用我們提出的方法和另兩種方法(基于樸素貝葉斯的多項(xiàng)式方法(NB-M);基于樸素貝葉斯的狄利克雷方法(NB-DCM))做比較,這兩種方法對(duì)于小規(guī)模分類數(shù)據(jù)集的概率分布建模效果良好。
首先,我們分別用NB-M、NB-DCM以及LGM方法對(duì)只包含正常行為模式的概率分布進(jìn)行建模;然后,我們用一個(gè)測(cè)試集模擬異常檢測(cè)的場(chǎng)景,即在測(cè)試集中包括正常行為數(shù)據(jù)和異常行為數(shù)據(jù),但是異常行為數(shù)據(jù)的數(shù)量要遠(yuǎn)小于正常行為數(shù)據(jù)的數(shù)量,這樣便能夠基本模擬出日常所遇見(jiàn)的異常檢測(cè)場(chǎng)景;最后我們用之前多學(xué)習(xí)到3種概率分布模型分別在測(cè)試集上進(jìn)行異常檢測(cè)試驗(yàn),比較這3種方法的優(yōu)劣。
為了增加說(shuō)服力,我們?cè)谶M(jìn)行挑選用于建模的訓(xùn)練數(shù)據(jù)的時(shí)候,隨機(jī)挑選5次,每次用于建模的數(shù)據(jù)是各不一樣的,但是每次挑選的數(shù)據(jù)數(shù)量是一樣的,然后用這5次訓(xùn)練出來(lái)的模型對(duì)測(cè)試集進(jìn)行測(cè)試,最后取平均值作為該模型最終的表現(xiàn)能力。
在比較各個(gè)模型的檢測(cè)能力的時(shí)候,我們采用如下方法:使用top-k異常分?jǐn)?shù)評(píng)估包含在測(cè)試數(shù)據(jù)中的異常數(shù)據(jù)數(shù)量。此外,我們也做出每個(gè)檢測(cè)模型的ROC曲線以及計(jì)算出ROC曲線所對(duì)應(yīng)的AUC面積。
毒蘑菇數(shù)據(jù)集中,每一表示蘑菇的數(shù)據(jù)包含22個(gè)特征,包含蘑菇的帽、鰓、莖,面紗等特征,這22個(gè)特征決定了該蘑菇是否是可食用的蘑菇。顯然可食用的蘑菇就是所說(shuō)的正常行為模式,而那些毒蘑菇就是異常行為模式。我們的目標(biāo)就是在一堆既包含可食用蘑菇又包含毒蘑菇的數(shù)據(jù)中,檢測(cè)出代表毒蘑菇的數(shù)據(jù)。
為了表現(xiàn)模型在小規(guī)模數(shù)據(jù)集上能力,我們僅僅隨機(jī)抽取300個(gè)可食用蘑菇數(shù)據(jù)作為模型的訓(xùn)練集,隨機(jī)抽取3 600個(gè)可食用蘑菇數(shù)據(jù)和400個(gè)毒蘑菇數(shù)據(jù)作為模型的測(cè)試集。
表1向我們展示NB-M、NB-DCM及LGM模型5次預(yù)測(cè)的結(jié)果,結(jié)果以ROC曲線下的AUC面積給出,總面積為1,AUC面積越大表示模型所表現(xiàn)的效果越好。通過(guò)對(duì)比這三種模型的5次檢測(cè)結(jié)果,發(fā)現(xiàn)我們的模型總體上明顯優(yōu)于NB-DCM模型和NB-M模型,對(duì)比NB-M的優(yōu)勢(shì)要更加明顯,具體結(jié)果如表1所示。
表1 毒蘑菇檢測(cè)結(jié)果(AUC面積)
相應(yīng)的,我們也做出NB-M、NB-DCM以及我們的模型所對(duì)應(yīng)的平均ROC曲線和AUC面積,如圖1所示。其中粗實(shí)線表示我們模型的ROC曲線和對(duì)應(yīng)ROC面積,細(xì)虛線表示NB-DCM模型的ROC曲線和對(duì)應(yīng)的AUC面積,細(xì)實(shí)線表示NB-M模型的ROC曲線和對(duì)應(yīng)的AUC面積。從圖1中可以明顯看到我們所提出的模型要優(yōu)于NB-M模型和NB-DCM模型。
圖1 毒蘑菇檢測(cè)結(jié)果ROC曲線和AUC面積
心臟病數(shù)據(jù)集中包含的是心臟病病人和健康人心臟的SPECT圖,每一個(gè)數(shù)據(jù)樣本描述一個(gè)人的心臟狀況,包含22個(gè)特征。在我們的試驗(yàn)里,我們將健康人的心臟數(shù)據(jù)當(dāng)作正常行為模式,而將心臟病患者的心臟數(shù)據(jù)作為異常行為模式。顯然我們的目的就是在一堆包含健康人心臟數(shù)據(jù)和心臟病患者的心臟數(shù)據(jù)中檢測(cè)出心臟病患者的數(shù)據(jù)。
這里我們?yōu)榱诉M(jìn)一步驗(yàn)證模型在小數(shù)據(jù)集上表現(xiàn)能力,特地在更小的數(shù)據(jù)集合上進(jìn)行試驗(yàn)。僅僅隨機(jī)抽取20個(gè)數(shù)據(jù)作為模型的訓(xùn)練集,同時(shí)隨機(jī)抽取35個(gè)健康人數(shù)據(jù)和4個(gè)心臟病患者數(shù)據(jù)作為模型的測(cè)試集。
在心臟病檢測(cè)試驗(yàn)中我們同樣對(duì)NB-DCM模型、NB-M模型以及我們所提出的模型進(jìn)行5次對(duì)比試驗(yàn),得出的結(jié)果如表2所示。表2展示了用5次隨機(jī)挑選的健康人數(shù)據(jù)分別基于NB-M、NB-DCM、我們的方法各建立5個(gè)模型,再用基于每種方法的5個(gè)模型分別對(duì)包含健康和心臟病患者的測(cè)試集進(jìn)行檢測(cè),根據(jù)最后的檢測(cè)結(jié)果計(jì)算得到相對(duì)應(yīng)的AUC面積,AUC總面積為1。從表2結(jié)果來(lái)看,我們的模型明顯要優(yōu)于NB-M和NB-DCM模型的結(jié)果。
表2 心臟病檢測(cè)結(jié)果(AUC面積)
相應(yīng)的,我們也做出NB-M、NB-DCM以及我們的模型所對(duì)應(yīng)的平均ROC曲線和AUC面積,如圖2所示。其中粗實(shí)線表示我們的模型的ROC曲線和對(duì)應(yīng)ROC面積,細(xì)虛線表示NB-DCM模型的ROC曲線和對(duì)應(yīng)的AUC面積,細(xì)實(shí)線表示NB-M模型的ROC曲線和對(duì)應(yīng)的AUC面積。從圖2中可以明顯看到我們所提出的模型要優(yōu)于NB-M模型和NB-DCM模型。
圖2 心臟病檢測(cè)結(jié)果ROC曲線和AUC面積
我們提出了一種基于半監(jiān)督學(xué)習(xí)的異常檢測(cè)方法。我們的主要思路是基于LGM對(duì)正常行為模式的概率分布進(jìn)行建模,提取出正常行為模式的特性,進(jìn)而檢測(cè)出異常行為模式。并且由于高斯過(guò)程的非參貝葉斯特性,LGM可以很好地捕獲正常行為模式的概率分布,即使是包含正常行為模式的小規(guī)模數(shù)據(jù)集合。同時(shí)試驗(yàn)結(jié)果也表明了我們的異常檢測(cè)的方法相對(duì)于其他的異常檢測(cè)方法在小規(guī)模多元離散分類數(shù)據(jù)上是很有效的。