譚敏生 楊帥創(chuàng) 丁 琳 彭 敏
(南華大學(xué)計(jì)算機(jī)學(xué)院 湖南 衡陽(yáng) 421001)
據(jù)統(tǒng)計(jì)2018年全球互聯(lián)網(wǎng)用戶(hù)突破40億,數(shù)據(jù)的傳輸呈現(xiàn)爆發(fā)式增長(zhǎng)。傳統(tǒng)的入侵檢測(cè)技術(shù)(Intrusion Detection System,IDS)已不能滿(mǎn)足人們的需求,并日益顯露弊端。因此,如何更好地提高網(wǎng)絡(luò)的有效防御已成為當(dāng)前網(wǎng)絡(luò)安全技術(shù)的研究熱點(diǎn)。
近階段的入侵檢測(cè)技術(shù)主要是將機(jī)器學(xué)習(xí)運(yùn)用于IDS中[1]。所采用的機(jī)器學(xué)習(xí)算法主要有支持向量機(jī)(SVM)[2]、神經(jīng)網(wǎng)絡(luò)[3]、卷積神經(jīng)網(wǎng)絡(luò)[4]。在此基礎(chǔ)上為進(jìn)一步提高檢測(cè)系統(tǒng)的檢測(cè)性能[5],機(jī)器學(xué)習(xí)融合群體智能算法的檢測(cè)系統(tǒng)也逐漸被研究者提起。例如:利用蟻群算法優(yōu)化SVM參數(shù)[6],混沌粒子群算法結(jié)合最小二乘支持向量機(jī)的混合算法[7],以及遺傳算法優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的方法[8-9]。針對(duì)原始網(wǎng)絡(luò)數(shù)據(jù)包含大量冗余和無(wú)用特征,易出現(xiàn)“維數(shù)災(zāi)難”[10]降低入侵檢測(cè)效率,群體智能算法融合傳統(tǒng)機(jī)器學(xué)習(xí)存在入侵檢測(cè)準(zhǔn)確率低,卷積神經(jīng)網(wǎng)絡(luò)(CNN)的網(wǎng)絡(luò)結(jié)構(gòu)及初始參數(shù)對(duì)其性能影響較大的問(wèn)題,本文提出結(jié)合隨機(jī)森林(RF)和粒子群(PSO)優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)和初始參數(shù)的方法構(gòu)建入侵檢測(cè)模型。利用隨機(jī)森林對(duì)獨(dú)熱編碼后的數(shù)據(jù)進(jìn)行特征度量。在不影響分類(lèi)性能的基礎(chǔ)上,保留主要特征信息,實(shí)現(xiàn)數(shù)據(jù)的最優(yōu)壓縮[11-12]。以此來(lái)縮減建立模型時(shí)數(shù)據(jù)的特征數(shù),降低模型復(fù)雜度。采用粒子群優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)和初始參數(shù),使卷積神經(jīng)網(wǎng)絡(luò)在非經(jīng)驗(yàn)指導(dǎo)下自主選擇[13]最佳網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)和初始權(quán)重。實(shí)驗(yàn)證明,相比之下,本文方法有效地提升了分類(lèi)的準(zhǔn)確率和精確率,降低了誤報(bào)率。
隨機(jī)森林(RF)是由一組決策樹(shù)構(gòu)成的集成機(jī)器學(xué)習(xí)算法。運(yùn)用其魯棒性和分類(lèi)準(zhǔn)確性特點(diǎn),可對(duì)數(shù)據(jù)特征進(jìn)行篩選。使用隨機(jī)森林進(jìn)行特征選擇的兩個(gè)基本指標(biāo)分別是袋外數(shù)據(jù)誤差和基尼指數(shù)。
(1)
隨機(jī)森林使用基尼指數(shù)作為特征分割效果度量指標(biāo),其原則是選擇基尼指數(shù)小的特征,其值越小得到的分割效果就越好。主要計(jì)算過(guò)程是:根據(jù)所給節(jié)點(diǎn)t可計(jì)算出當(dāng)前節(jié)點(diǎn)的基尼指數(shù),然后選擇某一個(gè)特征構(gòu)建分離節(jié)點(diǎn),劃分后的兩個(gè)子集也可計(jì)算出各自的基尼指數(shù),計(jì)算父節(jié)點(diǎn)與子節(jié)點(diǎn)的基尼指數(shù)差值作為當(dāng)前特征的重要性度量。其公式如下:
(2)
式中:Q為目標(biāo)變量的樣本個(gè)數(shù);p(k/t)為節(jié)點(diǎn)t中目標(biāo)變量為第k類(lèi)的條件概率。使用式(2)計(jì)算所有決策樹(shù)的基尼指數(shù),對(duì)所有特征的重要性進(jìn)行排名,作為本文訓(xùn)練模型的輸入數(shù)據(jù)。
粒子群優(yōu)化算法(PSO)最初是由Eberhart和Kennedy于1995年提出的群體智能啟發(fā)式全局算法。該算法是模擬鳥(niǎo)群在飛行中覓食的社會(huì)行為,通過(guò)群體協(xié)作改進(jìn)目標(biāo)解來(lái)優(yōu)化問(wèn)題的計(jì)算方法。粒子群算法與其他優(yōu)化方法相比具有的明顯特色是所需調(diào)整的參數(shù)少、收斂速度快、搜索范圍廣。其算法原理如下:
假設(shè)一個(gè)具有m個(gè)粒子的種群在一個(gè)D維空間進(jìn)行搜索,每個(gè)粒子都具有記憶功能,存儲(chǔ)所搜尋到的最佳位置表示為pbest,種群所搜尋的最好位置表示為gbest。每個(gè)粒子都根據(jù)搜索到的pbest和gbest調(diào)節(jié)自身速度vd和xd位置,以實(shí)現(xiàn)搜尋整個(gè)區(qū)域空間。通常位置變化范圍限定在[Xmin,d,Xmax,d],速度變化范圍限定在[-Vmax,d,Vmax,d]。第i個(gè)粒子在D維中的速度和位置更新公式為:
(3)
(4)
卷積神經(jīng)網(wǎng)絡(luò)起始于20世紀(jì)70年代,基本特征包含稀疏連接、權(quán)重共享和降采樣。其中LeNet-5是1998年LeCun等提出的迄今為止最經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。其網(wǎng)絡(luò)模型結(jié)構(gòu)如圖1所示。
圖1 LeNet-5網(wǎng)絡(luò)結(jié)構(gòu)
卷積神經(jīng)網(wǎng)絡(luò)的卷積層主要通過(guò)上一層的特征向量使用激活函數(shù)與卷積核進(jìn)行卷積來(lái)進(jìn)行特征提取。假設(shè)yi為神經(jīng)元的輸出,xi為輸入向量。對(duì)于輸入向量與輸出向量之間對(duì)應(yīng)關(guān)系可表示為:
(5)
式中:n為輸入到神經(jīng)元j的向量總數(shù);*表示為卷積;wij為輸入向量xi與神經(jīng)元j連接的權(quán)重參數(shù);bj為偏置參數(shù);f()是激活函數(shù)。
本文卷積神經(jīng)網(wǎng)絡(luò)使用池化類(lèi)型為Max-pooling,主要用于降采樣、全連接層整合卷積層或者池化層中具有類(lèi)別區(qū)分性的局部信息[14]。
本文采用結(jié)合隨機(jī)森林(RF)的粒子群(PSO)優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)和初始參數(shù)的融合算法構(gòu)建入侵檢測(cè)模型。主要使用隨機(jī)森林對(duì)原始數(shù)據(jù)進(jìn)行特征度量以減少數(shù)據(jù)維度和對(duì)硬件的依賴(lài)性;運(yùn)用粒子群算法的全局尋優(yōu)能力強(qiáng)、參數(shù)少等特點(diǎn)來(lái)優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)及初始權(quán)重,有效地避免了CNN使用梯度下降算法使訓(xùn)練落入局部最優(yōu),影響模型性能。
傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)結(jié)合權(quán)值共享與局部區(qū)域連接技術(shù),降低了網(wǎng)絡(luò)模型的復(fù)雜度,減少了參數(shù)規(guī)模。但是,在研究過(guò)程中,傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)人工選取的濾波器大小、濾波器個(gè)數(shù)、激活函數(shù)和學(xué)習(xí)率等參數(shù)對(duì)卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)準(zhǔn)確率有較大影響。而且,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的初始權(quán)重在使用最陡梯度下降算法訓(xùn)練過(guò)程中容易陷入局部最優(yōu),對(duì)學(xué)習(xí)性能產(chǎn)生較大影響。所以,本文提出利用具有參數(shù)少、收斂速度快、搜索范圍廣等特點(diǎn)的粒子群算法優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)及初始參數(shù)。每一個(gè)粒子就是一種CNN網(wǎng)絡(luò)結(jié)構(gòu),其原理為:在卷積神經(jīng)網(wǎng)絡(luò)計(jì)算出期望值與實(shí)際值之間的誤差后,每個(gè)粒子都將CNN網(wǎng)絡(luò)的濾波器大小、濾波器個(gè)數(shù)、激活函數(shù)、學(xué)習(xí)率、初始權(quán)重、初始偏置作為粒子維度。以卷積神經(jīng)網(wǎng)絡(luò)訓(xùn)練數(shù)據(jù)得到的測(cè)試誤差作為適應(yīng)度函數(shù)值,經(jīng)過(guò)粒子群迭代選取訓(xùn)練過(guò)程最優(yōu)模型即為最終測(cè)試模型。圖2為PSO優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)及初始參數(shù)算法流程。
圖2 PSO-CNN算法流程
PSO優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)和初始參數(shù)的融合算法過(guò)程如下:
(1) 初始化系統(tǒng)參數(shù),如粒子群算法的迭代次數(shù)、學(xué)習(xí)因子、種群規(guī)模、每個(gè)粒子的位置向量及速度向量、常系數(shù)c1和c2、慣性權(quán)值、每個(gè)粒子個(gè)體極值與全局最優(yōu)值及其他參數(shù)[15]。
(2) 設(shè)置卷積神經(jīng)網(wǎng)絡(luò)需優(yōu)化的超參數(shù)取值范圍,并作為各粒子維度的速度和位置的更新區(qū)間,其中粒子位置作為網(wǎng)絡(luò)參數(shù)取值。隨機(jī)生成包括位置和速度的種群粒子作為PSO粒子初始化。
(3) 將初始化粒子作為CNN網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)式(3)和式(4)更新粒子速度和位置,通過(guò)訓(xùn)練CNN得到CNN測(cè)試誤差作為粒子適應(yīng)度函數(shù)值,如果得到的適應(yīng)度值優(yōu)于個(gè)體最佳值,則更新個(gè)體最佳值;若得到的粒子適應(yīng)度值優(yōu)于群體極值,則更新群體極值;若群體極值滿(mǎn)足閾值判定或者迭代次數(shù)結(jié)束,所得的群體極值即為所求最優(yōu)的CNN網(wǎng)絡(luò)結(jié)構(gòu)。否則,返回步驟(3)。
本文依據(jù)CIDF(Common Intrusion Detection Framework)及IDWG(Intrusion Detection Working Group)兩個(gè)組織的入侵檢測(cè)系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)[16]構(gòu)建基于隨機(jī)森林與粒子群優(yōu)化CNN結(jié)構(gòu)的入侵檢測(cè)模型。該模型主要包括原始數(shù)據(jù)、數(shù)據(jù)規(guī)范化、PSO-CNN模塊、響應(yīng)模塊4個(gè)模塊,其模型結(jié)構(gòu)如圖3所示。
圖3 RF-PSO-CNN入侵檢測(cè)結(jié)構(gòu)
PSO-CNN模塊主要分為PSO-CNN入侵檢測(cè)模型和PSO-CNN檢測(cè)代理兩部分,PSO-CNN入侵檢測(cè)模型部分功能為輸入規(guī)范化數(shù)據(jù)進(jìn)行模型訓(xùn)練得到最優(yōu)分組檢測(cè)模型,PSO-CNN檢測(cè)代理部分功能為對(duì)數(shù)據(jù)進(jìn)行分析并完成檢測(cè)階段的數(shù)據(jù)檢測(cè)與處理。
結(jié)合隨機(jī)森林(RF)的粒子群(PSO)優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)和初始參數(shù)的融合算法構(gòu)建入侵檢測(cè)模型過(guò)程如下:
(1) 原始數(shù)據(jù):本實(shí)驗(yàn)數(shù)據(jù)集采用KDD-CUP99入侵檢測(cè)數(shù)據(jù)集。
(2) 數(shù)據(jù)規(guī)范化:本文對(duì)原始數(shù)據(jù)集進(jìn)行one-hot編碼后,使用隨機(jī)森林特征度量標(biāo)準(zhǔn)篩選顯著特征,以降低數(shù)據(jù)特征數(shù)和計(jì)算復(fù)雜度。并對(duì)選擇出的子特征數(shù)據(jù)集進(jìn)行歸一化處理,以提高網(wǎng)絡(luò)訓(xùn)練準(zhǔn)確率。
(3) PSO-CNN模塊:CNN使用PSO優(yōu)化后的最優(yōu)參數(shù)及初始權(quán)重來(lái)進(jìn)行訓(xùn)練樣本并建造入侵檢測(cè)模型,使用規(guī)范化后的測(cè)試數(shù)據(jù)對(duì)最優(yōu)模型分類(lèi)器進(jìn)行驗(yàn)證分析。
(4) 響應(yīng)模塊:本模塊主要用以接收PSO-CNN模塊的檢測(cè)結(jié)果,并對(duì)入侵行為進(jìn)行響應(yīng)。
本文采用KDD-CUP99中10%的網(wǎng)絡(luò)入侵檢測(cè)數(shù)據(jù)子集,該數(shù)據(jù)集的測(cè)試數(shù)據(jù)包含了一些未出現(xiàn)在訓(xùn)練數(shù)據(jù)中的攻擊類(lèi)型,使得檢測(cè)更具有現(xiàn)實(shí)性。整個(gè)數(shù)據(jù)子集中入侵行為細(xì)分為39類(lèi),又可分為遠(yuǎn)程攻擊(R2L)、獲取根權(quán)限攻擊(U2R)、拒絕服務(wù)攻擊(DOS)、探測(cè)攻擊(Probe)四種類(lèi)型。該數(shù)據(jù)集包含訓(xùn)練樣本數(shù)494 021條,測(cè)試樣本數(shù)311 029條。實(shí)驗(yàn)數(shù)據(jù)類(lèi)別、數(shù)量見(jiàn)表1。
表1 實(shí)驗(yàn)數(shù)據(jù)的類(lèi)別與數(shù)量
KDD-CUP99數(shù)據(jù)集的每條記錄都有41維特征和1個(gè)被標(biāo)注為正?;蛘弋惓5臉?biāo)簽特征。本文使用Python對(duì)數(shù)據(jù)進(jìn)行預(yù)處理。具體步驟如下:
(1) 字符型特征數(shù)字化后才能輸入到模型,因此將41維特征中的服務(wù)類(lèi)型特征轉(zhuǎn)化為70維能被計(jì)算機(jī)識(shí)別的二進(jìn)制特征,協(xié)議類(lèi)型特征轉(zhuǎn)換為3維二進(jìn)制特征,狀態(tài)特征轉(zhuǎn)換為11維二進(jìn)制特征。41維特征的數(shù)據(jù)集轉(zhuǎn)換為122維數(shù)據(jù)集。
(2) 將獨(dú)熱編碼后得到的122個(gè)數(shù)字特征,使用隨機(jī)森林進(jìn)行特征重要性度量,獲取32維特征。
(3) 將篩選出的數(shù)值型特征進(jìn)行歸一化,消除特征間的量綱影響,提升模型的收斂速度。使用式(6)將數(shù)據(jù)統(tǒng)一映射到[0,1]區(qū)間上。
(6)
式中:Mmax為特征數(shù)據(jù)中的最大值;Mmin為特征數(shù)據(jù)中最小值;y為要?dú)w一化的特征數(shù)據(jù)。
隨機(jī)森林特征提取思想是由貝爾實(shí)驗(yàn)室提出的一種特征度量方法,主要通過(guò)袋外數(shù)據(jù)誤差和基尼指數(shù)這兩個(gè)基本指標(biāo)實(shí)現(xiàn)特征提取。具體到本文來(lái)講,獨(dú)熱編碼后的特征向量還包含大量冗余和無(wú)用特征,會(huì)造成模型性能變差。為了提取出強(qiáng)相關(guān)性特征,使用隨機(jī)森林進(jìn)行特征提取處理。具體步驟:(1) 計(jì)算符號(hào)特征數(shù)字化后所得到的122維特征的重要性,并按降序排序;(2) 確定要剔除的比例,由于隨機(jī)森林的隨機(jī)性,每次大約產(chǎn)生25~35個(gè)顯著特征,所以本文每次選取前35個(gè)特征;(3) 重復(fù)9次度量,選取特征交集,最終獲取32維特征。
數(shù)據(jù)集經(jīng)上述過(guò)程處理后,隨機(jī)森林算法將無(wú)代表性的特征剔除,所產(chǎn)生的子數(shù)據(jù)集在隨機(jī)森林群投票機(jī)制下,取得了不錯(cuò)的特征相關(guān)性效果。綜上,隨機(jī)森林算法降低了特征維數(shù),減少了特征間的冗余性,并且使得特征可以被自動(dòng)提取。
為了驗(yàn)證本文提出的結(jié)合RF降維的PSO優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)的有效性,本文采用Linux系統(tǒng),使用Python 3.6編寫(xiě)以TensorFlow為后端的深度學(xué)習(xí)框架Keras,該框架邏輯清晰,可快速實(shí)現(xiàn)卷積神經(jīng)網(wǎng)絡(luò)。
本文所述的粒子群算法和卷積神經(jīng)網(wǎng)絡(luò)算法都需要配置一些參數(shù),其中,粒子群算法相關(guān)參數(shù)見(jiàn)表2,卷積神經(jīng)網(wǎng)絡(luò)相關(guān)參數(shù)初始化范圍見(jiàn)表3。
表2 粒子群算法相關(guān)參數(shù)
表3 卷積神經(jīng)網(wǎng)絡(luò)相關(guān)參數(shù)初始化范圍
本文使用卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,其中卷積層數(shù)量為2層,卷積池化類(lèi)型為Max-pooling,全連接層激活函數(shù)類(lèi)型為Sigmoid,每一批次訓(xùn)練的批量大小為1 024,迭代次數(shù)為10次。
首先在經(jīng)RF預(yù)處理過(guò)的KDD-CUP99數(shù)據(jù)集下驗(yàn)證根據(jù)人工經(jīng)驗(yàn)選取的卷積神經(jīng)網(wǎng)絡(luò)參數(shù)在不同的組合方式下對(duì)CNN準(zhǔn)確率的影響,結(jié)果如表4所示。其中:C1代表第一層卷積(30(5)代表30個(gè)5×5的卷積核);C2代表第二層卷積;Acti代表兩層卷積的激活函數(shù);F-Acti代表全連接層的激活函數(shù);α代表學(xué)習(xí)率;Acc代表準(zhǔn)確率。
表4 人工選擇的CNN結(jié)構(gòu)及其識(shí)別率
CNN1與CNN2僅全連接層激活函數(shù)F-Acti不同。在Epoch=1的情況下,CNN1的精確率為42.21%,CNN2的精確率為91.54%,準(zhǔn)確率相差49.33百分點(diǎn)。CNN3和CNN4卷積層不同,同樣在Epoch=1的情況下,CNN3的精確率為90.91%,CNN4的精確率為92.25%,準(zhǔn)確率相差1.34百分點(diǎn)。結(jié)合表4中CNN1-CNN4可知,全連接層的激活函數(shù)在使用ReLU時(shí)效果較差,卷積層中卷積核個(gè)數(shù)及大小對(duì)結(jié)果有一定的影響。綜上,人工經(jīng)驗(yàn)下選取參數(shù)對(duì)精確率有一定的影響。
其次為了確保本文方法與已有方法的對(duì)比實(shí)驗(yàn)的完整有效性,本文實(shí)驗(yàn)評(píng)價(jià)指標(biāo)選擇多次實(shí)驗(yàn)的平均值。并采用準(zhǔn)確率、精確率、誤報(bào)率三項(xiàng)指標(biāo)對(duì)算法模型進(jìn)行評(píng)價(jià)。三項(xiàng)指標(biāo)定義如下:
本文使用數(shù)據(jù)預(yù)處理后的KDD-CUP99數(shù)據(jù)集作為輸入數(shù)據(jù),分別用于多種優(yōu)化算法進(jìn)行對(duì)比,仿真實(shí)驗(yàn)結(jié)果如表5所示。表5中最后一行是未經(jīng)過(guò)任何優(yōu)化的CNN,且輸入數(shù)據(jù)為未經(jīng)過(guò)隨機(jī)森林特征篩選的大維度數(shù)據(jù)集,測(cè)試準(zhǔn)確率、檢測(cè)率較低。RF-CNN使用經(jīng)過(guò)隨機(jī)森林降維后的數(shù)據(jù)集作為CNN的輸入數(shù)據(jù)。RF-PSO-BP用粒子群算法優(yōu)化神經(jīng)網(wǎng)絡(luò),且使用隨機(jī)森林降維后的數(shù)據(jù)作為輸入數(shù)據(jù)。RF-PSO-SVM是基于隨機(jī)森林降維作為輸入數(shù)據(jù)的粒子群方法優(yōu)化SVM參數(shù)。本文方法是結(jié)合RF降維的粒子群算法優(yōu)化卷積神經(jīng)網(wǎng)絡(luò)初始參數(shù)與網(wǎng)絡(luò)結(jié)構(gòu)。
表5 實(shí)驗(yàn)結(jié)果比較(%)
表5中,RF-CNN與CNN使用相同的網(wǎng)絡(luò)結(jié)構(gòu)及初始參數(shù),可以發(fā)現(xiàn)使用隨機(jī)森林降維的數(shù)據(jù)集作為輸入數(shù)據(jù)的CNN較使用傳統(tǒng)數(shù)據(jù)集的CNN在準(zhǔn)確率、檢測(cè)率上有極大提升,在誤報(bào)率上有較大下降,說(shuō)明使用隨機(jī)森林進(jìn)行特征度量的重要性。RF-PSO-BP和RF-PSO-SVM與本文所提結(jié)合RF降維的PSO-CNN相比較,可以看出傳統(tǒng)機(jī)器學(xué)習(xí)融合群體智能算法存在入侵檢測(cè)準(zhǔn)確率低的問(wèn)題。RF-CNN的識(shí)別率在此次四個(gè)對(duì)比實(shí)驗(yàn)中僅次于本文方法,但因其網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)為人工經(jīng)驗(yàn)選取,對(duì)其性能影響較大。本文方法使用群體智能算法PSO自動(dòng)選取CNN最優(yōu)網(wǎng)絡(luò)結(jié)構(gòu),測(cè)試準(zhǔn)確率上升至94.07%。相比于其他四者在分類(lèi)上均有較好的效果;同時(shí)檢測(cè)率上升至92.95%,誤報(bào)率下降至1.26%。由此可知,與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)及PSO融合傳統(tǒng)機(jī)器學(xué)習(xí)相比較本文方法有較好的性能提升。
此外,使用本文方法與目前比較流行集成學(xué)習(xí)常用方法做性能對(duì)比,結(jié)果如圖4所示。其中:GBDT代表梯度提升決策樹(shù)算法(Gradient Boosting Decision Tree);XGBoost代表極端梯度提升(Extreme Gradient Boosting)方法。由于這里使用的四種集成學(xué)習(xí)方法用到的都是基于樹(shù)的算法,所以不需要進(jìn)行標(biāo)準(zhǔn)化、歸一化、正則化。
圖4 不同方法對(duì)比
針對(duì)傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)及PSO融合傳統(tǒng)機(jī)器學(xué)習(xí)在入侵檢測(cè)中的不足,本文提出結(jié)合RF降維的PSO優(yōu)化CNN網(wǎng)絡(luò)結(jié)構(gòu)的入侵檢測(cè)方法,將PSO的全局尋優(yōu)特點(diǎn)與CNN提取特征的局部相關(guān)性能力融合起來(lái)。通過(guò)在KDD-CUP99數(shù)據(jù)集上的仿真實(shí)驗(yàn)證明:本文算法消除了在人工經(jīng)驗(yàn)下選取參數(shù)的不確定性,實(shí)現(xiàn)了在非經(jīng)驗(yàn)指導(dǎo)下選擇最佳CNN結(jié)構(gòu),提高了入侵檢測(cè)的準(zhǔn)確率和精確率,并降低了誤報(bào)率,為未來(lái)入侵檢測(cè)系統(tǒng)的研究提供了新的思路和方法。