肖韻婷,張立臣
(廣東工業(yè)大學(xué) 計算機(jī)學(xué)院,廣東 廣州 510006)
信息物理融合系統(tǒng)(cyber physical system,CPS)以網(wǎng)絡(luò)作為信息核心承載,將信息與物理系統(tǒng)緊密聯(lián)系,有效提升自動化水平與運(yùn)行效率。但一旦其安全性被破壞,對應(yīng)的物理系統(tǒng)會受到嚴(yán)重影響。入侵檢測作為一種主動的防御技術(shù),能通過收集分析相關(guān)網(wǎng)絡(luò)數(shù)據(jù)及時發(fā)現(xiàn)攻擊行為,降低網(wǎng)絡(luò)威脅,因此,研究CPS的入侵檢測顯得尤為重要[1]。傳統(tǒng)網(wǎng)絡(luò)中基于機(jī)器學(xué)習(xí)算法及神經(jīng)網(wǎng)絡(luò)的單一和混合模型的入侵檢測方法已有許多研究。作為一種新型神經(jīng)網(wǎng)絡(luò),極限學(xué)習(xí)機(jī)(extreme learning machine,ELM)與傳統(tǒng)神經(jīng)網(wǎng)絡(luò)相比學(xué)習(xí)速度更快,精度更高,參數(shù)設(shè)置更簡單,與支持向量機(jī)相比,可通過擴(kuò)展類標(biāo)簽矩陣的方法直接實現(xiàn)多分類,無需分解為多個二進(jìn)制子問題,在許多領(lǐng)域包括入侵檢測領(lǐng)域應(yīng)用中都取得成功。文獻(xiàn)[2-9]均使用基于ELM的入侵檢測模型,分別與聯(lián)合熵、K均值聚類、卷積神經(jīng)網(wǎng)絡(luò)、自編碼器、深度信念網(wǎng)絡(luò)等相結(jié)合,并獲得較好的效果。但以上算法均未解決ELM性能受權(quán)重閾值隨機(jī)性與不平衡數(shù)據(jù)和離群點(diǎn)影響的問題。隨機(jī)權(quán)重閾值容易導(dǎo)致隱含層不具有稀疏性和調(diào)和能力,無法得到精確的解析解[10]。對此,文獻(xiàn)[11]對量子粒子群優(yōu)化算法改進(jìn)并用于ELM的參數(shù)優(yōu)化,構(gòu)建工控系統(tǒng)入侵檢測模型,取得了較好的效果。針對ELM在不平衡數(shù)據(jù)集的性能,文獻(xiàn)[12]中歸納的兩種樣本權(quán)重計算方法均未對樣本離散程度進(jìn)行考慮。
本文對WRELM權(quán)重賦值方式進(jìn)行改進(jìn),提出基于局部距離的加權(quán)正則化極限學(xué)習(xí)機(jī)(local distance-based weighted regularized extreme learning machine,LDWRELM)減輕數(shù)據(jù)不平衡及離群點(diǎn)對模型性能的影響。并提出一種自適應(yīng)性和動態(tài)變異的改進(jìn)頭腦風(fēng)暴算法(modified brainstorm optimization,MBSO)用于LDWRELM初始輸入權(quán)重閾值優(yōu)化,提高其穩(wěn)定性及檢測能力,構(gòu)建用于CPS系統(tǒng)的MBSO-LDWRELM入侵檢測模型,在NSL-KDD數(shù)據(jù)集對比實驗驗證模型的性能與改進(jìn)的有效性。
ELM是一種新型單隱層前饋神經(jīng)網(wǎng)絡(luò),結(jié)構(gòu)可分為輸入層、隱含層與輸出層3部分。對一個具有L個隱層節(jié)點(diǎn)的單隱層神經(jīng)網(wǎng)絡(luò),設(shè)輸入N個訓(xùn)練樣本 (xi,yi),i=1,2,…,N。 其中xi=[xi1,xi2…,xin]T,yj=[yj1,yj2,…yjm]T。 則網(wǎng)絡(luò)的輸出可表示為
(1)
其中,g()為激活函數(shù),對于第i個隱層節(jié)點(diǎn),wi為與各輸入節(jié)點(diǎn)的權(quán)重,bi為偏置,βi為該隱層輸出權(quán)重。tj為實際輸出。網(wǎng)絡(luò)的實際輸出越接近Yi越好,為得到在訓(xùn)練樣本上具有良好效果的參數(shù),可使用訓(xùn)練誤差作為目標(biāo)函數(shù),如下所示
(2)
即問題轉(zhuǎn)化為求解存在βi,wi與bi使
(3)
簡化為矩陣形式
Hβ=Y
(4)
其中,H為隱層輸出矩陣。與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)等通過梯度下降法反向傳播迭代調(diào)整權(quán)重閾值的學(xué)習(xí)方法不同,ELM固定輸入權(quán)重wi與偏置bi,把問題轉(zhuǎn)換為僅需要求解隱含層輸出權(quán)重矩陣β??墒褂米钚《朔ㄇ蠼饩€性系統(tǒng)式(4)的解為β*=H+T, 其中H+為H的廣義逆矩陣。
ELM算法是一種基于經(jīng)驗風(fēng)險最小化原則的學(xué)習(xí)算法,但是真實的數(shù)據(jù)集往往包含噪音、離群點(diǎn),僅考慮經(jīng)驗風(fēng)險容易帶來過擬合與魯棒性低等問題。經(jīng)研究結(jié)果表明,通過結(jié)合正則化理論,使用權(quán)值系數(shù)權(quán)衡經(jīng)驗風(fēng)險與模型復(fù)雜度,能有效緩解此問題。使用加權(quán)與正則化可以使ELM的求解達(dá)到更小的訓(xùn)練誤差,提高對離群點(diǎn)的抗干擾能力。則優(yōu)化問題變?yōu)?/p>
(5)
(6)
由式(5)、式(6)建立拉格朗日方程得
(7)
其中,α=[α1,α2,…,αN] 為拉格朗日算子,解式(7)得
(8)
其中,I為單位矩陣。當(dāng)數(shù)據(jù)集中離群點(diǎn)少時,可以令矩陣W為單位對角矩陣,即每個樣本的樣本權(quán)值相等。對于帶權(quán)的RELM,文獻(xiàn)[13]對兩種常用加權(quán)方式進(jìn)行了闡述,其兩種權(quán)重賦值方法的核心都是根據(jù)各個類的數(shù)據(jù)量進(jìn)行賦值,提高少數(shù)類的權(quán)重,從而達(dá)到平衡數(shù)據(jù)集的目的。但僅從數(shù)據(jù)量層面考慮而未考慮到類內(nèi)數(shù)據(jù)間的稀疏程度和離群點(diǎn)的影響。文獻(xiàn)[14]提出一種基于數(shù)據(jù)離散度的加權(quán)極限學(xué)習(xí)機(jī),把每類樣本均值作為樣本中心,以每個樣本到類中心與到其它類中心的最小值的比值作為權(quán)重。但其以類均值為中心點(diǎn)的方法在一定程度上已經(jīng)受離群點(diǎn)的影響,可能會使離群點(diǎn)的權(quán)重偏大,從而影響模型性能。因此本文針對樣本的加權(quán)方式進(jìn)行了改進(jìn),具體定義如下
(9)
(10)
(11)
其中, dist(xi,xp) 表示樣本xi與xp間的歐氏距離,Ni為樣本xi所屬類別的集合, |Ni| 為每個類別中的樣本數(shù)量,Dxi的含義為樣本xi所在類的內(nèi)部平均距離,dxi為樣本xi與類內(nèi)其它樣本的平均距離。二者之比可反映當(dāng)前樣本與其它樣本間的局部距離關(guān)系,當(dāng)Wii≥1時,說明當(dāng)前樣本與其它樣本距離較近,xi處于樣本相對稠密的區(qū)域;反之,則說明xi處于稀疏區(qū)域,樣本離群程度高,分類器若受這類樣本干擾,會使分類邊界模糊,因此應(yīng)降低其權(quán)重。
BSO算法是在2011年在國際智能團(tuán)體會議中提出的一種新型的、有前途的群體智能優(yōu)化算法[15],該方法通過模仿人類通過頭腦風(fēng)暴會議集思廣益產(chǎn)生問題解決方案,其參數(shù)設(shè)置簡單、進(jìn)化過程易于理解、求解時間相對短,適合解決高維多峰值問題,并成功應(yīng)用于多個領(lǐng)域[16]。算法主要由初始化與評估、聚類、變異與更新4個模塊組成,通過實現(xiàn)在搜索空間遞歸解的發(fā)散與收斂,以得到“足夠好的”最優(yōu)解。其中最核心的為變異與更新模塊,其具體步驟如下:
選取一個或兩個個體后通過下式產(chǎn)生新個體
Xnew=Xselected+ζ×N(μ,δ)d
(12)
ζ=logsig((T/2-t)/k)×rand(0,1)
(13)
其中,Xselected為選擇的一個個體或由兩個個體融合生成的個體,N(μ,σ)d為d維的服從期望為μ、方差為σ的高斯隨機(jī)函數(shù),T為最大迭代次數(shù),t為當(dāng)前迭代次數(shù),rand()為[0,1]間隨機(jī)實數(shù),logsig()函數(shù)為對數(shù)S形傳遞函數(shù),k為logsig函數(shù)的斜率。
若選取的是兩個個體,通過下式進(jìn)行融合
Xselected=ω×Xselected_1+(1-ω)×Xselected_2
(14)
式中:Xselected為融合生成的個體,Xselected_1與Xselected_2為分別從兩個類中選取的個體,ω為[0,1]之間的隨機(jī)實數(shù)。
頭腦風(fēng)暴優(yōu)化算法與其它優(yōu)化算法都有容易陷入局部極小而導(dǎo)致算法的優(yōu)化性能達(dá)不到理想效果的問題,本文提出一種針對更新策略與變異方式進(jìn)行優(yōu)化的MBSO算法。
1.2.1 對更新策略的改進(jìn)
個體更新策略是頭腦風(fēng)暴優(yōu)化算法的關(guān)鍵之一。基于同一類個體的候選個體生成方式可看作組內(nèi)交流,基于不同類個體的候選個體生成方式可看作組間交流。組內(nèi)交流經(jīng)過擾動產(chǎn)生的新個體較大概率落在候選個體的周圍,更適合在后期進(jìn)行局部細(xì)致的搜索以更好地接近極值點(diǎn);組間交流進(jìn)行隨機(jī)擾動后生成的新個體較大概率落在兩個類的中間,更適合用于前期的全局搜索,更快將搜索范圍縮小至更可能存在潛在解決方案的區(qū)域。
針對算法搜索過程的推進(jìn),考慮了控制調(diào)節(jié)組內(nèi)交流與組間交流的概率大小對搜索性能的影響,我們期望算法在迭代早期具有較強(qiáng)的全局搜索能力,進(jìn)行充分搜索,以跳出局部極小值,在迭代后期能以當(dāng)前局部最優(yōu)區(qū)域為中心進(jìn)行局部搜索。因此可以令
(15)
(16)
其中,t為當(dāng)前迭代次數(shù),T為最大迭代次數(shù),Pone(t)表示第t次迭代中概率Pone的取值,Pth為Pone的最小取值,u,v為調(diào)節(jié)系數(shù)。式(15)中上式為單調(diào)遞減函數(shù),隨著迭代的進(jìn)行Pone逐漸減小,減小到小于Pth時下一代概率等于Pth,這一設(shè)定保證了算法在后期不完全喪失全局搜索的能力。
1.2.2 對變異策略的改進(jìn)
影響算法效果的另一個關(guān)鍵在于個體的更新方式。傳統(tǒng)BSO在選定個體加上高斯隨機(jī)擾動實現(xiàn)新個體的產(chǎn)生。式(13)中系數(shù)ζ通過對數(shù)S形傳遞函數(shù)logsig()與[0,1] 間的隨機(jī)向量相乘實現(xiàn),logsig函數(shù)值域為(0,1),因此系數(shù)ζ的值域也為(0,1)。且根據(jù)高斯分布的“3σ”原則,高斯隨機(jī)函數(shù)產(chǎn)生的值落在橫軸區(qū)間(μ-2.58σ,μ+2.58σ)的概率約為99.73%。圖1為當(dāng)μ=0,σ=1時,令式(13)中T=1000,隨機(jī)擾動的取值情況,可見迭代的前期隨機(jī)擾動的取值范圍固定,大部分位于區(qū)間[-2.5,2.5]之間,以0為中心向正負(fù)極分散,越靠近0處取值越密集。在迭代次數(shù)550后,擾動大小數(shù)量級基本小于1e-01??梢?,傳統(tǒng)BSO隨機(jī)擾動范圍集中在以μ為中心的局部區(qū)域,最大步長固定,每次的隨機(jī)擾動大小與迭代所處的階段并不匹配,造成迭代前期算法尋優(yōu)速度慢,后期在最優(yōu)值附近反復(fù)震蕩,無法快速收斂,且容易出現(xiàn)早熟現(xiàn)象。
圖1 高斯變異下的隨機(jī)擾動
由此可見,傳統(tǒng)BSO采用的高斯變異的局部搜索能力較強(qiáng),但是引導(dǎo)個體跳出局部最優(yōu)的能力較弱,容易出現(xiàn)“超級個體”導(dǎo)致早熟,不利于全局收斂。且這種變異方式?jīng)]有充分利用當(dāng)前種群的信息。本文對算法中的變異策略進(jìn)行改進(jìn),引進(jìn)自適應(yīng)的差分變異思想,設(shè)計與搜索階段相匹配的新個體產(chǎn)生策略。具體如式(17)、式(18)所示
(17)
ζ=ζmax-(ζmax-ζmin)×t/T
(18)
其中,i∈[1,2,…,n],Xselected為選中個體,X1、X2為種群中隨機(jī)選擇的兩個個體,t為當(dāng)前迭代次數(shù),T為算法最大迭代次數(shù),ζmax表示變異系數(shù)ζ的最大值,ζmin表示變異系數(shù)ζ的最小值。Pc為交叉概率。Li、Hi為第d維搜索范圍上下界。
1.2.3 算法流程
根據(jù)上述介紹,MBSO算法的算法具體執(zhí)行流程如下所示:
步驟1 初始化種群Xi(i=1,2,…N), 問題維度d,最大迭代次數(shù)T,分類個數(shù)m,變異系數(shù)最大最小值ζmax、ζmin,概率Preplace,Pone,Pone_center,Ptwo_center,Pth,Pc,所優(yōu)化問題的適應(yīng)度函數(shù)f(x);
步驟2 將個體聚類為m類,計算各個體適應(yīng)度值,并以每個類中的最優(yōu)解為各類的中心。
步驟3 產(chǎn)生隨機(jī)數(shù),若小于Preplace,隨機(jī)生成個體替代選中類的中心個體;
步驟4 使用式(15)更新Pone,產(chǎn)生隨機(jī)數(shù)r1;
(1)r1 1)若小于Pone_center,選類中心個體為Xselected; 2)若大于Pone_center,選類內(nèi)個體為Xselected。 (2)r1>Pone,隨機(jī)選擇兩個類的個體通過式(14)融合作為Xselected,產(chǎn)生隨機(jī)數(shù); 1)若小于Ptwo_center,選擇兩個類的中心個體; 2)分別選擇兩個類的非中心個體。 步驟5 根據(jù)式(17)對個體進(jìn)行變異,計算生成個體適應(yīng)度值,保留更優(yōu)個體; 步驟6 完成N個個體更新,則執(zhí)行步驟7;否則轉(zhuǎn)到步驟3; 步驟7 若達(dá)到最大迭代次數(shù),則終止循環(huán),輸出最優(yōu)個體;否則轉(zhuǎn)到步驟2。 1.2.4 性能測試 為驗證本文提出的改進(jìn)后的算法性能,將MBSO與傳統(tǒng)差分進(jìn)化算法(differential evolution algorithm,DE)、傳統(tǒng)PSO算法、傳統(tǒng)BSO算法進(jìn)行對比。采用4個具有代表性的經(jīng)典標(biāo)準(zhǔn)測試函數(shù)對算法效果進(jìn)行評估比較,包括單峰函數(shù)Sphere與Rosenbrok,多峰函數(shù)Rastrigin與Griewank。各函數(shù)表達(dá)式與尋優(yōu)范圍見表1。 表1 標(biāo)準(zhǔn)測試函數(shù) 實驗中,4種算法的種群個體數(shù)量N均為100,問題維度d為30,最大迭代次數(shù)T為1000,種群均采用均勻初始化。DE算法中交叉概率CR為0.3,變異率F為0.5。傳統(tǒng)PSO算法學(xué)習(xí)因子c1=c2=1.49,慣性權(quán)重ω為0.8。為保證對比公平,BSO對應(yīng)參數(shù)與MBSO一致,MBSO算法參數(shù)設(shè)置見表2。 為驗證改進(jìn)的有效性,本文使用Matlab2014a對4種算法進(jìn)行編程實現(xiàn),并分別對各測試函數(shù)進(jìn)行尋優(yōu),每種算法均獨(dú)立運(yùn)行50次,記錄每次尋優(yōu)的結(jié)果進(jìn)行分析。圖2為各算法在優(yōu)化不同測試函數(shù)時的收斂特性曲線圖。 表2 MBSO參數(shù)設(shè)置 圖2 各算法對標(biāo)準(zhǔn)測試函數(shù)進(jìn)行優(yōu)化的收斂特性 由圖2可以看出,進(jìn)行優(yōu)化后的MBSO在收斂速度與尋優(yōu)所達(dá)到的精度均優(yōu)于其它3種算法。Sphere函數(shù)與Rosenbrok函數(shù)均為單峰函數(shù),主要目的在于考察算法跳出局部最優(yōu)后的收斂效果與尋優(yōu)前進(jìn)方向的正確性。Sphere函數(shù)的三維圖是一個凹型碗狀平面,有唯一的一個全局最優(yōu)值,PSO算法陷入了局部最優(yōu),DE算法收斂速度較慢且尋優(yōu)結(jié)果不理想,BSO與MBSO多次跳出局部最優(yōu),且MBSO的收斂速度和尋優(yōu)結(jié)果較BSO更優(yōu)。Rosenbrok函數(shù)全局最小值位于拋物線型山谷中,越靠近山谷越平坦,因此即時找到山谷所在的位置也很難收斂的全局最小值。MBSO在迭代200次后也陷入了局部最優(yōu),但此時的適應(yīng)度值已經(jīng)優(yōu)于其它算法迭代1000次后的適應(yīng)度值。 Rastrigin函數(shù)與Griewank均為多峰函數(shù),存在眾多的局部最小值,主要考察算法是否能克服早熟現(xiàn)象與全局尋優(yōu)的效果。Rastrigin函數(shù)優(yōu)化中,PSO、BSO與MBSO在前50次迭代中表現(xiàn)相近,MBSO在100次迭代后開始跳出局部最優(yōu),在250次迭代后無限接近于全局最優(yōu)值。Griewank函數(shù)優(yōu)化過程中,MBSO在前200次迭代尋優(yōu)結(jié)果與PSO相近,在200后不斷跳出局部最優(yōu)值,在第350次迭代達(dá)到了理論最優(yōu)值,而PSO與BSO優(yōu)化均出現(xiàn)了停滯現(xiàn)象。 由圖2還可發(fā)現(xiàn),MBSO在對Rosenbrok、Rastrigin與Griewank的優(yōu)化過程中,在迭代前200次適應(yīng)度值優(yōu)勢不大,甚至高于其它算法,但是經(jīng)過一小段平臺期后,適應(yīng)度值迅速下降,表明算法在達(dá)到局部最優(yōu)點(diǎn)后能迅速調(diào)整尋優(yōu)方向,搜索到新的最優(yōu)點(diǎn),在迭200次迭代后展現(xiàn)出優(yōu)勢。 表3對各算法運(yùn)行結(jié)果的最優(yōu)值與平均值進(jìn)行了統(tǒng)計,對于較簡單的Sphere函數(shù)尋優(yōu)問題,各算法均能達(dá)到較好的精度,MBSO的尋優(yōu)結(jié)果最優(yōu)。對Rosenbrok函數(shù)PSO尋優(yōu)結(jié)果波動較大,MBSO尋優(yōu)結(jié)果的穩(wěn)定性較好,每次運(yùn)行均能達(dá)到相似的效果。對于多峰函數(shù),MBSO的克服早熟現(xiàn)象的能力在尋優(yōu)過程中展現(xiàn)出更大的優(yōu)勢。在對Rastrigins的尋優(yōu)中,各算法每次運(yùn)行所求得的最小適應(yīng)度與均值相近,但只有MBSO尋找到全局最優(yōu)點(diǎn);對Griewank函數(shù),BSO與MBSO均成功命中全局最優(yōu)點(diǎn),但MBSO的尋優(yōu)結(jié)果更穩(wěn)定。表明了MBSO在每次優(yōu)化中都能帶領(lǐng)種群找到正確的優(yōu)化方向。 表3 實驗結(jié)果對比 實驗結(jié)果表明,MBSO采取的策略能有效抑制算法陷入局部最優(yōu),充分結(jié)合種群內(nèi)個體的信息,更好地平衡算法的全局搜索與局部搜索能力,加快算法尋優(yōu)速度,同時提高了算法的穩(wěn)定性,驗證了算法改進(jìn)的有效性與必要性。 適應(yīng)度函數(shù)是衡量個體優(yōu)劣的指標(biāo),指引著算法迭代進(jìn)化的方向,因此適應(yīng)度函數(shù)的選擇直接關(guān)系到算法尋優(yōu)是否能找到最優(yōu)解以及算法收斂的精度。本文采用均方誤差函數(shù)作為預(yù)測值與真實值之間偏差的度量,其計算公式如下 (19) 式中:N為輸入樣本數(shù),xn為真實值,tn為預(yù)測值,mse值越小,表明預(yù)測效果越好。 如上文所述,ELM作為一種快速、泛化能力好、參數(shù)設(shè)置簡單的新型神經(jīng)網(wǎng)絡(luò),ELM采用隨機(jī)選擇輸入權(quán)重值及其隱含層偏置,其隨機(jī)性可能導(dǎo)致某些權(quán)重閾值賦值接近0等情況,使某些隱含層節(jié)點(diǎn)失效,令算法泛化能力與求解精度達(dá)不到理想效果。 而MBSO具有良好的尋優(yōu)能力,可以對LDWRELM隨機(jī)確定的參數(shù)進(jìn)行優(yōu)化,尋找更優(yōu)的初始權(quán)重閾值。 因此,考慮到CPS對入侵檢算法輕量、快速、簡單、穩(wěn)定等要求及入侵檢測數(shù)據(jù)的海量和不平衡等特點(diǎn),本文將MBSO算法與LDWRELM相結(jié)合,構(gòu)建基于MBSO-LDWRELM的入侵檢測分類模型,將LDWRELM初始權(quán)重閾值設(shè)置問題映射為MBSO尋優(yōu)問題,尋找更好的LDWRELM 初始權(quán)重閾值,進(jìn)而得到最優(yōu)輸出權(quán)重值。參照文獻(xiàn)[17]分析總結(jié)的典型CPS體系結(jié)構(gòu),檢測模塊將部署于CPS系統(tǒng)的應(yīng)用層。 基于MBSO-LDWRELM入侵檢測模型流程如下: 步驟1 數(shù)據(jù)收集預(yù)處理。截取網(wǎng)絡(luò)數(shù)據(jù)包并進(jìn)行解析,將所得數(shù)據(jù)劃分為訓(xùn)練集與測試集,對數(shù)據(jù)進(jìn)行預(yù)處理; 步驟2 使用MBSO算法優(yōu)化LDWRELM; (1)初始化LDWRELM參數(shù):輸入層節(jié)點(diǎn)數(shù)inputnum,隱含層節(jié)點(diǎn)數(shù)hiddennum及輸出層節(jié)點(diǎn)數(shù)outputnum進(jìn)行賦值,對權(quán)重閾值進(jìn)行初始化; (2)確定MBSO種群個體數(shù)N,所求問題維度計算公式為hiddennum*(inputnum+1),最大迭代次數(shù)T,及個體初始值; (3)根據(jù)適應(yīng)度函數(shù)計算各個體的適應(yīng)度值并排序,直到達(dá)到最大迭代次數(shù)或滿足終止迭代條件; (4)輸出最優(yōu)個體的值,即為模型的最優(yōu)參數(shù),從而建立入侵檢測模型。 步驟3 測試模型。將測試數(shù)據(jù)集作為模型輸入,得到樣本分類結(jié)果。 MBSO-LDWRELM的入侵檢測模型構(gòu)建流程如圖3所示。 圖3 MBSO-LDWRELM的CPS入侵檢測流程 本文實驗選取了NSL-KDD是對KDD99流量數(shù)據(jù)集進(jìn)行去冗余及調(diào)整比例產(chǎn)生的。NSL-KDD數(shù)據(jù)集中每一數(shù)據(jù)包括41維連接特征與1維類型標(biāo)簽。其中連接特征中有32維為連續(xù)型數(shù)據(jù),3維為字符型數(shù)據(jù),6維為二值型。類型標(biāo)簽為字符型,包括攻擊類型標(biāo)簽共40小類,可分為5大類:Normal,Dos,Probe,R2L與U2R。實驗訓(xùn)練集使用“KDDTrain+”,測試集為“KDDTest+”,實驗數(shù)據(jù)集構(gòu)成見表4。由于測試集中有17小類為訓(xùn)練集中未知的攻擊類型,因此要求模型不僅檢測已知攻擊類型,還應(yīng)具有檢測未知類型攻擊的泛化能力。 表4 數(shù)據(jù)集描述 由于連接特征中的字符型數(shù)據(jù)不能直接用于入侵檢測算法的輸入,因此將其進(jìn)行標(biāo)簽編碼。如“protocol_type”中包含tcp,udp與icmp這3種不同字符類型,將其分標(biāo)注為1,2,3。同理,“service”與”flag”特征按其字符類型分別標(biāo)注為1~67與1~11。將數(shù)據(jù)類型標(biāo)簽按其攻擊類型分為Normal,Dos,Probe,R2L與U2R這5類,分別標(biāo)注為1~5。 為消除各屬性間度量差異帶來的影響,對數(shù)據(jù)進(jìn)行歸一化處理,將樣本各特征都映射到0~1之間的數(shù)值,歸一化公式如下 a=(a-min)/(max-min) (20) 數(shù)據(jù)集中冗余特征將增長訓(xùn)練時間,且特征越具有代表性,模型越能達(dá)到較好的效果。因此歸一化處理后使用粗糙集工具箱Rosetta對特征屬性進(jìn)行約簡,約簡后得到特征屬性共23項。 為驗證MSBO-LDWRELM算法在入侵檢測中的性能,本文基于NSL-KDD數(shù)據(jù)集進(jìn)行了仿真測試實驗,所使用實驗環(huán)境為:Inter Core i5 2.9 GHz,8 GB內(nèi)存,Windows 10操作系統(tǒng),Matlab2014a。RELM與LDWRELM通過Matlab編程實現(xiàn),并使用1.2.4中實現(xiàn)的PSO、BSO、MBSO進(jìn)行初始參數(shù)尋優(yōu)。 RELM與LDWRELM輸出層神經(jīng)元數(shù)為5,因為本文需要進(jìn)行五分類。隱含層數(shù)通過選擇不同的激活函數(shù)并逐漸增加層數(shù)的檢測準(zhǔn)確率進(jìn)行選擇。所得結(jié)果如圖4所示,可見Sigmoid性能優(yōu)于Sine與Hardlim,且在迭代120次后趨于平穩(wěn),因此本文選取隱含層節(jié)點(diǎn)數(shù)為120,激活函數(shù)為Sigmoid。 圖4 不同激活函數(shù)與隱層數(shù)的準(zhǔn)確率 PSO學(xué)習(xí)因子為1.3,慣性權(quán)重為0.8。MBSO參數(shù)設(shè)置見表5,BSO對應(yīng)參數(shù)與MBSO相同。算法種群大小為50,最大優(yōu)化迭代次數(shù)均為80。 表5 參數(shù)設(shè)置 實驗結(jié)果采用準(zhǔn)確率(accuracy,AC)、檢測率(detection rate,DR)、召回率(recall,Rec)、誤報率(false positive rate,FPR)、訓(xùn)練時間Ttr及檢測時間Tte為性能評價指標(biāo),并將本文模型與傳統(tǒng)RELM、LDWRELM、PSO-LDWRELM、BSO-LDWRELM進(jìn)行對比。結(jié)果均獨(dú)立運(yùn)行10次后取均值。 表6列舉出各算法的AC值的對比。文獻(xiàn)[1]與文獻(xiàn)[18,19]均使用KDDtest+數(shù)據(jù)集對算法性能進(jìn)行比較。其中文獻(xiàn)[17]使用PSO算法對堆疊降噪自編碼器(stacked enoising autoencoder,SDA)進(jìn)行隱層數(shù)及每層節(jié)點(diǎn)數(shù)結(jié)構(gòu)尋優(yōu)。文獻(xiàn)[19]對幾種常見機(jī)器學(xué)習(xí)在NSL-KDD數(shù)據(jù)集上的準(zhǔn)確率進(jìn)行了比較。由表可見,MBSO-LDWRELM的AC值最高為87.92%,優(yōu)于其它對比算法,但由于NSL-KDD為不平衡數(shù)據(jù)集,僅使用準(zhǔn)確率作為評價標(biāo)準(zhǔn)具有局限性,因此從各分類的DR、REC與FPR進(jìn)行進(jìn)一步比較分析。 表6 五分類下不同模型AC值/% 圖5、圖6對各算法分類的DR與Rec值進(jìn)行了比較,由圖可見,LDWRELM相較于RELM對少數(shù)類R2L與U2R的性能有所提升,反映了LDWRELM的正則化與權(quán)重選擇策略對分類效果的提升。MBSO-LDWRELM在對Normal、Dos與Probe的檢測效果基本持平或略有提升。相比之下,R2L與U2R的DR值與Rec值在數(shù)值上相對偏低,是由于R2L與U2R在訓(xùn)練集中的占比低,屬于少數(shù)類,且這兩類攻擊類型中有新型未知攻擊,尤其是R2L類型中的部分攻擊條目特征與Normal類型數(shù)據(jù)十分相似,導(dǎo)致許多攻擊條目容易被誤判其它樣本數(shù)量多的類。通過對U2R與R2L這兩種攻擊檢測結(jié)果分析比較可知,RELM的檢出率最低,MBSO-LDWRELM的AC值比PSO-SDA高2.2%與3.61%。并且其對這兩種攻擊的REC值最優(yōu),與RELM相比有很大幅度的提升,與PSO-SDA相比高14.87%與10.5%。說明MBSO對LDWRELM初始權(quán)重矩陣優(yōu)化結(jié)果更好,所求的初始權(quán)重閾值能更好地提取訓(xùn)練集中的數(shù)據(jù)規(guī)律,尤其是對于少數(shù)類攻擊。 圖5 各模型DR值對比 圖6 各模型Rec值對比 表7對算法誤報率進(jìn)行了對比。對Normal類型,MBSO-LDWRELM誤報率分別比RELM、LDWRELM、PSO-LDWRELM、BSO-LDWRELM與PSO-SDA低1.92%、1.99%、0.85%、2.89%與6.21%,說明進(jìn)行改進(jìn)后,模型將其它攻擊類型錯判為Normal類型的概率更小,能更好地保證系統(tǒng)的安全性。同時,可觀察到LDWRELM相比RELM在對少數(shù)類的誤報率有所下降,但對多數(shù)類的誤報率上升了,是由于基于局部距離的策略將與Normal相似的樣本權(quán)重降低,造成誤判為Normal的樣本略有上升,但經(jīng)過MBSO進(jìn)行優(yōu)化后,Normal誤報率有所下降。而對于攻擊類型Probe、Dos與R2L誤報率均有所下降,對于U2R類型差異不大,原因在于U2R樣本數(shù)量少,難以捕獲到其特征,因此將其它樣本錯分到該類的情況更少。 表7 各算法FPR值對比/% 入侵檢測算法的性能對檢測的實時性有較強(qiáng)的要求,因此本文對各方法的訓(xùn)練時間與檢測時間進(jìn)行對比,結(jié)果見表8。經(jīng)過MBSO算法優(yōu)化后的LDWRELM在訓(xùn)練時間與檢測時間相較RELM算法有所上升,原因在于增加的權(quán)重矩陣計算與MBSO的迭代尋優(yōu)增加了對時間的消耗,但使用BSO算法優(yōu)化后檢測時間優(yōu)于其它優(yōu)化算法的時間消耗。 表8 各模型訓(xùn)練時間與檢測時間對比 本文提出的LDWRELM通過優(yōu)化樣本權(quán)重設(shè)置減輕了數(shù)據(jù)不平衡和離群點(diǎn)對算法性能的影響,提高了對少數(shù)類的識別準(zhǔn)確率。并對MBSO進(jìn)行改進(jìn)提高了種群的多樣性,增強(qiáng)其跳出局部最優(yōu)的能力,用于對LDWRELM的初始輸入權(quán)重閾值尋優(yōu),提升LDWRELM的穩(wěn)定性與泛化能力。實驗結(jié)果表明,MBSO-LDWRELM相比傳統(tǒng)的RELM有更好的性能,在保證高準(zhǔn)確率與低誤報率的同時對少數(shù)類樣本的準(zhǔn)確率有所提升,并有較好的實時性,為CPS在入侵檢測方面提供新的可行方案,下一步考慮搭建實時入侵檢測環(huán)境,進(jìn)一步探索和解決模型在實際應(yīng)用中遇到的問題。2 基于MBSO-LDWRELM入侵檢測模型
2.1 適應(yīng)度函數(shù)
2.2 MBSO-LDWRELM模型描述
3 實驗結(jié)果與分析
3.1 數(shù)據(jù)集
3.2 預(yù)處理
3.3 參數(shù)設(shè)置
3.4 實驗結(jié)果
4 結(jié)束語