999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于集成深度森林的入侵檢測方法

2020-03-19 12:24:50丁龍斌伍忠東蘇佳麗
計算機工程 2020年3期
關鍵詞:分類特征

丁龍斌,伍忠東,蘇佳麗

(蘭州交通大學 電子與信息工程學院,蘭州 730070)

0 概述

入侵檢測是網絡安全技術的重要組成部分,其通過對網絡上的各種信息進行收集和分析來檢測各種入侵行為。隨著網絡的普及和網速的提升,網絡攻擊行為日益增多,攻擊方法不斷更新,傳統的智能化檢測技術難以取得期望的成效[1]。

近年來,鑒于深度學習在任務分類、回歸學習等方面的優越性能[2],研究人員提出了多種基于深度學習的入侵檢測算法。傳統的深度模型多是全連接網絡,當網絡較深時,存在參數多、耗時長、易過擬合等缺點。基于卷積神經網絡(Convolutional Neural Network,CNN)的入侵檢測方法與SVM、決策樹、k-近鄰等傳統機器學習算法相比,在性能上取得了顯著的提升。CNN的鏈接和參數較少,易于訓練,其泛化能力較好并且能夠提取更深層的細微特征[3-4]。然而,CNN在實際應用中需要大量帶有標簽的數據,使工作量大幅增加,同時,CNN在處理高維數據時,需要使用高維卷積核進行卷積運算,計算復雜度高,耗時長[5-6]。此外,雖然深度神經網絡的參數比傳統深度模型少,但是仍有許多超參數(如節點數、層數、學習效率等),需要花費大量時間進行調試。

集成學習通過不同算法的組合,將傳統的智能算法或者深度學習算法設計為多個弱分類器,然后統籌分類器群的分類策略,以改善算法的性能,集成學習具有穩健性強、容錯率高等優點[7]。決策樹(Decision Tree,DT)是集成學習常用的基分類器,其不依賴于線性或非線性分類,只關心數據樣本之間的信息增益,這一特點使其在分類問題上具有天然優勢。隨機森林(Random Forests,RF)是決策樹的集成學習方法,其繼承了決策樹的分類優勢和高容錯的特點,在大量分類回歸問題中具有比SVM、k-近鄰等傳統深度學習算法更加優異的表現。然而,集成學習在提高魯棒性和準確率的同時,并不能挖掘數據中更深層次的抽象信息,這也是限制其性能的因素之一。

本文針對CNN入侵檢測算法復雜度高、耗時長的缺點,提出一種基于集成深度森林(Ensemble Deep Forests,EDF)的入侵檢測算法。綜合CNN表征學習的優勢和傳統集成學習高容錯的特點,在類似于CNN的級聯模型中引入收斂條件,使其能夠根據復雜度自適應地調整模型的深度。同時,使用森林層代替卷積層和全連接層,以簡化模型結構,降低計算復雜度。

1 深度森林

1.1 決策樹

決策樹是通過分析對象屬性和對象類別的關系而建立的樹狀圖,其分支代表預測方向,葉子節點表示最終預測結果[8]。決策樹是一種典型的解釋型算法,可以根據不同的對象類別將數據分為不同的類,每個類中的數據都具有某種同一性[9]。決策樹的分類準確性可以用信息增益或基尼指數衡量,為獲取每個決策的最大信息增益,定義決策樹的目標函數,如式(1)所示:

(1)

其中,f為數據特征,Dp和Dj分別為父節點和第j個子節點,I為不純性度量,Np為父節點的樣本總數,Nj為第j個子節點的樣本數目。為了計算簡便并減少搜索空間,決策樹一般使用二分樹,此時父節點分出2個子節點Dleft和Dright,代入式(1)即可得到二分決策樹的目標函數,如式(2)所示:

(2)

其中,I(Dleft)和I(Dright)分別為左右節點的不純性度量,Nleft和Nright為左右節點的樣本數量。不純性度量是評估分裂節點前后信息增益的參數,可以由信息熵函數得出,如式(3)所示:

(3)

其中,p(i|t)表示節點t中樣本類別為c的概率。熵函數定義了樹中樣本與類別的相關信息增益,增益越大表示樣本屬于該類別的概率越高,因此,優化熵的最大值即可得到最優決策。由式(3)可知,在樣本類型確定即概率為1時,信息熵為0,而在均勻分布,即概率為50%時,信息熵取最大值1,表明熵策略盡可能地最大化決策樹中的互信息。

在決策樹算法中,首先遍歷每個特征屬性,并將熵增益最大的屬性作為子節點的劃分依據,然后對子節點進行重復迭代,直到分裂出的節點唯一。決策樹算法如算法1所示[10]。

算法1決策樹算法

輸入數據樣本集D,屬性集A

1.While True:

2.TreeGenerate(D,A):

3.生成節點node

4.If D中樣本全屬于同一類別C:

5.將node標記為C類葉節點

6.Return

7.If 屬性集A為空或D中所有樣本屬性值相同:

8.將node標記為最多類

9.Return

10.從A中選取最佳劃分屬性a*

11.For a in a*:

12.為node生成一個分支,令Dv表示D中屬性為a*的a的集合

13.If Dv為空:

14.Continue

15.Else:

16.TreeGenerate(Dv,A(〗a*})

1.2 隨機森林

集成學習通過合并弱分類器,得到分類性能更加優越和穩健的強分類器,從而有效減小過擬合,提升分類器準確率。集成學習分類算法的組合方式有2種,分別為Bagging和Boosting。Bagging是在總樣本中隨機抽取不同的樣本來訓練各個分類器,且可通過并行方式進行訓練。Boosting將全部的樣本送入每個分類器,在分類器輸出后依據錯判率更新樣本的權值,然后通過擬合權值殘差得到最終模型。

RF是一種Bagging集成學習方式,在分類回歸領域有著廣泛的應用[11]。RF通過Bagging方式生成多組決策樹,從而得到不同的分類策略,然后執行判決算法(如取預測值期望),以達到綜合所有分類策略、改善分類器性能的目的。圖1給出RF決策方法的示意圖,假設回歸的輸出向量長度為3,隨機森林首先訓練n組決策樹得出每組的預測概率,然后對n組輸出概率求均值,得到隨機森林的最終輸出[12]。

圖1 隨機森林決策方法Fig.1 Decision method of random forests

1.3 集成深度森林

集成深度森林利用多個RF構成一個森林層,然后通過級聯形成層間連接。每一層的輸出類向量為一組預測值,使用測試集判定該層模型是否滿足收斂條件(如準確率、循環次數等),若不滿足則將輸出的類向量與初始訓練數據相連接,以此作為下一層的輸入[13]。深度森林(Deep Forests,DF)模型如圖2所示,samples為預處理后的數據向量,輸入第1個森林層后,4個森林分別估計所有樣本的類別概率,然后將其作為輸出向量與原始樣本數據進行拼接,并作為下一層的輸入向量,直至達到預設的循環次數或收斂條件為止。最后,對輸出層的向量求均值,將輸出概率最大的類別作為預測的樣本類別。

圖2 DF級聯模型示意圖Fig.2 Schematic diagram of DF cascade model

類比CNN的網絡結構、特征表示方法和表征學習方法,EDF使用RF層代替CNN的隱藏層和全連接層,構建深度森林網絡EDF[14]。由于RF的超參數少且對參數設置不敏感,其在小規模數據和大規模數據上都有良好的性能,不需要復雜的卷積運算,在實驗過程中,其訓練時間、調參難度和測試集識別率與深度神經網絡相比極具競爭力。

本文將DF應用到入侵檢測中,提出EDF算法。該算法使用2個特殊的森林構建森林層,使用Bagging集成方式擴展森林層,使用ending-to-ending的方法合并上層輸入與下層輸出,并將其作為新的輸入數據,然后分別使用交叉驗證和袋外估計方法預測每一層的輸出概率,EDF學習流程如圖3所示。由圖3可知,每一層使用4個森林節點,其中包含RF和極限樹(Extra Trees,ET)森林2種森林模型。DF模型的深度可以由收斂條件控制,而深度神經網絡需要人為設置深度。由于DF模型的深度自適應,因此EDF算法適用于不同規模的數據集。

圖3 EDF算法流程Fig.3 Procedure of EDF algorithm

2 實驗結果與分析

本文實驗過程包括數據預處理、分類器算法設計、結果分析3個部分。實驗平臺為CPU Intel i7-7700Q,Python3.6.5。

2.1 數據預處理

本文實驗采用NLP-KDD入侵檢測數據集,該數據集包含KDDtrain+、KDDtest+、KDDtrain-20percent和KDDtest-21等多組數據,其中KDDtrain+含有125 793條數據,按攻擊類型可分為5類,按攻擊方式可分為23種,共41種特征。KDDtrian-20percent為KDDtrain+的子集,包含25 192條數據[15-17]。圖4給出KDDtrain+和KDDtest+中樣本攻擊類型的分布情況[12]。

圖4 KDDtrain+和KDDtest+的數據類分布Fig.4 Data class distribution of KDDtrain+ and KDDtest+

數據預處理的目的是去除數據噪聲、降低數據維度、減少訓練時間以及提高運算性能,主要步驟包括畸形樣本處理、數據分類與序數數據編碼、數據尺度縮放以及特征選擇與提取[18]。

數據集中包含3個分類數據特征,分別為service、flag和protocol_type。其中,service有72種標識,flag有11種標識,protocol_type有3種標識。對這3條特征標識進行二進制化(LabelBinarizer)處理,形成83條新的特征并與其他數據特征連接,得到122種特征的無標簽數據集。

數據尺度縮放方法包含對數尺度變換、標準化、歸一化和中心化等,本文選擇數據標準化方法,具體如式(4)~式(6)所示:

(4)

(5)

(6)

其中,μf、σf為一組特征數據中的均值和標準差,fi為特征中的第i組數據。

特征選擇和提取的目的是去除冗余無關特征,從原始特征空間中選取最優特征子集,使其擁有比原始特征空間更好的分類性能并縮短數據處理所用的時間。特征選擇和提取的主要方法包括高維空間映射(例如核函數)、主成分分析(Principal Component Analysis,PCA)、線性判別分析(Linear Discriminant Analysis,LDA)等。其中,LDA屬于監督學習,需要用到標簽數據,而入侵方式與協議類型、所耗費時間線性相關,不存在高維度關系,因此不需要高維空間分析,PCA屬于無監督學習,可以達到降低維度和信息降噪的目的[19-20]。

本文使用PCA將高維數據映射到另一個低維子空間中,子空間的長軸(即主成分)代表數據變化率最高的特征。此外,PCA可以反映特征的重要程度和相關程度,進而達到特征選擇的目的。具體過程如算法2所示,其中m表示選擇的特征數量[13]。

算法2PCA算法

1)數據特征x1,x2,…,xn標準化并中心化。

2)計算特征的協方差矩陣Σ。

3)解協方差矩陣得到特征向量v1,v2,…,vn和特征值λ1,λ2…,λn。

4)選取前m個最大特征值和其對應的特征向量。

5)由m個特征向量構建映射矩陣W。

6)使用映射矩陣W將原數據映射至m維特征子空間。

在數據分類過程中,當類別較少而使用的特征較多或者模型過于復雜時,會出現過擬合現象,具體表現為在訓練集上準確率高而在測試集準確率低。為減少過擬合的影響,本文使用基于相關性的特征選擇(Correlation-based Feature Selection,CFS)算法估計每個特征對標簽的重要程度,從而確定最優特征數,圖5給出重要程度最高的25種特征的重要度。在圖5中,25組特征重要度之和為90.27%,而其特征數只占總數的20.22%,因此選擇少量最重要的特征作為訓練集,可在不影響分類性能的同時大幅減少計算量。

圖5 特征重要度分布Fig.5 Distribution of feature importance

本文實驗使用grid-search方法在(1,56)中確定最優特征數(前56組特征重要度之和達99.90%),最終確定的最優特征數為15,入侵檢測框架如圖6所示。

圖6 EDF入侵檢測方法框架Fig.6 Framework of EDF intrusion detection method

2.2 分類器算法設計

將EDF與CNN進行對比,在實驗平臺、特征數量相同的條件下,分別構建有3層隱藏層的CNN模型和有3層Forest層的EDF模型,優化2種模型的參數,使其達到最優。使用上述2種模型對數據集進行分類預測,以評估模型性能,每種模型在相同條件下進行10次實驗,取平均值作為最終結果。

2.2.1 實驗方案

本文的實驗方案如下:

方案1在KDDtrain+和KDDtest+數據集上比較EDF和CNN的性能,并與其他分類器[12,14-15]進行比較。評估指標為在Normal、Anormaly標簽下的二分類準確率和模型訓練時間。

方案2在KDDtrain+和KDDtest+數據集去除畸形樣本后比較EDF和CNN的性能,評估指標為數據集總體的分類(4類攻擊和Normal類)的準確率(accuracy)、精確率(precision)、召回率(recall)和攻擊類的F1值,以及在5種樣本類型上各自的準確率和模型訓練時間。

2.2.2 參數設置

EDF中每層的森林均使用Grid Search方法搜尋最優參數,表1給出最終的參數設置。CNN算法使用3層卷積網絡,每層參數配置如表2所示。

表1 EDF算法參數配置Table 1 Parameter configuration of EDF algorithm

表2 CNN算法參數配置Table 2 Parameter configuration of CNN algorithm

CNN多分類任務的激活函數為Softmax,二分類任務使用sigmoid算法,并通過Adam算法進行優化,利用交叉熵估計損失。其中,Adam算法的學習效率設為0.000 1。CNN模型的迭代輪數(epoch)設置為40,批量梯度更新數量(batch)設為經典值100。

2.2.3 評價標準

本文采用分類準確率、精確率、召回率和攻擊類的F1值作為評價指標,具體如式(7)~式(10)所示:

(7)

(8)

(9)

(10)

其中,NTP表示模型預測正確的攻擊樣本數,NFP表示預測為攻擊類而實際為正常類的樣本數,NTN表示模型預測正確的正常類樣本數,NFN表示將攻擊類預測為正常類的樣本數。

2.3 結果分析

2.3.1 方案1結果分析

表3給出2種算法的入侵檢測性能對比。可以看出,EDF算法的Normal類分類準確率比CNN算法高5.16%,而在Anormaly類上比CNN算法低2.46%。這是因為EDF算法在預測負向類(Normal)的樣本時誤報率較低,而CNN算法在預測正向類(Anormaly)時漏報率低。總體而言,兩者的準確率和F1值相差不大,而在訓練時間方面,EDF算法比CNN算法少74.86 s,具有明顯優勢。

表3 2種算法的入侵檢測性能對比Table 3 Comparison of intrusion detection performancebetween two algorithms

表4給出EDF算法與其他入侵檢測算法的檢測準確率對比。其中,RF算法使用weka的經典參數進行實驗,其他算法的數據來自文獻[12,14-15]。可以看出,EDF算法和CNN算法的檢測準確率優于樸素貝葉斯(NB)、多層感知機(MLP)和支持向量機(SVM)等傳統機器學習算法,但比J48決策樹(J48)、樸素貝葉斯樹(NBTree)和隨機樹(RandomTree)算法低2%左右。這是因為J48、NBTree和RandomTree算法都只有單一的特征表征,同種算法每次訓練得到的分類數據有巨大差異,導致其F1值較小,沒有獲得完全的數據特征,在實際應用中穩定性較差。圖7給出3種算法的F1值對比。可以看出,從決策樹算法到隨機森林算法,再到EDF算法,隨著算法集成度的提高,其F1值不斷上升,其中,EDF算法的F1值分別比決策樹算法和隨機森林算法高2%和1%。

表4 KDDtest+上的檢測準確率對比Table 4 Comparison of detection accuracy on KDDtest+

圖7 3種算法的F1值對比Fig.7 Comparison of F1 values between three algorithms

2.3.2 方案2結果分析

表5給出實驗方案2的預測準確率和模型訓練時間對比。

表5 2種算法在五分類任務的檢測性能對比Table 5 Comparison of detection performance oftwo algorithms in five classification tasks

可以看出,在Normal、DoS和Probe類型上的預測準確率非常接近,而在R2L和U2R類型上的準確率相差較大且總體不高。這是因為在訓練集中R2L和U2R的樣本數量非常少,分別只有995和52,只占總體樣本數量的0.79%和0.04%,所以算法很難學習得到這2類數據的特征,很容易被誤分為具有大量樣本的其他類。同時,EDF算法比CNN算法的訓練時間少52 s,約節省了55.5%的耗時,表明EDF算法在降低運算復雜度方面具有明顯優勢。

另外,比較實驗方案1和方案2的訓練時間可知,EDF算法的訓練時間增幅較大,而CNN算法幾乎不變,表明EDF算法的運算復雜度受多分類的影響較大。這是因為在訓練時,每個EDF算法的網絡節點都受多分類運算的影響,而CNN算法只有最后的全連接層和輸出層進行多分類運算,隱藏層的特征映射計算幾乎不變。但是,CNN算法在進行多分類任務時為了保持訓練的精確度,需要更多卷積層來提取細微特征,每層的濾波器數量保持不變或增加,其時間復雜度服從O(F2·K2),其中,F為特征數量,K為卷積核尺寸,而EDF算法的時間復雜度與層數線性相關。綜上所述,與CNN算法相比,EDF入侵檢測算法在保持檢測準確率的同時,降低了時間復雜度,提高了檢測效率。

3 結束語

本文提出一種基于集成深度森林EDF的入侵檢測方法。將DF應用到入侵檢測中,利用2個特殊的森林構建森林層,使用Bagging集成方式擴展森林層,通過ending-to-ending方法合并上層輸入與下層輸出,并將其作為新的輸入數據。在此基礎上,分別使用交叉驗證和袋外估計方法預測每一層的輸出概率。實驗結果表明,該算法的入侵檢測率與CNN算法相近,但其訓練速度遠高于CNN算法,能更好地解決當前網絡環境中數據量大而導致處理不及時、不準確的問題。下一步將解決如何確定最優森林節點個數的問題,從而改進EDF算法,同時提高該算法在樣本不平衡數據集上的入侵檢測性能。

猜你喜歡
分類特征
抓住特征巧觀察
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
新型冠狀病毒及其流行病學特征認識
如何表達“特征”
不忠誠的四個特征
當代陜西(2019年10期)2019-06-03 10:12:04
分類討論求坐標
數據分析中的分類討論
教你一招:數的分類
抓住特征巧觀察
主站蜘蛛池模板: 91美女视频在线观看| 99久久性生片| 国产精品一区在线麻豆| 91福利片| 国产成人乱码一区二区三区在线| 免费va国产在线观看| 亚洲精品在线影院| 一级毛片视频免费| 韩国v欧美v亚洲v日本v| 亚洲免费三区| 亚洲伦理一区二区| 亚洲三级a| 成人一级黄色毛片| 亚洲精品天堂在线观看| 国产乱子伦手机在线| 色综合手机在线| 国产精品久久自在自2021| 91福利免费| 精品国产网| 国产精品大尺度尺度视频| 91精品国产一区| 米奇精品一区二区三区| 亚洲成年网站在线观看| 性欧美在线| 亚洲小视频网站| 制服丝袜无码每日更新| 国产精品女主播| 久久精品国产亚洲麻豆| 91精品综合| 欧美精品H在线播放| 素人激情视频福利| 青草午夜精品视频在线观看| 欧美精品成人| 中文字幕在线永久在线视频2020| 日本久久久久久免费网络| 丝袜高跟美脚国产1区| 亚洲婷婷丁香| 国产国拍精品视频免费看| 国产成人亚洲精品无码电影| 日韩毛片免费| 在线国产91| 女人18毛片久久| 国产精品九九视频| 日韩天堂在线观看| 免费jizz在线播放| 自拍偷拍欧美| 无码国内精品人妻少妇蜜桃视频| 国产va在线观看| 在线国产综合一区二区三区| 538国产在线| 国产精品手机视频一区二区| 国产亚洲美日韩AV中文字幕无码成人| 国产精品视频999| 国产一区免费在线观看| 免费人欧美成又黄又爽的视频| 女人一级毛片| 制服丝袜无码每日更新| 亚洲人成网线在线播放va| 尤物成AV人片在线观看| 日韩在线中文| 色综合天天综合中文网| 真实国产乱子伦视频| 国产麻豆永久视频| 国产毛片高清一级国语| 国产剧情无码视频在线观看| 免费毛片a| 国产色爱av资源综合区| 亚洲美女视频一区| 国产69精品久久久久孕妇大杂乱 | 国产精品亚洲а∨天堂免下载| 在线看片免费人成视久网下载| 久热99这里只有精品视频6| 丁香婷婷激情综合激情| 欧美激情综合| 玩两个丰满老熟女久久网| 2020久久国产综合精品swag| 9cao视频精品| 国产视频只有无码精品| 精品午夜国产福利观看| 国产成人在线小视频| 91在线丝袜| 国产一区三区二区中文在线|