一種基于特征選擇和決策樹的網(wǎng)絡(luò)異常分類規(guī)則提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及網(wǎng)絡(luò)通信領(lǐng)域,且特別涉及一種基于特征選擇和決策樹的網(wǎng)絡(luò)異常分 類規(guī)則提取方法。
【背景技術(shù)】
[0002] 目前,大部分的異常入侵檢測系統(tǒng)主要使用分類技術(shù)發(fā)現(xiàn)網(wǎng)絡(luò)中存在的異常數(shù)據(jù) 模式。主要的方法有:神經(jīng)網(wǎng)絡(luò)技術(shù)、貝葉斯分類技術(shù)、遺傳算法、決策樹、支持向量機等技 術(shù)。
[0003] 上述每種技術(shù)雖然都各有特點和優(yōu)勢,但是如果使用單一的分類技術(shù)進行異常檢 測,會產(chǎn)生應(yīng)用的局限性,即雖然在某些場合下可以檢測到最優(yōu)解或近似最優(yōu)解,但是在外 界環(huán)境發(fā)生變化后,方法則得不到有效求解,失去應(yīng)有的功能,因此很難有說哪種方法優(yōu)于 另外一種。而且,隨著網(wǎng)絡(luò)數(shù)據(jù)量的增多和大數(shù)據(jù)的出現(xiàn),異常檢測中也出現(xiàn)了 "維數(shù)災(zāi)難" 的問題,即要處理的屬性和特征越來越多,尋找有效的特征和排除干擾特征成為網(wǎng)絡(luò)異常 檢測的重要研究課題。
[0004] 本發(fā)明提出的技術(shù)是使用混合智能系統(tǒng)進行異常檢測,與單一的檢測方法相比, 這種技術(shù)提高了異常檢測的準(zhǔn)確性?;旌现悄芟到y(tǒng)將不同系統(tǒng)中的結(jié)果合并以得到最優(yōu) 解。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明提出一種基于特征選擇和決策樹的網(wǎng)絡(luò)異常分類規(guī)則提取方法,是一種基 于混合人工智能的網(wǎng)絡(luò)異常檢測方法,其利用遺傳算法進行特征發(fā)現(xiàn),利用決策樹算法產(chǎn) 決策規(guī)則,可以廣泛應(yīng)用于網(wǎng)絡(luò)異常分類規(guī)則提取。
[0006] 為了達到上述目的,本發(fā)明提出一種基于特征選擇和決策樹的網(wǎng)絡(luò)異常分類規(guī)則 提取方法,包括下列步驟:
[0007] 步驟A:對數(shù)據(jù)庫中的特征數(shù)據(jù)進行預(yù)處理,初始化參數(shù),產(chǎn)生初始解;
[0008] 步驟B:使用遺傳算法進行參數(shù)優(yōu)化,選擇具有最好測試準(zhǔn)確性的特征;
[0009] 步驟C:使用決策樹算法進行構(gòu)造決策規(guī)則;
[0010] 步驟D:評估所述決策規(guī)則的準(zhǔn)確率;
[0011] 步驟E:判斷是否達到終止條件;
[0012] 步驟F:當(dāng)未達到終止條件時,返回步驟B繼續(xù)執(zhí)行;
[0013] 步驟G:當(dāng)達到終止條件時,輸出異常發(fā)現(xiàn)決策規(guī)則、準(zhǔn)確率和選擇的規(guī)則。
[0014] 進一步的,所述數(shù)據(jù)庫中的特征種類為41個,每個特征取值的數(shù)據(jù)類型為連續(xù)性 或離散型取值。
[0015] 進一步的,所述使用遺傳算法進行特征選擇的步驟包括:
[0016] 步驟1:在數(shù)據(jù)庫中,選擇所有發(fā)生異常的記錄,并對這些記錄進行編碼,將特征編 碼成基因;
[0017] 步驟2:設(shè)置適應(yīng)度函數(shù),通過適應(yīng)度函數(shù)來評估基因?qū)δ硞€分類的貢獻;
[0018] 步驟3:對數(shù)據(jù)庫中的每個記錄編碼形成具有Μ個個體的初始群體P。,設(shè)置進化代 數(shù)計數(shù)器c = 〇和最大進化代數(shù)G,根據(jù)步驟20設(shè)置的適應(yīng)度函數(shù)計算每個個體的適應(yīng)度函 數(shù);
[0019] 步驟4:選擇操作,將初始群體P。中的個體按照適應(yīng)度函數(shù)從大到小進行排序,選 擇前N個個體構(gòu)成新的群體P'。;
[0020] 步驟5:交叉操作,在K。上應(yīng)用兩點交叉,生成新的群體P〃。,其中交叉概率為95%; [0021]步驟6:變異操作,在P〃。上應(yīng)用變異算子,變異概率為5 %,生成新的群體P〃' c; [0022] 步驟7:若c〈G,貝ljc = c+l ,ΡρρΜ。,重新執(zhí)行步驟3~步驟7;
[0023]步驟8:在最終生成的群體中,保留Gi=l的特征作為降維后的特征。
[0024] 進一步的,所述對數(shù)據(jù)庫中記錄進行編碼采用Michigan編碼方法,將所述特征Ai 編碼成基因 i,所述基因具有四個域即Wi,0i,Vi和Gi,其中Wi是權(quán)值域,其取值范圍為[0,1 ]; 0:為運算符域取值為〈"和"〉" W是值域,即在⑴運算符下特征的取值而是作用域, 取值為1或〇而=1表示染色體中存在基因心,反之仏=0表示染色體中無此基因。
[0025]進一步的,所述設(shè)置適應(yīng)度函數(shù)步驟中,定義一個基因個體的準(zhǔn)確性和精確性分 別表示為Accuracy = pp/(pp+nn)和Precision = pn/(pn+np),因此個體的適應(yīng)度函數(shù)計算 如下:
[0027] 其中Accuracyi和Precisiom分別是第i個基因的準(zhǔn)確度和精確度。
[0028] 進一步的,所述使用決策樹算法進行構(gòu)造決策規(guī)則的步驟為使用C4.5決策樹算法 對遺傳生成的特征進行網(wǎng)絡(luò)異常分類規(guī)則發(fā)現(xiàn)。
[0029] 進一步的,所述C4.5決策樹算法步驟如下:
[0030] 對于數(shù)據(jù)庫中的記錄,僅選擇保留GA算法選擇出的特征構(gòu)成的數(shù)據(jù)庫S作為訓(xùn)練 集;
[0031] 創(chuàng)建節(jié)點N;
[0032]如果訓(xùn)練集為空,在返回節(jié)點N標(biāo)記為Failure;
[0033] 如果訓(xùn)練集中的所有記錄都屬于同一個類別,則以該類別標(biāo)記節(jié)點N;
[0034] 如果候選屬性為空,則返回N作為葉節(jié)點,標(biāo)記為訓(xùn)練集中最普通的類;
[0035] for each候選屬性attribute_list;
[0036] if候選屬性是連續(xù)的then;
[0037] 對屬性進行離散化;
[0038]選擇候選屬性attribute_list中具有最高信息增益的屬性D;
[0039]標(biāo)記節(jié)點N為屬性D;
[0040] for each屬性D的一個值;
[0041] 由節(jié)點N長出一個條件為D = d的分支;
[0042]設(shè)8是訓(xùn)練集中D = d的訓(xùn)練樣本的集合;
[0043] if s為空;
[0044] 加上一個樹葉,標(biāo)記為訓(xùn)練集中最普通的類;
[0045] else 加上一個由C4.5(R_{D},C,s)返回的點。
[0046] 本發(fā)明提出的基于特征選擇和決策樹的網(wǎng)絡(luò)異常分類規(guī)則提取方法,是一種混合 智能算法,將遺傳算法和決策樹相結(jié)合,首先通過遺傳算法進行特征選擇和降維,然后在降 維后的數(shù)據(jù)上利用決策樹算法提取分類和決策規(guī)則,產(chǎn)生的分類規(guī)則用于網(wǎng)絡(luò)異常發(fā)現(xiàn)和 預(yù)測。本發(fā)明提出了一種結(jié)合了特征選擇和決策規(guī)則發(fā)現(xiàn)的混合智能網(wǎng)絡(luò)異常檢測算法, 結(jié)合了遺傳算法(GA)和決策樹算法(DT),首先使用GA進行特征選擇,然后應(yīng)用DT進行決策 規(guī)則發(fā)現(xiàn),本發(fā)明利用混合智能系統(tǒng)進行異常檢測,與單一的檢測方法相比,提高了網(wǎng)絡(luò)異 常檢測的準(zhǔn)確性。
【附圖說明】
[0047] 圖1所示為本發(fā)明較佳實施例的基于特征選擇和決策樹的網(wǎng)絡(luò)異常分類規(guī)則提取 方法流程圖。
[0048] 圖2所示為本發(fā)明較佳實施例的網(wǎng)絡(luò)異常檢測特征數(shù)據(jù)庫中的特征及類型示意 圖。
[0049] 圖3所示為本發(fā)明較佳實施例的典型編碼方案示意圖。
【具體實施方式】
[0050] 以下結(jié)合附圖給出本發(fā)明的【具體實施方式】,但本發(fā)明不限于以下的實施方式。根 據(jù)下面說明和權(quán)利要求書,本發(fā)明的優(yōu)點和特征將更清楚。需說明的是,附圖均采用非常簡 化的形式且均使用非精準(zhǔn)的比率,僅用于方便、明晰地輔助說明本發(fā)明實施例的目的。
[0051] 請參考圖1,圖1所示為本發(fā)明較佳實施例的基于特征選擇和決策樹的網(wǎng)絡(luò)異常分 類規(guī)則提取方法流程圖。本發(fā)明提出一種基于特征選擇和決策樹的網(wǎng)絡(luò)異常分類規(guī)則提取 方法,包括下列步驟:
[0052] 步驟A:對數(shù)據(jù)庫中的特征數(shù)據(jù)進行預(yù)處理,初始化參數(shù),產(chǎn)生初始解;
[0053] 步驟B:使用遺傳算法進行參數(shù)優(yōu)化,選擇具有最好測試準(zhǔn)確性的特征;
[0054] 步驟C:使用決策樹算法進行構(gòu)造決策規(guī)則;
[0055] 步驟D:評估所述決策規(guī)則的準(zhǔn)確率;
[0056] 步驟E:判斷是否達到終止條件;
[0057] 步驟F:當(dāng)未達到終止條件時,返回步驟B繼續(xù)執(zhí)行;
[0058]步驟G:當(dāng)達到終止條件時,輸出異常發(fā)現(xiàn)決策規(guī)則、準(zhǔn)確率和選擇的規(guī)則。
[0059] 再請參考圖2,圖2所示為本發(fā)明較佳實施例的網(wǎng)絡(luò)異常檢測特征數(shù)據(jù)庫中的特征 及類型示意圖。根據(jù)本發(fā)明較佳實施例,所述數(shù)據(jù)庫中的特征種類為41個,每個特征取值的 數(shù)據(jù)類型為連續(xù)性或離散型取值。
[0060] 在網(wǎng)絡(luò)異常檢測中,較多的屬性(特征)增加了數(shù)據(jù)分類中的維數(shù),甚至造成"維數(shù) 災(zāi)難"問題。因此首先需要通過特征選擇進行降維,這里我們選擇遺傳算法GA,因為GA可以 較快的得到全局最優(yōu)解。
[0061 ]所述使用遺傳算法進行特征選擇的步驟包括:
[0062]步驟1:在數(shù)據(jù)庫中,選擇所有發(fā)生異常的記錄,并對這些記錄進行編碼,將特征編 碼成基因;
[0063] 步驟2:設(shè)置適應(yīng)度函數(shù),通過適應(yīng)度函數(shù)來評估基因?qū)δ硞€分類的貢獻;
[0064] 步驟3:對數(shù)據(jù)庫中的每個記錄編碼形成具有Μ個個體的初始群體P。,設(shè)置進化代 數(shù)計數(shù)器c = 〇和最大進化代數(shù)G,根據(jù)步驟20設(shè)置的適應(yīng)度函數(shù)計算每個個體的適應(yīng)度函 數(shù);
[0065] 步驟4:選擇操作,將初始群體P。中的個體按照適應(yīng)度函數(shù)從大到小進行排序,選 擇前