国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種改進(jìn)的基于TS-BPNN的網(wǎng)絡(luò)入侵檢測(cè)方法

2018-11-06 04:53周麗娟
關(guān)鍵詞:權(quán)值神經(jīng)元神經(jīng)網(wǎng)絡(luò)

周麗娟

(山西財(cái)經(jīng)大學(xué) 實(shí)驗(yàn)教學(xué)中心, 山西 太原 030006)

網(wǎng)絡(luò)入侵是指各類(lèi)對(duì)網(wǎng)絡(luò)進(jìn)行攻擊的行為,這些行為可能對(duì)網(wǎng)絡(luò)構(gòu)成一定的風(fēng)險(xiǎn),甚至有可能導(dǎo)致網(wǎng)絡(luò)的崩潰[1]。傳統(tǒng)的網(wǎng)絡(luò)安全行為主要是通過(guò)一些網(wǎng)絡(luò)安全技術(shù)如防火墻來(lái)控制和防范網(wǎng)絡(luò)的攻擊[2]。入侵檢測(cè)技術(shù)作為防火墻后的第二個(gè)安全保護(hù)門(mén),不僅能對(duì)網(wǎng)絡(luò)進(jìn)行入侵?jǐn)r截,同時(shí)也能對(duì)各類(lèi)攻擊如內(nèi)部攻擊、外部攻擊和錯(cuò)誤操作等進(jìn)行實(shí)時(shí)監(jiān)護(hù)[3]。

傳統(tǒng)的入侵檢測(cè)方法[4-6]主要有統(tǒng)計(jì)異常檢測(cè)方法、貝葉斯推理的異常檢測(cè)方法和基于專(zhuān)家系統(tǒng)的檢測(cè)方法,這些方法均存在一些不足。如統(tǒng)計(jì)異常檢測(cè)方法需要大量數(shù)據(jù)集,貝葉斯推理方法需要假設(shè)先驗(yàn)概率,而專(zhuān)家系統(tǒng)方法對(duì)專(zhuān)家經(jīng)驗(yàn)具有較大的依賴。

目前,出現(xiàn)了一些基于機(jī)器學(xué)習(xí)的方法來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)的入侵檢測(cè),如基于AdaBoost的方法、基于主成分分析的方法和基于支持向量的方法。周?chē)?guó)雄等[7]提出了一種基于AdaBoost的網(wǎng)絡(luò)入侵智能檢測(cè)方法,在該方法中,采用AdaBoost集成學(xué)習(xí)方法對(duì)學(xué)習(xí)器進(jìn)行迭代訓(xùn)練,生成最終的入侵檢測(cè)模型,增加網(wǎng)絡(luò)的泛化能力,最終能提高入侵檢測(cè)網(wǎng)絡(luò)對(duì)網(wǎng)絡(luò)入侵檢測(cè)事件的識(shí)別能力。黃思慧等[8]提出了一種基于主成分分析和極限學(xué)習(xí)機(jī)的網(wǎng)絡(luò)入侵檢測(cè)技術(shù),采用主成分分析方法對(duì)提取的特征矩陣進(jìn)行降維,并采用極限學(xué)習(xí)機(jī)來(lái)對(duì)攻擊進(jìn)行檢測(cè),采用實(shí)驗(yàn)證明了該方法能實(shí)現(xiàn)的檢測(cè)率為98.337%,具有較高的檢測(cè)率和精度,同時(shí)也降低了誤報(bào)率和漏報(bào)率。閻巍等[9]提出了一種改進(jìn)的基于支持向量機(jī)的網(wǎng)絡(luò)入侵檢測(cè)算法,利用支持向量機(jī)在小樣本學(xué)習(xí)方法的學(xué)習(xí)優(yōu)勢(shì)和較強(qiáng)的泛化能力,實(shí)現(xiàn)對(duì)算法的改進(jìn)。封化民等[10]提出了一種基于SMOTE和GBDT的網(wǎng)絡(luò)入侵檢測(cè)方法,該方法通過(guò)在預(yù)處理階段采用SMOTE技術(shù)提高少數(shù)類(lèi)別的樣本數(shù)量,并對(duì)多類(lèi)樣本進(jìn)行降采樣,最后用于平衡數(shù)據(jù)集的GBDT分類(lèi)器。韓紅光等[11]提出了一種基于Makov鏈并基于鏈?zhǔn)綘顟B(tài)轉(zhuǎn)移概率矩陣的網(wǎng)絡(luò)入侵檢測(cè)方法,通過(guò)K均值聚類(lèi)來(lái)定義網(wǎng)絡(luò)狀態(tài),并構(gòu)建狀態(tài)概率轉(zhuǎn)移矩陣和初始概率分布的馬爾科夫鏈模型(HMM),最后通過(guò)模型對(duì)輸入數(shù)據(jù)的異常度進(jìn)行檢測(cè)。高妮等[12]提出了一種基于自編碼網(wǎng)絡(luò)的支持向量機(jī)入侵檢測(cè)模型,首先通過(guò)多層無(wú)監(jiān)督的限制玻爾茲曼機(jī)對(duì)原始數(shù)據(jù)降維,建立高維空間和低維空間的雙向映射網(wǎng)絡(luò)結(jié)構(gòu),然后通過(guò)反向傳播網(wǎng)絡(luò)的自編碼權(quán)值進(jìn)行調(diào)整,從而達(dá)到原始數(shù)據(jù)的相應(yīng)低維表示。

以上工作均基于機(jī)器學(xué)習(xí)的相關(guān)方法,為了進(jìn)一步提高網(wǎng)絡(luò)入侵檢測(cè)的效率和改善檢測(cè)的精度,本文提出了一種基于改進(jìn)BP神經(jīng)網(wǎng)絡(luò)(Back Propogation Neural Network,BPNN)的入侵檢測(cè)方法。在該方法中,先通過(guò)禁忌算法(Tabu Search Algorithm)進(jìn)行初步檢測(cè),然后基于該檢測(cè)再通過(guò)優(yōu)化神經(jīng)網(wǎng)絡(luò)進(jìn)一步診斷。

1 基于BP神經(jīng)網(wǎng)絡(luò)的檢測(cè)器

1.1 BP神經(jīng)網(wǎng)絡(luò)概述

BP神經(jīng)網(wǎng)絡(luò)是一個(gè)由輸入層、輸出層和隱含層構(gòu)成的網(wǎng)絡(luò),其經(jīng)典形式是三層網(wǎng)絡(luò)。如圖1所示,網(wǎng)絡(luò)的輸入為x1,x2,…,xn,網(wǎng)絡(luò)的輸出為y1,y2,…,yn,輸入層和隱藏層之間的連接權(quán)重為Vij,隱藏層和輸出層之間的連接權(quán)重為Wjk。

1.2 網(wǎng)絡(luò)結(jié)構(gòu)的確定

BP網(wǎng)絡(luò)的結(jié)構(gòu)主要包括以下幾個(gè)方面:BP網(wǎng)絡(luò)的層數(shù)、神經(jīng)元激活函數(shù)、每層的神經(jīng)元個(gè)數(shù)。BP神經(jīng)網(wǎng)絡(luò)的層數(shù)選擇三層的神經(jīng)網(wǎng)絡(luò),當(dāng)訓(xùn)練誤差不能滿足閾值約束時(shí),在每層增加新的神經(jīng)元。隱藏層神經(jīng)元的激勵(lì)函數(shù)通常采用Sigmoid函數(shù)。BP神經(jīng)網(wǎng)絡(luò)的隱藏層的作用實(shí)際上是抽取數(shù)據(jù)對(duì)應(yīng)的特征。Kolrnogorov定理指明:當(dāng)網(wǎng)絡(luò)神經(jīng)元的數(shù)量足夠多時(shí),可以實(shí)現(xiàn)任意的非線性映射,但當(dāng)網(wǎng)絡(luò)的神經(jīng)元數(shù)量過(guò)多時(shí),會(huì)使得網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,使得網(wǎng)絡(luò)訓(xùn)練的計(jì)算復(fù)雜度增加;而網(wǎng)絡(luò)的神經(jīng)元數(shù)量過(guò)少時(shí),難以精確地表達(dá)輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的非線性關(guān)系。因此,在實(shí)驗(yàn)中根據(jù)損失函數(shù)的值可以去調(diào)整每層神經(jīng)元的數(shù)量。

當(dāng)輸出端損失過(guò)大時(shí),增加每層神經(jīng)元個(gè)數(shù),當(dāng)損失較小且連續(xù)幾輪迭代不變化時(shí),減少神經(jīng)元個(gè)數(shù),以提高訓(xùn)練效率。

1.3 輸入層節(jié)點(diǎn)和輸出層節(jié)點(diǎn)的確定

基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)方法是首先從網(wǎng)絡(luò)數(shù)據(jù)中獲得數(shù)據(jù)的特征向量,然后利用特征向量對(duì)網(wǎng)絡(luò)數(shù)據(jù)進(jìn)行分類(lèi)。本文設(shè)計(jì)的基于神經(jīng)網(wǎng)絡(luò)的檢測(cè)器的數(shù)據(jù)的維數(shù)是41維,輸入數(shù)據(jù)即為u1,u2,…,u41,對(duì)應(yīng)了KDDCUP’99的數(shù)據(jù),輸出為6類(lèi)的檢測(cè)結(jié)果,分別為Normal、Neptune、Post_sweep、Satan、Buffer_overflow和Guess_password,這6類(lèi)結(jié)果作為神經(jīng)網(wǎng)絡(luò)的6類(lèi)輸出。

1.4 網(wǎng)絡(luò)的訓(xùn)練

BP的反向傳播訓(xùn)練算法是由Rumelhart和McCelland等學(xué)者在1986年提出的一種多層前饋的分布式網(wǎng)絡(luò)。在基于BP神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)方法中,是由網(wǎng)絡(luò)的正向傳遞和網(wǎng)絡(luò)的反向傳播兩部分組成。

正向傳播過(guò)程:采用BP神經(jīng)網(wǎng)絡(luò)來(lái)對(duì)網(wǎng)絡(luò)安全進(jìn)行檢測(cè)時(shí),即首先需要采用有標(biāo)簽數(shù)據(jù),如(x1,y1),(x2,y2),…,(xn,yn)對(duì)網(wǎng)絡(luò)的權(quán)值Vij和Wjk進(jìn)行訓(xùn)練,即在初始化BP網(wǎng)絡(luò)的權(quán)值Vij和Wjk的情況下,將樣本數(shù)據(jù)x1,x2,…,xn作為網(wǎng)絡(luò)的輸入,然后在輸出端獲取輸入數(shù)據(jù)對(duì)應(yīng)的輸出,此過(guò)程對(duì)應(yīng)了正向傳播過(guò)程。

誤差反向傳播:根據(jù)標(biāo)簽值和實(shí)際輸出值的差異來(lái)計(jì)算誤差。利用此差異進(jìn)行作為誤差信號(hào)反向傳播,實(shí)現(xiàn)網(wǎng)絡(luò)輸入權(quán)值Vij和輸出權(quán)值Wjk的調(diào)整。當(dāng)樣本標(biāo)簽數(shù)據(jù)與網(wǎng)絡(luò)實(shí)際的輸出值存在較大的誤差時(shí),網(wǎng)絡(luò)就會(huì)轉(zhuǎn)入反向傳播過(guò)程,不斷調(diào)整網(wǎng)絡(luò)的權(quán)值,直到輸入數(shù)據(jù)對(duì)應(yīng)的輸出和標(biāo)簽值接近,滿足算法要求的精度要求。

神經(jīng)網(wǎng)絡(luò)的權(quán)值更新公式為

ω(k+1)=ω(k)+α(1-η)D(k)+ηD(k-1),

(1)

其中,ω(k+1)為權(quán)值的更新值,ω(k)為權(quán)值的當(dāng)前值,α≥0表示學(xué)習(xí)率,0≤η≤1為動(dòng)量因子,D(k)為輸出層對(duì)應(yīng)的權(quán)值梯度:

,

(2)

其中E為目標(biāo)函數(shù)。該方法通過(guò)在動(dòng)量項(xiàng)中加入阻尼項(xiàng)目,可以減少震蕩趨勢(shì)并改善收斂性。

實(shí)際使用中的BP算法通常存在收斂速度慢和容易陷入局部最優(yōu),因此從學(xué)習(xí)率和動(dòng)量因子兩個(gè)角度來(lái)對(duì)網(wǎng)絡(luò)的更新方式進(jìn)行改進(jìn)。學(xué)習(xí)率的設(shè)計(jì)對(duì)神經(jīng)網(wǎng)絡(luò)的收斂也具有較大的影響。當(dāng)學(xué)習(xí)率過(guò)大時(shí),容易導(dǎo)致算法修正幅度過(guò)大,致使算法震蕩甚至發(fā)散;當(dāng)網(wǎng)絡(luò)設(shè)置的學(xué)習(xí)率太小時(shí),收斂速度會(huì)太慢,導(dǎo)致欠擬合。因此要對(duì)算法的學(xué)習(xí)率進(jìn)行改進(jìn),將公式(1)所示的權(quán)值更新公式進(jìn)一步修改為

ω(k+1)=ω(k)+α(k)D(k),

(3)

其中,網(wǎng)絡(luò)的學(xué)習(xí)率可以進(jìn)一步修改為

α(k)=2sign[D(k)D(k-1)]α(k-1),

(4)

其中,sign[D(k)D(k-1)]表示變化的方向,可以表示

(5)

當(dāng)學(xué)習(xí)過(guò)程的兩步都是往一個(gè)方向變化時(shí),表明學(xué)習(xí)率太低,收斂速度太慢,此時(shí)對(duì)應(yīng)的D(k)=D(k-1),因此,公式(4)對(duì)應(yīng)的學(xué)習(xí)率就會(huì)增大;反過(guò)來(lái),當(dāng)兩者方向不一致時(shí),即D(k)≠D(k-1),此時(shí)可能網(wǎng)絡(luò)的誤差較大,因此需要降低學(xué)習(xí)率。

2 基于禁忌算法的BP神經(jīng)網(wǎng)絡(luò)優(yōu)化

2.1 禁忌搜索算法

圖2 禁忌算法流程

禁忌搜索算法[13]是由Glover于1986年提出的一種啟發(fā)式優(yōu)化算法,該算法通過(guò)赦免被禁忌的狀態(tài)從而實(shí)現(xiàn)全局最優(yōu)。禁忌算法的流程如圖2所示。

2.2 基于禁忌算法的神經(jīng)網(wǎng)絡(luò)優(yōu)化

在運(yùn)用禁忌算法對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行優(yōu)化之前,需要確定禁忌算法、禁忌對(duì)象、搜索策略和鄰域生成以及藐視法則,其中禁忌對(duì)象和誤差函數(shù)的設(shè)置如下:

(1)禁忌對(duì)象:本文要采用禁忌算法來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò),因此,禁忌的主要對(duì)象包括待優(yōu)化的神經(jīng)網(wǎng)絡(luò)的權(quán)值ω、閾值th;

(2)誤差函數(shù),在采用禁忌算法來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò)時(shí),誤差函數(shù)仍然選擇神經(jīng)網(wǎng)絡(luò)輸出端的誤差,誤差函數(shù)為

(6)

其中,y′為樣本的輸出值,y為樣本的標(biāo)簽值,m為樣本的數(shù)量,n為輸出端的神經(jīng)元個(gè)數(shù)。

2.3 算法描述

采用禁忌神經(jīng)網(wǎng)絡(luò)來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)入侵檢測(cè)的總體算法如下:

輸出:檢測(cè)結(jié)果。

1)初始化:初始化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值,輸入數(shù)據(jù)x1,x2,…,xn,根據(jù)神經(jīng)網(wǎng)絡(luò)的輸出得到輸出結(jié)果y1,y2,…,yn;

3)誤差反向傳播:根據(jù)誤差函數(shù)的誤差E來(lái)反向調(diào)整網(wǎng)絡(luò),直至網(wǎng)絡(luò)的誤差小于某一預(yù)設(shè)閾值;

4)初始化禁忌解:將神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值作為禁忌算法的初始解,采用禁忌算法來(lái)尋優(yōu);

5)禁忌算法求解:在初始解的附近采用探索動(dòng)作(平移、交叉或變異),并通過(guò)禁忌算法來(lái)尋求最優(yōu)解,選擇最優(yōu)解鄰域中不被禁忌的最優(yōu)解,并將其與全局最優(yōu)解比較,同時(shí)將當(dāng)前的探索動(dòng)作加入到禁忌表中,同時(shí)將最先加入禁忌表的探索動(dòng)作移出;

6)判斷結(jié)束條件:當(dāng)禁忌算法達(dá)到指定的最大迭代次數(shù)時(shí),輸出神經(jīng)網(wǎng)絡(luò)權(quán)值和閾值的最優(yōu)解;

3 仿真實(shí)驗(yàn)

3.1 實(shí)驗(yàn)描述

為了對(duì)本文所提的算法進(jìn)行驗(yàn)證,采用網(wǎng)絡(luò)檢測(cè)標(biāo)準(zhǔn)的數(shù)據(jù)集,即DARPA1999入侵檢測(cè)數(shù)據(jù)集作為測(cè)試集,該數(shù)據(jù)集中主要包含5種檢測(cè)類(lèi)型,其中4種為入侵檢測(cè)種類(lèi),最后一種為正常模式:(1)探測(cè)與描述Probe;(2)拒絕服務(wù)攻擊Dos;(3)未經(jīng)授權(quán)的遠(yuǎn)程訪問(wèn)R2L;(4)本地超級(jí)用戶的非法訪問(wèn)U2R;(5)正常模式。樣本數(shù)據(jù)共1000組,其中800組用于作為訓(xùn)練樣本集,剩余的200組作為測(cè)試樣本集。每組數(shù)據(jù)樣本個(gè)數(shù)為41。

BP網(wǎng)絡(luò)結(jié)構(gòu)的選定:選擇三層的BP神經(jīng)網(wǎng)絡(luò),輸入層的神經(jīng)元個(gè)數(shù)為41,隱藏層的神經(jīng)元個(gè)數(shù)為12,輸出層的神經(jīng)元個(gè)數(shù)為5。

3.2 評(píng)價(jià)指標(biāo)

采用檢測(cè)率作為檢測(cè)效果的評(píng)價(jià)標(biāo)準(zhǔn),檢測(cè)率定義為

(7)

3.3 檢測(cè)結(jié)果與比較

將本文所提的算法與基于BP神經(jīng)網(wǎng)絡(luò)的方法、基于AdaBoost方法和基于Elman神經(jīng)網(wǎng)絡(luò)的方法進(jìn)行比較,選擇200個(gè)樣本作為測(cè)試集,部分樣本的檢測(cè)結(jié)果如表1所示。

表1 部分樣本的入侵檢測(cè)結(jié)果

從表1中可以看出,4種方法在測(cè)試集上均具有較高的檢測(cè)率。基于BP神經(jīng)網(wǎng)絡(luò)的檢測(cè)率較低,本文所提的方法具有最高的檢測(cè)率??梢园l(fā)現(xiàn)除了R2L攻擊中,文中方法的入侵檢測(cè)率略微低于基于Elman神經(jīng)網(wǎng)絡(luò)的檢測(cè)率0.1%,其他攻擊文中方法均具有最高的檢測(cè)率。

4 結(jié) 語(yǔ)

基于傳統(tǒng)BP網(wǎng)絡(luò)的網(wǎng)絡(luò)入侵檢測(cè)算法往往受限于訓(xùn)練算法,即在采用梯度下降算法進(jìn)行權(quán)值調(diào)整時(shí),容易陷入局部最優(yōu)。為了解決該問(wèn)題,提出了一種基于禁忌算法和BP神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)算法。該算法能在神經(jīng)網(wǎng)絡(luò)訓(xùn)練得到的初始值的基礎(chǔ)上,進(jìn)一步通過(guò)禁忌算法進(jìn)行優(yōu)化,直到到達(dá)算法最大的迭代次數(shù)或者誤差已低于閾值。采用禁忌算法和神經(jīng)網(wǎng)絡(luò)對(duì)測(cè)試集進(jìn)行測(cè)試,結(jié)果表明該算法具有較高的檢測(cè)率,就有較大的檢測(cè)精度。下一步的工作是進(jìn)一步對(duì)網(wǎng)絡(luò)的結(jié)構(gòu)和參數(shù)進(jìn)行優(yōu)化,來(lái)提高網(wǎng)絡(luò)入侵檢測(cè)的效率和精度。

猜你喜歡
權(quán)值神經(jīng)元神經(jīng)網(wǎng)絡(luò)
一種融合時(shí)間權(quán)值和用戶行為序列的電影推薦模型
CONTENTS
神經(jīng)網(wǎng)絡(luò)抑制無(wú)線通信干擾探究
躍動(dòng)的神經(jīng)元——波蘭Brain Embassy聯(lián)合辦公
基于權(quán)值動(dòng)量的RBM加速學(xué)習(xí)算法研究
基于多維度特征權(quán)值動(dòng)態(tài)更新的用戶推薦模型研究
基于神經(jīng)網(wǎng)絡(luò)的拉矯機(jī)控制模型建立
復(fù)數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應(yīng)用
基于二次型單神經(jīng)元PID的MPPT控制
ERK1/2介導(dǎo)姜黃素抑制STS誘導(dǎo)神經(jīng)元毒性損傷的作用