段興林
(黑龍江中醫(yī)藥大學(xué) 醫(yī)學(xué)信息工程學(xué)院, 哈爾濱 150040)
隨著互聯(lián)網(wǎng)技術(shù)和傳感器技術(shù)的快速發(fā)展,互聯(lián)網(wǎng)數(shù)據(jù)呈爆炸式增加,網(wǎng)絡(luò)安全成為研究的重點(diǎn)問題和熱點(diǎn)問題,因此研究網(wǎng)絡(luò)入侵檢測既有重要的理論價(jià)值也有現(xiàn)實(shí)的迫切需求[1-2]。核極限學(xué)習(xí)機(jī)[3](Kernel Extreme Learning Machine,KELM),因其快速學(xué)習(xí)能力,目前被廣泛地應(yīng)用函數(shù)逼近、分類預(yù)測等問題。針對核極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)入侵檢測結(jié)果易受正則化系數(shù)C和核參數(shù)g的影響,本文提出一種灰狼算法優(yōu)化KELM的網(wǎng)絡(luò)入侵檢測算法,提高KELM的網(wǎng)絡(luò)入侵檢測效果。
灰狼優(yōu)化算法中的狼群群體被分為α、β、δ、ω等4類,不同群體具有不同作用,α為頭狼,主要負(fù)責(zé)灰狼群體內(nèi)部的管理和決策,β主要負(fù)責(zé)協(xié)助決策,δ主要負(fù)責(zé)偵查、放哨、捕獵以及看護(hù)幼狼等事務(wù),ω主要負(fù)責(zé)平衡灰狼算法中狼群內(nèi)部之間的關(guān)系,其等級關(guān)系如圖1所示。
狼群種群位置更新如式(1)、(2)[4]:。
D=|C·Xp(t)-X(t)|
(1)
X(t+1)=Xp(t)-A·D
(2)
其中,A=2a·r1-a,C=2·r2,Xp為獵物所在位置的位置向量,t為當(dāng)前迭代次數(shù),X為灰狼所在位置的位置向量,尋優(yōu)過程中,a從2線性下降為0,r1,r2為[0,1]之間的隨機(jī)向量。
圖1 灰狼種群等級圖
假定α、β、δ為GWO算法中的最優(yōu)位置,在尋優(yōu)過程中,到當(dāng)前迭代次數(shù)的前三個(gè)的最優(yōu)解分別被指定給α、β、δ,則其他灰狼種群被當(dāng)作ω,該種群根據(jù)α、β、δ重新定位,其重新定位如式(3)~(5)[5]。
Dα=|C1·Xα-X|
(3)
Dβ=|C2·Xβ-X|
(4)
Dδ=|C3·Xδ-X|
(5)
其中,Xα、Xβ、Xδ為α、β、δ的位置,C1、C2、C3為隨機(jī)向量,X為當(dāng)前解的位置。根據(jù)式(3)、式(4)和式(5)可以計(jì)算當(dāng)前解和α、β、δ之間的近似距離。之后,當(dāng)前解的位置可表示為式(6)~(9)[6]。
X1=Xα-A1·(Dα)
(6)
X2=Xβ-A2·(Dβ)
(7)
X3=Xδ-A3·(Dδ)
(8)
(9)
其中,Xα、Xβ、Xδ為α、β、δ的位置,A1、A2、A3為隨機(jī)向量,t為當(dāng)前迭代次數(shù)。
極限學(xué)習(xí)機(jī)是在Moore-Penrose矩陣?yán)碚摶A(chǔ)上提出的一種單層前饋型快速學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)算法。若ELM隱含層節(jié)點(diǎn)數(shù)量為L個(gè),訓(xùn)練樣本N個(gè),其矩陣形式為(xj,tj)∈Rn×Rm,其中xj=[xj1,xj2,…,xjn]T表示極限學(xué)習(xí)機(jī)的輸入矩陣,tj=[tj1,tj2,…,tjm]T表示極限學(xué)習(xí)機(jī)的輸出矩陣,則ELM的輸出可表示為式(10)[7]。
(10)
(11)
如果設(shè)
則式(11)可表示為矩陣形式式(12)。
HB=T
(12)
其中,H是極限學(xué)習(xí)機(jī)的隱含層神經(jīng)元的輸出矩陣,xj:h(xj)表示第j行隱含層神經(jīng)元對應(yīng)輸入xj的特征映射,其中h(xj)=[Ψ(xj;μ1,υ1),…,Ψ(xj;μL,υL)]。
當(dāng)訓(xùn)練樣本數(shù)量N>L時(shí),ELM的訓(xùn)練誤差非常小,接近于0。此時(shí),求解ELM近似等價(jià)于求解B的線性方程組的最小二乘解為式(13)。
(13)
等式(13)中,結(jié)合嶺回歸,運(yùn)用正則化系數(shù)C改善極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)的穩(wěn)定性和泛化能力,則B的最小二乘解可表示為式(14)[8]。
(14)
那么,ELM的輸出可表示為式(15)。
(15)
為了避免初始權(quán)值和偏置對ELM預(yù)測效果的影響,將核函數(shù)引入ELM形成新的ELM即基于核的ELM算法。
在KELM 中,其核矩陣QELM=HHT,核矩陣的元素可表示為式(16)[9]。
QELM(i,j)=h(xi)·h(xj)=K(xi,xj)
(16)
將公式(16)帶入公式(15),KELM的輸出可表示為式(17)。
(17)
其中,核函數(shù)K(xi,xj)本文選擇RBF核函數(shù)。
通過GWO優(yōu)化KELM的正則化系數(shù)C和核參數(shù)g改善極限學(xué)習(xí)機(jī)網(wǎng)絡(luò)的穩(wěn)定性和泛化能力,提高網(wǎng)絡(luò)入侵檢測的準(zhǔn)確率和降低誤判率,選擇網(wǎng)絡(luò)入侵檢測的準(zhǔn)確率為適應(yīng)度函數(shù)為式(18)[10]。
(18)
其中,Correct表示網(wǎng)絡(luò)入侵檢測正確的類別數(shù)量,Total表示網(wǎng)絡(luò)入侵檢測類型的總數(shù)量。
GWO優(yōu)化KELM的網(wǎng)絡(luò)入侵檢測算法步驟如下:
Step1:歸一化網(wǎng)絡(luò)入侵樣本數(shù)據(jù),建出訓(xùn)練樣本和測試樣本;
Step2:初始化種群,設(shè)定GWO算法的參數(shù):初始種群數(shù)N0、最大種群規(guī)模Nmax、所求問題的維度D、最大迭代次數(shù)itermax、搜索空間的區(qū)間[xmax,xmin]。
Step3:將訓(xùn)練樣本輸入ELM,計(jì)算狼群個(gè)體的適應(yīng)度;
Step4:選擇適應(yīng)度并保存最優(yōu)的前三個(gè)灰狼為Xa、Xb、X;
Step5:更新狼群ω的位置;
Step6:更新參數(shù)a、A、C;
Step7:若gen>itermax,保存最優(yōu)解;反之gen=gen+1,重復(fù)Step2~Step4;
Step8:將GWO優(yōu)化KELM獲取的最優(yōu)參數(shù)C和g應(yīng)用于網(wǎng)絡(luò)入侵檢測。
為了驗(yàn)證GWO_KELM算法進(jìn)行網(wǎng)絡(luò)入侵檢測的效果,以Windows7為操作環(huán)境,選擇MATLAB2018(a)為仿真軟件平臺,PC機(jī)內(nèi)存8GB、處理器Intel core I5 2.4GHZ。選擇KDD CUP99數(shù)據(jù)為研究對象,該標(biāo)準(zhǔn)數(shù)據(jù)集每組數(shù)據(jù)包括41個(gè)特征屬性[11]。
將檢測率和誤判率為評價(jià)指標(biāo),其評價(jià)公式為[12]:
(1)準(zhǔn)確率T:若正確檢測的網(wǎng)絡(luò)入侵類型數(shù)量為a,實(shí)際網(wǎng)絡(luò)入侵類型數(shù)量為b,則網(wǎng)絡(luò)入侵檢測的準(zhǔn)確率為式(19)。
(19)
(2)誤判率F:若第i類網(wǎng)絡(luò)入侵類型的實(shí)際數(shù)量為a,將第i類網(wǎng)絡(luò)入侵類型誤判為第j類網(wǎng)絡(luò)入侵類型的數(shù)量為c,則網(wǎng)絡(luò)入侵檢測的誤判率為式(20)。
(20)
為了說明本文算法的有效性,將GWO_KELM、GWO_ELM和KELM進(jìn)行對比,對比結(jié)果如表1和表2所示。
表1 檢測率對比結(jié)果表
表2 誤判率對比結(jié)果表
由表1和表2可知,GWO_KELM的4種網(wǎng)絡(luò)攻擊類型的檢測率分別為100%、99.45%、96.02%和99.46%,高于GWO_ELM算法的98.44%、90.75%、88.23%、86.64%和KELM的97.67%、96.22%、98.42%、90.33%。檢測結(jié)果如圖2-圖5所示。
圖2 GWO_KLEM檢測結(jié)果
圖3 GWO_ELM檢測結(jié)果
圖4 KELM檢測結(jié)果
通過對比發(fā)現(xiàn),本文算法具有更高的檢測率和更低的誤判率,效果較好。
圖5 GWO收斂曲線
針對核極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)入侵檢測結(jié)果易受正則化系數(shù)C和核參數(shù)g的影響,提出一種灰狼算法優(yōu)化KELM的網(wǎng)絡(luò)入侵檢測算法,提高KELM的網(wǎng)絡(luò)入侵檢測效果。實(shí)驗(yàn)結(jié)果表明,在檢測率和誤判率指標(biāo)上,GWO_KELM算法的網(wǎng)絡(luò)入侵檢測率平均高達(dá)97.33%,優(yōu)于其他算法,值得推廣應(yīng)用。