入侵檢測(cè)中樸素貝葉斯分類的應(yīng)用論文
時(shí)間:2022-08-24 06:17:00
導(dǎo)語(yǔ):入侵檢測(cè)中樸素貝葉斯分類的應(yīng)用論文一文來(lái)源于網(wǎng)友上傳,不代表本站觀點(diǎn),若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。
摘要貝葉斯分類能高效地處理大型數(shù)據(jù),本文使用核密度估計(jì)的樸素貝葉斯分類來(lái)進(jìn)行入侵檢測(cè)。由于入侵檢測(cè)審計(jì)數(shù)據(jù)屬性多為連續(xù)變量,所以在貝葉斯分類算法中使用核密度估計(jì),有助于提高分類的精度,另引入對(duì)稱不確定方法有效地刪除不相關(guān)的檢測(cè)屬性,進(jìn)一步提高分類效率。
關(guān)鍵字貝葉斯;核密度;入侵檢測(cè);分類
1前言
在入侵檢測(cè)系統(tǒng)中,為了提高系統(tǒng)的性能,包括降低誤報(bào)率和漏報(bào)率,縮短反應(yīng)時(shí)間等,學(xué)者們引入了許多方法,如專家系統(tǒng)、神經(jīng)網(wǎng)絡(luò)、遺傳算法和數(shù)據(jù)挖掘中的聚類,分類等各種算法。例如:Cooper&Herkovits提出的一種基于貪心算法的貝葉斯信念網(wǎng)絡(luò),而Provan&SinghProvan,G.M&SinghM和其他學(xué)者報(bào)告了這種方法的優(yōu)點(diǎn)。貝葉斯網(wǎng)絡(luò)說(shuō)明聯(lián)合條件概率分布,為機(jī)器學(xué)習(xí)提供一種因果關(guān)系的圖形,能有效的處理某些問(wèn)題,如診斷:貝葉斯網(wǎng)絡(luò)能正確的處理不確定和有噪聲的問(wèn)題,這類問(wèn)題在任何檢測(cè)任務(wù)中都很重要。
然而,在分類算法的比較研究發(fā)現(xiàn),一種稱作樸素貝葉斯分類的簡(jiǎn)單貝葉斯算法給人印象更為深刻。盡管樸素貝葉斯的分類器有個(gè)很簡(jiǎn)單的假定,但從現(xiàn)實(shí)數(shù)據(jù)中的實(shí)驗(yàn)反復(fù)地表明它可以與決定樹(shù)和神經(jīng)網(wǎng)絡(luò)分類算法相媲美[1]。
在本文中,我們研究樸素貝葉斯分類算法,用來(lái)檢測(cè)入侵審計(jì)數(shù)據(jù),旨在開(kāi)發(fā)一種更有效的,檢驗(yàn)更加準(zhǔn)確的算法。
2貝葉斯分類器
貝葉斯分類是統(tǒng)計(jì)學(xué)分類方法。它們可以預(yù)測(cè)類成員關(guān)系的可能性,如給定樣本屬于一個(gè)特定類的概率。
樸素貝葉斯分類[2]假定了一個(gè)屬性值對(duì)給定類的影響?yīng)毩⒂谄渌鼘傩缘闹?,這一假定稱作類條件獨(dú)立。
設(shè)定數(shù)據(jù)樣本用一個(gè)n維特征向量X={x1,x2,,xn}表示,分別描述對(duì)n個(gè)屬性A1,A2,,An樣本的n個(gè)度量。假定有m個(gè)類C1,C2,,Cm。給定一個(gè)未知的數(shù)據(jù)樣本X(即沒(méi)有類標(biāo)號(hào)),樸素貝葉斯分類分類法將預(yù)測(cè)X屬于具有最高后驗(yàn)概率(條件X下)的類,當(dāng)且僅當(dāng)P(Ci|X)>P(Cj|X),1≤j≤m,j≠i這樣,最大化P(Ci|X)。其中P(Ci|X)最大類Ci稱為最大后驗(yàn)假定,其原理為貝葉斯定理:
公式(1)
由于P(X)對(duì)于所有類為常數(shù),只需要P(X|Ci)P(Ci)最大即可。并據(jù)此對(duì)P(Ci|X)最大化。否則,最大化P(X|Ci)P(Ci)。如果給定具有許多屬性的數(shù)據(jù)集,計(jì)算P(X|Ci)P(Ci)的開(kāi)銷可能非常大。為降低計(jì)算P(X|Ci)的開(kāi)銷,可以做類條件獨(dú)立的樸素假定。給定樣本的類標(biāo)號(hào),假定屬性值相互條件獨(dú)立,即在屬性間,不存在依賴關(guān)系,這樣,
公式(2)
概率,可以由訓(xùn)練樣本估值:
(1)如果Ak是分類屬性,則P(xk|Ci)=sik/si其中sik是Ak上具有值xk的類Ci的訓(xùn)練樣本數(shù),而si是Ci中的訓(xùn)練樣本數(shù)。
(2)如果Ak是連續(xù)值屬性,則通常假定該屬性服從高斯分布。因而
公式(3)
其中,給定類Ci的訓(xùn)練樣本屬性Ak的值,是屬性Ak的高斯密度函數(shù),而分別為平均值和標(biāo)準(zhǔn)差。
樸素貝葉斯分類算法(以下稱為NBC)具有最小的出錯(cuò)率。然而,實(shí)踐中并非如此,這是由于對(duì)其應(yīng)用假定(如類條件獨(dú)立性)的不確定性,以及缺乏可用的概率數(shù)據(jù)造成的。主要表現(xiàn)為:
①不同的檢測(cè)屬性之間可能存在依賴關(guān)系,如protocol_type,src_bytes和dst_bytes三種屬性之間總會(huì)存在一定的聯(lián)系;
②當(dāng)連續(xù)值屬性分布是多態(tài)時(shí),可能產(chǎn)生很明顯的問(wèn)題。在這種情況下,考慮分類問(wèn)題涉及更加廣泛,或者我們?cè)谧鰯?shù)據(jù)分析時(shí)應(yīng)該考慮另一種數(shù)據(jù)分析。
后一種方法我們將在以下章節(jié)詳細(xì)討論。
3樸素貝葉斯的改進(jìn):核密度估計(jì)
核密度估計(jì)是一種普便的樸素貝葉斯方法,主要解決由每個(gè)連續(xù)值屬性設(shè)為高斯分布所產(chǎn)生的問(wèn)題,正如上一節(jié)所提到的。在[3]文中,作者認(rèn)為連續(xù)屬性值更多是以核密度估計(jì)而不是高斯估計(jì)。
樸素貝葉斯核密度估計(jì)分類算法(以下稱K-NBC)十分類似如NBC,除了在計(jì)算連續(xù)屬性的概率時(shí):NBC是使用高斯密度函數(shù)來(lái)評(píng)估該屬性,而K-NBC正如它的名字所說(shuō)得一樣,使用高斯核密度函數(shù)來(lái)評(píng)估屬性。它的標(biāo)準(zhǔn)核密度公式為
公式(4)
其中h=σ稱為核密度的帶寬,K=g(x,0,1),定義為非負(fù)函數(shù)。這樣公式(4)變形為公式(5)
公式(5)
在K-NBC中采用高斯核密度為數(shù)據(jù)分析,這是因?yàn)楦咚姑芏扔兄硐氲那€特點(diǎn)。圖1說(shuō)明了實(shí)際數(shù)據(jù)的概率分布更接近高斯核密度曲線。
圖1兩種不同的概率密度對(duì)事務(wù)中數(shù)據(jù)的評(píng)估,其中黑線代表高斯密度,虛線為核估計(jì)密度并有兩個(gè)不同值的帶寬樸素貝葉斯算法在計(jì)算μc和σc時(shí),只需要存儲(chǔ)觀測(cè)值xk的和以及他們的平方和,這對(duì)一個(gè)正態(tài)分布來(lái)說(shuō)是已經(jīng)足夠了。而核密度在訓(xùn)練過(guò)程中需要存儲(chǔ)每一個(gè)連續(xù)屬性的值(在學(xué)習(xí)過(guò)程中,對(duì)名詞性屬性只需要存儲(chǔ)它在樣本中的頻率值,這一點(diǎn)和樸素貝葉斯算法一樣)。而為事例分類時(shí),在計(jì)算連續(xù)值屬性的概率時(shí),樸素貝葉斯算法只需要評(píng)估g一次,而核密度估計(jì)算法需要對(duì)每個(gè)c類中屬性X每一個(gè)觀察值進(jìn)行n次評(píng)估,這就增加計(jì)算存儲(chǔ)空間和時(shí)間復(fù)雜度,表1中對(duì)比了兩種方法的時(shí)間復(fù)雜度和內(nèi)存需求空間。
4實(shí)驗(yàn)研究與結(jié)果分析
本節(jié)的目標(biāo)是評(píng)價(jià)我們提出核密度評(píng)估分類算法對(duì)入侵審計(jì)數(shù)據(jù)分類的效果,主要從整體檢測(cè)率、檢測(cè)率和誤檢率上來(lái)分析。
表1在給定n條訓(xùn)練事務(wù)和m個(gè)檢測(cè)屬性條件下,
NBC和K-NBC的算法復(fù)雜度
樸素貝葉斯核密度
時(shí)間空間時(shí)間空間
具有n條事務(wù)的訓(xùn)練數(shù)據(jù)O(nm)O(m)O(nm)O(nm)
具有q條事務(wù)的測(cè)試數(shù)據(jù)O(qm)O(qnm)
4.1實(shí)驗(yàn)建立
在實(shí)驗(yàn)中,我們使用NBC與K-NBC進(jìn)行比較。另觀察表1兩種算法的復(fù)雜度,可得知有效的減少檢測(cè)屬性,可以提高他們的運(yùn)算速度,同時(shí)刪除不相關(guān)的檢測(cè)屬性還有可以提高分類效率,本文將在下一節(jié)詳細(xì)介紹對(duì)稱不確定方法[4]如何對(duì)入侵審計(jì)數(shù)據(jù)的預(yù)處理。我們也會(huì)在實(shí)驗(yàn)中進(jìn)行對(duì)比分析。
我們使用WEKA來(lái)進(jìn)行本次實(shí)驗(yàn)。采用KDDCUP99[5]中的數(shù)據(jù)作為入侵檢測(cè)分類器的訓(xùn)練樣本集和測(cè)試樣本集,其中每個(gè)記錄由41個(gè)離散或連續(xù)的屬性(如:持續(xù)時(shí)間,協(xié)議類型等)來(lái)描述,并標(biāo)有其所屬的類型(如:正?;蚓唧w的攻擊類型)。所有數(shù)據(jù)分類23類,在這里我們把這些類網(wǎng)絡(luò)行為分為5大類網(wǎng)絡(luò)行為(Normal、DOS、U2R、R2L、Probe)。
在實(shí)驗(yàn)中,由于KDDCUP99有500多萬(wàn)條記錄,為了處理的方便,我們均勻從kddcup.data.gz中按照五類網(wǎng)絡(luò)行為抽取了5萬(wàn)條數(shù)據(jù)作為訓(xùn)練樣本集,并把他們分成5組,每組數(shù)據(jù)為10000條,其中normal數(shù)據(jù)占據(jù)整組數(shù)據(jù)中的98.5%,這一點(diǎn)符合真實(shí)環(huán)境中正常數(shù)據(jù)遠(yuǎn)遠(yuǎn)大于入侵?jǐn)?shù)據(jù)的比例。我們首
先檢測(cè)一組數(shù)據(jù)中只有同類的入侵的情況,共4組數(shù)據(jù)(DOS中的neptune,Proble中的Satan,U2R中的buffer_overflow,R2l中的guess_passwd),再檢測(cè)一組數(shù)據(jù)中有各種類型入侵?jǐn)?shù)據(jù)的情況。待分類器得到良好的訓(xùn)練后,再?gòu)腒DD99數(shù)據(jù)中抽取5組數(shù)據(jù)作為測(cè)試樣本,分別代表Noraml-DOS,Normal-Probe,Normal-U2R,Normal-R2L,最后一組為混后型數(shù)據(jù),每組數(shù)據(jù)為1萬(wàn)條。
4.2數(shù)據(jù)的預(yù)處理
由于樸素貝葉斯有個(gè)假定,即假定所有待測(cè)屬性對(duì)給定類的影響?yīng)毩⒂谄渌麑傩缘闹?,然而現(xiàn)實(shí)中的數(shù)據(jù)不總是如此。因此,本文引入對(duì)稱不確定理論來(lái)對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,刪除數(shù)據(jù)中不相關(guān)的屬性。
對(duì)稱不確定理論是基于信息概念論,首先我們先了解一下信息理論念,屬性X的熵為:
公式(6)
給定一個(gè)觀察變量Y,變量X的熵為:
公式(7)
P(xi)是變量X所有值的先驗(yàn)概率,P(xi|yi)是給定觀察值Y,X的后驗(yàn)概率。這些隨著X熵的降低反映在條件Y下,X額外的信息,我們稱之為信息增益,
公式(8)
按照這個(gè)方法,如果IG(X|Y)>IG(X|Y),那么屬性Y比起屬性Z來(lái),與屬性X相關(guān)性更強(qiáng)。
定理:對(duì)兩個(gè)隨機(jī)變量來(lái)說(shuō),它們之間的信息增益是對(duì)稱的。即
公式(9)
對(duì)測(cè)量屬性之間相關(guān)性的方法來(lái)說(shuō),對(duì)稱性是一種比較理想的特性。但是在計(jì)算有很多值的屬性的信息增益時(shí),結(jié)果會(huì)出現(xiàn)偏差。而且為了確保他們之間可以比較,必須使這些值離散化,同樣也會(huì)引起偏差。因此我們引入對(duì)稱不確定性,
公式(10)
通過(guò)以下兩個(gè)步驟來(lái)選擇好的屬性:
①計(jì)算出所有被測(cè)屬性與class的SU值,并把它們按降序方式排列;
②根據(jù)設(shè)定的閾值刪除不相關(guān)的屬性。
最后決定一個(gè)最優(yōu)閾值δ,這里我們通過(guò)分析NBC和K-NBC計(jì)算結(jié)果來(lái)取值。
4.3實(shí)驗(yàn)結(jié)果及分析
在試驗(yàn)中,以記錄正確分類的百分比作為分類效率的評(píng)估標(biāo)準(zhǔn),表2為兩種算法的分類效率。
表2對(duì)應(yīng)相同入侵類型數(shù)據(jù)進(jìn)行檢測(cè)的結(jié)果
數(shù)據(jù)集
算法DOS
(neptune)Proble
(satan)R2L
(guess_passwd)U2R
(buffer_overflow)
檢測(cè)率誤檢率整體檢測(cè)率檢測(cè)率誤檢率整體檢測(cè)率檢測(cè)率誤檢率整體檢測(cè)率檢測(cè)率誤檢率整體檢測(cè)率
NBC99.50.299.7998.30.199.8497.30.899.2951.898.21
K-NBC99.50.299.9698.3099.9697.30.299.81710.199.76
SU+NBC99.5099.9698.30.199.85980.799.2491.198.84
SU+K-NBC99.5099.9698.3099.9698.70.299.76850.199.81
根據(jù)表2四組不同類別的入侵檢測(cè)結(jié)果,我們從以下三個(gè)方面分析:
(1)整體檢測(cè)率。K-NBC的整體檢測(cè)率要比NBC高,這是因?yàn)镵-NBC在對(duì)normal這一類數(shù)據(jù)的檢測(cè)率要比NBC高,而normal這一類數(shù)據(jù)又占整個(gè)檢測(cè)數(shù)據(jù)集數(shù)的95%以上,這也說(shuō)明了在上一節(jié)提到的normal類的數(shù)據(jù)分布曲線更加接近核密度曲線。
(2)檢測(cè)率。在對(duì)DOS和PROBLE這兩組數(shù)據(jù)檢測(cè)結(jié)果,兩個(gè)算法的檢測(cè)率都相同,這是因?yàn)檫@兩類入侵行為在實(shí)現(xiàn)入侵中占絕大部分,而且這一類數(shù)據(jù)更容易檢測(cè),所以兩種算法的檢測(cè)效果比較接近;針對(duì)R2L檢測(cè),從表2可以看到,在沒(méi)有進(jìn)行數(shù)據(jù)預(yù)處理之前,兩者的的檢測(cè)率相同,但經(jīng)過(guò)數(shù)據(jù)預(yù)處理后的兩個(gè)算法的檢測(cè)率都有了提高,而K-NBC的效率比NBC更好點(diǎn);而對(duì)U2R的檢測(cè)結(jié)果,K-NBC就比NBC差一點(diǎn),經(jīng)過(guò)數(shù)據(jù)預(yù)處理后,K-NBC的檢測(cè)率有一定的提高,但還是比NBC的效果差一些。
(3)誤檢率。在DOS和Proble這兩種組數(shù)據(jù)的誤檢率相同,在其他兩組數(shù)據(jù)的中,K-NBC的誤檢率都比NBC的低。
根據(jù)表3的結(jié)果分析,我們也可以看到的檢測(cè)結(jié)果與表2的分組檢測(cè)的結(jié)果比較類似,并且從綜合角度來(lái)說(shuō),K-NBC檢測(cè)效果要比NBC的好。在這里,我們也發(fā)現(xiàn),兩種算法對(duì)R2L和U2L這兩類入侵的檢測(cè)效果要比DOS和Proble這兩類入侵的差。這主要是因?yàn)檫@兩類入侵屬于入侵行為的稀有類,檢測(cè)難度也相應(yīng)加大。在KDD99競(jìng)賽中,冠軍方法對(duì)這兩類的檢測(cè)效果也是最差的。但我們可以看到NBC對(duì)這種稀有類的入侵行為檢測(cè)更為準(zhǔn)確一點(diǎn),這應(yīng)該是稀有類的分布更接近正態(tài)分布。
從上述各方面綜合分析,我們可以證明K-NBC作為的入侵檢測(cè)分類算法的是有其優(yōu)越性的。
表3對(duì)混合入侵類型數(shù)據(jù)進(jìn)行檢測(cè)的結(jié)果
數(shù)據(jù)集
算法整體檢測(cè)分類檢測(cè)
NormalDosProbleR2LU2R
檢測(cè)率誤檢率檢測(cè)率誤檢率檢測(cè)率誤檢率檢測(cè)率誤檢率檢測(cè)率誤檢率檢測(cè)率誤檢率
NBC98.141.898.20.899.8099.8090086.71.8
K-NBC99.780.299.82.399.8099.8096073.30.1
SU+NBC97.992.0980.899.8099.8090086.71.9
SU+K-NBC99.790.299.81.999.8099.80960800.1
5結(jié)論
在本文中,我們用高斯核密度函數(shù)代替樸素貝葉斯中的高斯函數(shù),建立K-NBC分類器,對(duì)入侵行為進(jìn)行檢測(cè),另我們使用對(duì)稱不確定方法來(lái)刪除檢測(cè)數(shù)據(jù)的中與類不相關(guān)的屬性,從而進(jìn)一步改進(jìn)核密度樸素貝葉斯的分類效率,實(shí)驗(yàn)表明,對(duì)預(yù)處理后的審計(jì)數(shù)據(jù),再結(jié)合K-NBC來(lái)檢測(cè),可以達(dá)到更好的分類效果,具有很好的實(shí)用性。同時(shí)我們也注意到,由于入侵檢測(cè)的數(shù)據(jù)中的入侵行為一般為稀有類,特別是對(duì)R2L和U2R這兩類數(shù)據(jù)進(jìn)行檢測(cè)時(shí),NBC有著比較理想的結(jié)果,所以在下一步工作中,我們看是否能把NBC和K-NBC這兩種分類模型和優(yōu)點(diǎn)聯(lián)合起來(lái),并利用對(duì)稱不確定理論來(lái)刪除檢測(cè)數(shù)據(jù)與類相關(guān)的屬性中的冗余屬性,進(jìn)一步提高入侵檢測(cè)效率。
參考文獻(xiàn)
[1]Langley.P.,Iba,W.&Thompson,K.AnanalysisofBayesianclassifiers[A],in“ProceedingsoftheTenthNationalConferenceonArtificialIntelligence”[C]MenloPark,1992.223-228
[2]HanJ.,KamberM..數(shù)據(jù)挖掘概念與技術(shù)[M].孟小峰,等譯.北京:機(jī)械工業(yè)出版社.2005.196201
[3]JohnG.H..EnhancementstotheDataMiningProcess[D].Ph.D.Thesis,ComputerScienceDept.,StanfordUniversity,1997
[4]LeiYuandHuanLiu.Featureselectionforhigh-dimensionaldata:Afastcorrelation-basedfiltersolution[A],in“ProceedingsoftheTwentiethInternationalConferenceonMachineLearning(ICML2003)”[C]Washington,DC,2003.856-863
[5]KDD99.KDD99CupDataset[DB/OL].http://kdd.ics.uci.edu/databases/kddcup99,1999