陳猛 洪偉
摘 要:本文提出了一種集成異種分類器的數(shù)據(jù)流入侵檢測模型EDKCDS(Ensemble of Different Kind of Classifiers on Data Stream),目的是在適應(yīng)概念漂移的前提下,利用多個(gè)時(shí)間段的數(shù)據(jù)學(xué)習(xí)生成異種分類器,并集成各個(gè)異種分類器,檢測入侵行為,使其能達(dá)到目標(biāo)類召回率和精度的平衡,并且能取得較高的分類準(zhǔn)確率。
關(guān)鍵詞:入侵檢測;組合分類器;數(shù)據(jù)流
中圖分類號:TP393.08文獻(xiàn)標(biāo)識碼:A文章編號:1003-5168(2018)29-0021-02
Abstract: This paper proposed a new integration approach, called EDKCDS (Ensemble of Different Kind of Classifiers on Data Stream). The purpose is to generate heterogeneous classifiers based on multi-time data learning and integrate heterogeneous classifiers to detect intrusion behavior under the premise of adapting to conceptual drift. It can achieve a balance between recall and accuracy of target class, and achieve higher classification accuracy.
Keywords: intrusion detection;ensemble;data stream
1 研究背景
當(dāng)今社會已進(jìn)入網(wǎng)絡(luò)時(shí)代,如何保障計(jì)算機(jī)系統(tǒng)的安全是尤為突出的問題。入侵檢測技術(shù)能保護(hù)系統(tǒng)免受攻擊,也能把給定數(shù)據(jù)分為正常數(shù)據(jù)和異常數(shù)據(jù),其本質(zhì)上是一個(gè)分類問題。
集成學(xué)習(xí)方法利用多個(gè)弱分類器的組合來改善算法的分類性能,同時(shí)數(shù)據(jù)流環(huán)境又有其特點(diǎn),如在信用卡事務(wù)流等類似的應(yīng)用中,連續(xù)產(chǎn)生出海量的數(shù)據(jù),并且數(shù)據(jù)的分布會隨著時(shí)間的更迭而發(fā)生變化(概念漂移[1])。如何在海量數(shù)據(jù)流中選擇出充分的數(shù)據(jù)并訓(xùn)練出分類模型以進(jìn)行有效預(yù)測,正是數(shù)據(jù)流入侵檢測所要解決的難點(diǎn)。
本文提出一種集成異種分類器的數(shù)據(jù)流入侵檢測模型EDKCDS,該模型首先利用數(shù)據(jù)流中不同時(shí)間段的訓(xùn)練樣本構(gòu)造不同類型的分類器(稱為基分類器)。當(dāng)對數(shù)據(jù)進(jìn)行分類預(yù)測時(shí),EDKCDS取各個(gè)基分類器的預(yù)測結(jié)果加權(quán)投票,根據(jù)表決的結(jié)果進(jìn)行分類,從而發(fā)現(xiàn)異常數(shù)據(jù)。
2 入侵檢測的性能評價(jià)
在入侵檢測問題中,一般稱攻擊類為目標(biāo)類,正常類為非目標(biāo)類。評估標(biāo)準(zhǔn)可使用召回率(recall)、精度(precision)。定義如下:
3 分類方法
3.1 決策樹分類
決策樹采用自頂向下的分治方法構(gòu)造。隨著樹的構(gòu)造,數(shù)據(jù)集集合空間被分割成兩個(gè)或多個(gè)塊。在樹結(jié)構(gòu)模型中,每個(gè)葉子節(jié)點(diǎn)代表一個(gè)類,而由根節(jié)點(diǎn)到一個(gè)葉節(jié)點(diǎn)的路徑則構(gòu)成一類分類規(guī)則。決策樹分類模型被廣泛應(yīng)用在數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)等領(lǐng)域。本文構(gòu)造基分類器用的是C4.5算法。
3.2 樸素貝葉斯分類方法
貝葉斯分類是利用統(tǒng)計(jì)學(xué)知識進(jìn)行分類的方法。由貝葉斯公式可知,可以利用先驗(yàn)概率(Prior Probability)來計(jì)算后驗(yàn)概率(Posterior Probability),而后驗(yàn)概率能提供更多的信息,可以作為分類的標(biāo)準(zhǔn)。在本文中,筆者利用樸素貝葉斯算法構(gòu)造基本分類器,其假定一個(gè)屬性值對給定類的影響?yīng)毩⒂谄渌麑傩缘闹?,這個(gè)假定稱作類條件獨(dú)立。
3.3 K-最臨近分類
K-最臨近分類用n維數(shù)值屬性描述一個(gè)訓(xùn)練樣本,對應(yīng)n維空間中一個(gè)點(diǎn)。當(dāng)要分類一個(gè)未知樣本時(shí),該算法會在n維空間中找出最接近未知樣本的K個(gè)訓(xùn)練樣本,也稱為K個(gè)“近鄰”,根據(jù)這K個(gè)最“近鄰”進(jìn)行分類。K-最臨近分類是基于類比學(xué)習(xí)的分類方法,也是一種懶散的學(xué)習(xí)法。
3.4 神經(jīng)網(wǎng)絡(luò)分類
神經(jīng)網(wǎng)絡(luò)模型包括輸入層、隱藏層、輸出層。每一層由若干單元組成,網(wǎng)絡(luò)的輸入對應(yīng)元組的屬性,每個(gè)連接都與一個(gè)權(quán)值相關(guān)聯(lián)。在本文中,筆者使用后向傳播算法在神經(jīng)網(wǎng)絡(luò)上進(jìn)行學(xué)習(xí)構(gòu)造,迭代地得到一組權(quán)重用于元組類標(biāo)號預(yù)測。
3.5 基于eEP的分類方法
在基于顯露模式的分類方法中,EP是一個(gè)項(xiàng)集,其支持度從類A(B)到類B(A)顯著地增加,因此具有很好的區(qū)分能力。給定支持度和增長率閾值,基于EP的分類方法挖掘滿足支持度和增長率閾值的EP。若要對數(shù)據(jù)S進(jìn)行分類,基于EP的分類方法會聚合S中的[Ci]類EP的區(qū)分能力,計(jì)算出S屬于[Ci]類的得分,根據(jù)得分高低預(yù)測S類別。本文構(gòu)建基分類器采用的基于eEP的分類算法是對CAEP的改進(jìn)算法CEEP[2]。
4 算法基本思想
由于數(shù)據(jù)流是不斷流入的,不可能存儲所有的數(shù)據(jù)來建立模型,而是考慮使用距離最近的[SW]個(gè)窗口的數(shù)據(jù),為此引入了滑動窗口的機(jī)制:假設(shè)BW是一個(gè)基本窗口,對應(yīng)一個(gè)數(shù)據(jù)流子序列;SW是一個(gè)滑動窗口,對應(yīng)一個(gè)連續(xù)的基本窗口序列,表示為SW=bw1,…,bwi,…,bwk,在基本窗口bwi訓(xùn)練得到對應(yīng)的基分類器為Ci。
本文提出的集成異種分類器的數(shù)據(jù)流入侵檢測模型EDKCDS(Ensemble of Different Kind of Classifiers on Data Stream)在滑動窗口SW內(nèi)訓(xùn)練5個(gè)基分類器的集合E。假設(shè)初始時(shí),EDKCDS分別使用決策樹(C4.5)、樸素Bayes(NB)、最近鄰(k-NN)、后向傳播(BP)和eEP構(gòu)造分類器C1…C5。當(dāng)滑動到第K+1個(gè)基本窗口時(shí),先讓每個(gè)基分類器Ci獨(dú)立地作出預(yù)測,然后,根據(jù)基分類器Ci的F-度量計(jì)算其權(quán)重,將權(quán)重最小的基分類器Ci移出集合E,在基本窗口K+1上按照Cl的算法學(xué)習(xí)得到分類器CK+1,加入集合E,以E中基分類器加權(quán)表決的方式確定待分類樣本所屬的類。算法如下:
EDKCDS( D, E) //? 其中D:bwK+1的數(shù)據(jù);E:基分類器集合。方法如下:
①對基本窗口BW1,BW2,BW3,BW4,BW5分別按照C4.5、NB、k-NN、BP、eEP構(gòu)造基分類器C1、C2、C3、[Us]、R0。
②while (bwK+1數(shù)據(jù)到達(dá)) {
③for (Ci∈E ) { 計(jì)算Ci在[Tn2]上的F-度量;//公式(3)
計(jì)算[Ci]對應(yīng)權(quán)重[wi];}
④將權(quán)重最小的基分類器[Cl]移出集合E;
⑤在D上按照[Cl]的算法學(xué)習(xí)得到分類器[CK+1],加入集合E;
[Ci]權(quán)重[wi]用式(4)計(jì)算:
5 結(jié)語
本文提出一種集成異種分類器的數(shù)據(jù)流入侵檢測模型EDKCDS(Ensemble of Different Kind of Classifiers on Data Stream)。該模型利用多個(gè)時(shí)間段的數(shù)據(jù)學(xué)習(xí)生成異種分類器,并集成各個(gè)異種分類器,檢測入侵行為。入侵檢測是現(xiàn)在應(yīng)用領(lǐng)域多、研究比較熱的方向,如何找到更好的方法在海量數(shù)據(jù)流上快速分析檢測是一個(gè)值得研究的問題。
參考文獻(xiàn):
[1] Widmer G, Kubat M. Learning in the Presence of Concept Drift and Hidden Contexts[J]. Machine Learning,1996(1):69-101.
[2]范明,劉孟旭,趙紅領(lǐng).一種基于基本顯露模式的分類算法[J].計(jì)算機(jī)科學(xué),2004(11):213-216.