段興林
(黑龍江中醫藥大學 醫學信息工程學院, 哈爾濱 150040)
隨著互聯網技術和傳感器技術的快速發展,互聯網數據呈爆炸式增加,網絡安全成為研究的重點問題和熱點問題,因此研究網絡入侵檢測既有重要的理論價值也有現實的迫切需求[1-2]。核極限學習機[3](Kernel Extreme Learning Machine,KELM),因其快速學習能力,目前被廣泛地應用函數逼近、分類預測等問題。針對核極限學習機的網絡入侵檢測結果易受正則化系數C和核參數g的影響,本文提出一種灰狼算法優化KELM的網絡入侵檢測算法,提高KELM的網絡入侵檢測效果。
灰狼優化算法中的狼群群體被分為α、β、δ、ω等4類,不同群體具有不同作用,α為頭狼,主要負責灰狼群體內部的管理和決策,β主要負責協助決策,δ主要負責偵查、放哨、捕獵以及看護幼狼等事務,ω主要負責平衡灰狼算法中狼群內部之間的關系,其等級關系如圖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為當前迭代次數,X為灰狼所在位置的位置向量,尋優過程中,a從2線性下降為0,r1,r2為[0,1]之間的隨機向量。

圖1 灰狼種群等級圖
假定α、β、δ為GWO算法中的最優位置,在尋優過程中,到當前迭代次數的前三個的最優解分別被指定給α、β、δ,則其他灰狼種群被當作ω,該種群根據α、β、δ重新定位,其重新定位如式(3)~(5)[5]。
Dα=|C1·Xα-X|
(3)
Dβ=|C2·Xβ-X|
(4)
Dδ=|C3·Xδ-X|
(5)
其中,Xα、Xβ、Xδ為α、β、δ的位置,C1、C2、C3為隨機向量,X為當前解的位置。根據式(3)、式(4)和式(5)可以計算當前解和α、β、δ之間的近似距離。之后,當前解的位置可表示為式(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為隨機向量,t為當前迭代次數。
極限學習機是在Moore-Penrose矩陣理論基礎上提出的一種單層前饋型快速學習的神經網絡算法。若ELM隱含層節點數量為L個,訓練樣本N個,其矩陣形式為(xj,tj)∈Rn×Rm,其中xj=[xj1,xj2,…,xjn]T表示極限學習機的輸入矩陣,tj=[tj1,tj2,…,tjm]T表示極限學習機的輸出矩陣,則ELM的輸出可表示為式(10)[7]。
(10)

(11)
如果設
則式(11)可表示為矩陣形式式(12)。
HB=T
(12)
其中,H是極限學習機的隱含層神經元的輸出矩陣,xj:h(xj)表示第j行隱含層神經元對應輸入xj的特征映射,其中h(xj)=[Ψ(xj;μ1,υ1),…,Ψ(xj;μL,υL)]。
當訓練樣本數量N>L時,ELM的訓練誤差非常小,接近于0。此時,求解ELM近似等價于求解B的線性方程組的最小二乘解為式(13)。
(13)
等式(13)中,結合嶺回歸,運用正則化系數C改善極限學習機網絡的穩定性和泛化能力,則B的最小二乘解可表示為式(14)[8]。
(14)
那么,ELM的輸出可表示為式(15)。

(15)
為了避免初始權值和偏置對ELM預測效果的影響,將核函數引入ELM形成新的ELM即基于核的ELM算法。
在KELM 中,其核矩陣QELM=HHT,核矩陣的元素可表示為式(16)[9]。
QELM(i,j)=h(xi)·h(xj)=K(xi,xj)
(16)
將公式(16)帶入公式(15),KELM的輸出可表示為式(17)。
(17)
其中,核函數K(xi,xj)本文選擇RBF核函數。
通過GWO優化KELM的正則化系數C和核參數g改善極限學習機網絡的穩定性和泛化能力,提高網絡入侵檢測的準確率和降低誤判率,選擇網絡入侵檢測的準確率為適應度函數為式(18)[10]。
(18)
其中,Correct表示網絡入侵檢測正確的類別數量,Total表示網絡入侵檢測類型的總數量。
GWO優化KELM的網絡入侵檢測算法步驟如下:
Step1:歸一化網絡入侵樣本數據,建出訓練樣本和測試樣本;
Step2:初始化種群,設定GWO算法的參數:初始種群數N0、最大種群規模Nmax、所求問題的維度D、最大迭代次數itermax、搜索空間的區間[xmax,xmin]。
Step3:將訓練樣本輸入ELM,計算狼群個體的適應度;
Step4:選擇適應度并保存最優的前三個灰狼為Xa、Xb、X;
Step5:更新狼群ω的位置;
Step6:更新參數a、A、C;
Step7:若gen>itermax,保存最優解;反之gen=gen+1,重復Step2~Step4;
Step8:將GWO優化KELM獲取的最優參數C和g應用于網絡入侵檢測。
為了驗證GWO_KELM算法進行網絡入侵檢測的效果,以Windows7為操作環境,選擇MATLAB2018(a)為仿真軟件平臺,PC機內存8GB、處理器Intel core I5 2.4GHZ。選擇KDD CUP99數據為研究對象,該標準數據集每組數據包括41個特征屬性[11]。
將檢測率和誤判率為評價指標,其評價公式為[12]:
(1)準確率T:若正確檢測的網絡入侵類型數量為a,實際網絡入侵類型數量為b,則網絡入侵檢測的準確率為式(19)。
(19)
(2)誤判率F:若第i類網絡入侵類型的實際數量為a,將第i類網絡入侵類型誤判為第j類網絡入侵類型的數量為c,則網絡入侵檢測的誤判率為式(20)。
(20)
為了說明本文算法的有效性,將GWO_KELM、GWO_ELM和KELM進行對比,對比結果如表1和表2所示。

表1 檢測率對比結果表

表2 誤判率對比結果表
由表1和表2可知,GWO_KELM的4種網絡攻擊類型的檢測率分別為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%。檢測結果如圖2-圖5所示。

圖2 GWO_KLEM檢測結果

圖3 GWO_ELM檢測結果

圖4 KELM檢測結果
通過對比發現,本文算法具有更高的檢測率和更低的誤判率,效果較好。

圖5 GWO收斂曲線
針對核極限學習機的網絡入侵檢測結果易受正則化系數C和核參數g的影響,提出一種灰狼算法優化KELM的網絡入侵檢測算法,提高KELM的網絡入侵檢測效果。實驗結果表明,在檢測率和誤判率指標上,GWO_KELM算法的網絡入侵檢測率平均高達97.33%,優于其他算法,值得推廣應用。