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

?

面向入侵檢測的Taylor神經(jīng)網(wǎng)絡(luò)構(gòu)建與分析

2023-03-10 00:11:22王振東張林楊書新王俊嶺李大海
計(jì)算機(jī)與生活 2023年3期
關(guān)鍵詞:蜂群高斯公式

王振東,張林,楊書新,王俊嶺,李大海

江西理工大學(xué) 信息工程學(xué)院,江西 贛州341000

互聯(lián)網(wǎng)和計(jì)算機(jī)系統(tǒng)已經(jīng)成為現(xiàn)代社會生活中的重要組成部分,隨之帶來的安全問題[1]成為影響社會穩(wěn)定的關(guān)鍵因素。入侵檢測技術(shù)作為一種能夠檢測和抵御惡意軟件侵害的新型安全機(jī)制,逐漸發(fā)展成為保護(hù)網(wǎng)絡(luò)安全的關(guān)鍵技術(shù)。

國內(nèi)外相關(guān)研究者對入侵檢測技術(shù)進(jìn)行了深入研究,主流方法包括基于機(jī)器學(xué)習(xí)、數(shù)據(jù)挖掘和深度學(xué)習(xí)[2-4]等多種入侵檢測算法。文獻(xiàn)[5]提出一種加權(quán)樸素貝葉斯入侵檢測模型,結(jié)合粗糙集理論和改進(jìn)粒子群算法來提升檢測能力,但機(jī)器學(xué)習(xí)算法模型訓(xùn)練時(shí)間過長,計(jì)算成本偏高。文獻(xiàn)[6]采用了基于支持向量機(jī)的數(shù)據(jù)挖掘方法,使用粗糙集理論進(jìn)行特征選擇,減少了手動分析任務(wù)的需要,但數(shù)據(jù)挖掘算法對大數(shù)據(jù)中的噪聲較為敏感,易出現(xiàn)過擬合現(xiàn)象。文獻(xiàn)[7]提出了一種結(jié)合信息增益和主成分分析的混合降維技術(shù),并基于支持向量機(jī)、實(shí)例的學(xué)習(xí)算法和多層感知機(jī)的集成分類器來構(gòu)建無監(jiān)督學(xué)習(xí)的入侵檢測模型,但無監(jiān)督學(xué)習(xí)方法對于噪聲和異常值敏感。文獻(xiàn)[8]使用強(qiáng)化學(xué)習(xí)方法將入侵檢測問題轉(zhuǎn)換為預(yù)測馬爾可夫獎勵(lì)過程的價(jià)值函數(shù),使用線性基函數(shù)的時(shí)間差異算法來進(jìn)行值預(yù)測,但是強(qiáng)化學(xué)習(xí)技術(shù)難以檢測較新和較復(fù)雜的分布式攻擊行為,導(dǎo)致模型檢測性能不佳。文獻(xiàn)[9]提出了一種基于四角星的可視化特征生成方法,用于評估五分類問題中樣本之間的距離,但入侵檢測可視化系統(tǒng)通常是在有限的區(qū)域內(nèi)進(jìn)行圖像展示,其擴(kuò)展性差。而神經(jīng)網(wǎng)絡(luò)通過模擬生物大腦的思維方式處理信息,具有自組織、自學(xué)習(xí)和自適應(yīng)的特點(diǎn),可以在保證性能的同時(shí),控制算法中的參數(shù)量,降低計(jì)算成本[10]。

目前,研究者使用神經(jīng)網(wǎng)絡(luò)如BP(back propagation)[11]、循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)[12]、卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)[13]、深度置信網(wǎng)絡(luò)(deep belief networks,DBN)[14]等設(shè)計(jì)了一系列入侵檢測算法。BP 神經(jīng)網(wǎng)絡(luò)具有強(qiáng)大的自學(xué)習(xí)能力、泛化能力和非線性映射能力,文獻(xiàn)[11]將BP 神經(jīng)網(wǎng)絡(luò)應(yīng)用于入侵檢測,得到了較高的檢測率和較低的誤報(bào)率,但BP 算法權(quán)值閾值初始化隨機(jī)性較大,易陷入局部極值,導(dǎo)致訓(xùn)練時(shí)間過長。RNN 神經(jīng)網(wǎng)絡(luò)能夠挖掘出數(shù)據(jù)中的時(shí)序信息和語義信息,被廣泛用于序列相關(guān)的入侵檢測。文獻(xiàn)[12]結(jié)合RNN 和區(qū)域自適應(yīng)合成過采樣算法來提升低頻攻擊的檢測率,得到了較優(yōu)結(jié)果,但大多數(shù)攻擊數(shù)據(jù)不存在明顯的序列相關(guān)性,難以適用于入侵檢測系統(tǒng)。CNN 是一個(gè)典型的基于最小化預(yù)處理數(shù)據(jù)要求而產(chǎn)生的區(qū)分性深度結(jié)構(gòu),通常處理高度非線性抽象分類問題,文獻(xiàn)[13]將其與權(quán)值下降相結(jié)合應(yīng)用于入侵檢測,保留數(shù)據(jù)間長期依賴關(guān)系,丟棄重復(fù)特征,有效避免了過擬合現(xiàn)象,然而CNN 計(jì)算過程復(fù)雜,導(dǎo)致運(yùn)算時(shí)間及成本偏高;DBN 神經(jīng)網(wǎng)絡(luò)可以有效解決高維數(shù)據(jù)的檢測問題。文獻(xiàn)[14]提出一種改進(jìn)遺傳算法與DBN 的入侵檢測技術(shù),通過遺傳算法自適應(yīng)地生成最優(yōu)隱藏層數(shù)和神經(jīng)元數(shù),以適應(yīng)不同攻擊類型,然而攻擊數(shù)據(jù)通常是一維,將其用于入侵檢測存在明顯缺陷,并且DBN 的學(xué)習(xí)過程較慢,參數(shù)的選擇不當(dāng)會導(dǎo)致結(jié)果陷入局部最優(yōu)。

鑒于神經(jīng)網(wǎng)絡(luò)具有較優(yōu)自學(xué)習(xí)和自適應(yīng)能力,本文提出一種基于Taylor 神經(jīng)網(wǎng)絡(luò)的入侵檢測算法。Taylor 公式在逼近多項(xiàng)式函數(shù)值等方面具有顯著優(yōu)勢,本文將網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)樣本的特征值視為Taylor 公式的輸入,利用Taylor 公式挖掘出特征值間所隱藏的函數(shù)映射關(guān)系。為了使Taylor 公式能夠有效運(yùn)行,本文利用神經(jīng)網(wǎng)絡(luò)逼近Taylor 公式的各個(gè)展開項(xiàng)系數(shù),有效提高神經(jīng)網(wǎng)絡(luò)的入侵檢測性能。同時(shí),為了有效選擇Taylor 公式的展開項(xiàng)數(shù)目,設(shè)計(jì)了基于高斯過程的人工蜂群算法。實(shí)驗(yàn)結(jié)果表明,基于一元Taylor神經(jīng)網(wǎng)絡(luò)的入侵檢測算法(Simple_TNN)與基于多元Taylor 神經(jīng)網(wǎng)絡(luò)的入侵檢測算法(Multi_TNN)均具有較優(yōu)性能。

1 Taylor神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)

傳統(tǒng)神經(jīng)網(wǎng)絡(luò)通過為不同特征數(shù)據(jù)分配不同權(quán)值,達(dá)到區(qū)分樣本的目的,而忽略了樣本特征數(shù)據(jù)與最終標(biāo)簽的函數(shù)映射關(guān)系。為提升神經(jīng)網(wǎng)絡(luò)算法對數(shù)據(jù)的區(qū)分和鑒別能力,在神經(jīng)網(wǎng)絡(luò)運(yùn)行過程中引入函數(shù)映射關(guān)系。具體操作如下:利用Taylor 公式作為映射關(guān)系的載體,使用神經(jīng)網(wǎng)絡(luò)逼近Taylor 公式的展開項(xiàng)系數(shù),從而挖掘出樣本特征數(shù)據(jù)與樣本標(biāo)簽間的函數(shù)關(guān)系。

Taylor 公式分為帶佩亞諾型余項(xiàng)的泰勒公式以及帶拉格朗日余項(xiàng)的泰勒公式。前者對函數(shù)f(x)的展開要求較低,只需在點(diǎn)x0處n階可導(dǎo)即可,而不需要連續(xù)可導(dǎo),更無須在x0的鄰域內(nèi)存在n+1 階可導(dǎo),因此本文采用帶佩亞諾型余項(xiàng)泰勒公式。其構(gòu)建的一元及多元Taylor 神經(jīng)網(wǎng)絡(luò)(Taylor neural network,TNN)結(jié)構(gòu)如圖1、圖2 所示。

圖1 一元Taylor神經(jīng)網(wǎng)絡(luò)的基本結(jié)構(gòu)Fig.1 Basic structure of univariate Taylor neural network

圖2 多元Taylor神經(jīng)網(wǎng)絡(luò)基本結(jié)構(gòu)Fig.2 Basic structure of multivariate Taylor neural network

其中,x為一條樣本的特征數(shù)據(jù);N是Taylor 函數(shù)的展開項(xiàng)數(shù)目;fN+1(x)是對輸入數(shù)據(jù)x作變換,以適應(yīng)一元Taylor公式的輸入;微分分量D為Taylor 公式展開項(xiàng)的系數(shù);R為麥克勞林分量;F(x)為一元Taylor展開式。微分分量D和麥克勞林分量R通過神經(jīng)網(wǎng)絡(luò)(全連接神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)見實(shí)驗(yàn)部分)優(yōu)化所得。

同樣,x為輸入的特征數(shù)據(jù),fi(x)是對輸入數(shù)據(jù)x作變換,使輸入的特征數(shù)據(jù)能夠更方便完成多元Taylor 展開式的運(yùn)算,詳見式(9);微分分量D為Taylor 公式展開項(xiàng)的系數(shù);R為麥克勞林分量;式(8)中的F(x1,x2,…,xn) 為多元函數(shù)在xk處的泰勒展開式;F(x)為Taylor展開式的矩陣形式。其中D、H(xk)與R都由神經(jīng)網(wǎng)絡(luò)(全連接神經(jīng)網(wǎng)絡(luò),其結(jié)構(gòu)見實(shí)驗(yàn)部分)優(yōu)化得到,基于工程簡單且易于實(shí)現(xiàn),取xk為一條零向量,得到式(10)。

2 面向入侵檢測的Taylor神經(jīng)網(wǎng)絡(luò)模型

入侵檢測數(shù)據(jù)特征間函數(shù)映射關(guān)系不明顯,因此引入TNN 挖掘出其中隱藏的特征映射關(guān)系。TNN以一條數(shù)據(jù)樣本的某個(gè)特征值作為Taylor 公式的展開點(diǎn),但一條網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)樣本中可能存在多個(gè)特征值。為適應(yīng)網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)樣本,本文設(shè)計(jì)了Taylor神經(jīng)網(wǎng)絡(luò)層(Taylor neural layer),使其能夠?qū)σ粭l數(shù)據(jù)中的各個(gè)特征值同時(shí)處理。在TNL 中,將網(wǎng)絡(luò)入侵?jǐn)?shù)據(jù)的各個(gè)特征值作為各Taylor 公式的展開點(diǎn),并利用神經(jīng)網(wǎng)絡(luò)逼近微分分量和麥克勞林分量,從而計(jì)算各Taylor 公式的函數(shù)值,此時(shí)函數(shù)值是考慮了樣本特征值函數(shù)關(guān)系后的更深層次的樣本特征。最后,將函數(shù)值輸入到深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN,其結(jié)構(gòu)見實(shí)驗(yàn)部分)中實(shí)現(xiàn)分類,Taylor 神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如圖3 所示。

圖3 Taylor神經(jīng)網(wǎng)絡(luò)模型Fig.3 Taylor neural network model

為了獲取微分矩陣D和麥克勞林矩陣R,本文利用兩個(gè)DNN對f(0)、f′(0)、f″(0)…f(n)(0)和R0,R1,…,Rn進(jìn)行逼近,上述兩個(gè)DNN 的輸入均為網(wǎng)絡(luò)入侵檢測數(shù)據(jù)樣本x。最終獲得D與R的矩陣形式,詳見式(12)和式(13),其中n為數(shù)據(jù)的維數(shù),N為Taylor公式展開的項(xiàng)數(shù),為f(x)在第N次求導(dǎo)后x=0時(shí)的函數(shù)值。

為滿足Taylor 神經(jīng)元的輸入條件,將入侵檢測數(shù)據(jù)樣本x做如下變換得到X(n×N)。

將變換后的X與矩陣D的轉(zhuǎn)置進(jìn)行點(diǎn)乘:

以上為一元Taylor 神經(jīng)網(wǎng)絡(luò)層運(yùn)算過程,輸出數(shù)據(jù)是n×1 維數(shù)據(jù)。多元Taylor 神經(jīng)網(wǎng)絡(luò)層與一元Taylor 神經(jīng)網(wǎng)絡(luò)層相同,使用神經(jīng)網(wǎng)絡(luò)計(jì)算出D、H(xk)和麥克勞林分量R,再代入輸入數(shù)據(jù)X即可。

再考慮Taylor 網(wǎng)絡(luò)層至第一層DNN 中信息的運(yùn)算:

其中,Y是Taylor 網(wǎng)絡(luò)層的輸出;X1為第一層DNN的輸出;W1為第一層DNN 的權(quán)重;B1為第一層DNN 的偏置;σ1為第一層DNN 的激活函數(shù)。

DNN 中運(yùn)算過程為:

式中,Xl-1為第l-1 層DNN 的輸出,同時(shí)也是第l層DNN 的輸入;Xl為第l層DNN 的輸出;Wl為第l層DNN 的權(quán)重;Bl為第l層DNN 的偏置;σl為第l層DNN 的激活函數(shù)。

通過上述分析可知,在DNN 前加一個(gè)Taylor 網(wǎng)絡(luò)層可以有效挖掘入侵?jǐn)?shù)據(jù)特征值中所隱藏的函數(shù)關(guān)系,利用這種關(guān)系能夠有效地提升算法的檢測精度。然而,Taylor 展開式持續(xù)展開至N項(xiàng)并不現(xiàn)實(shí),不僅會占據(jù)大量內(nèi)存空間且得不到較好結(jié)果。因此,本文提出一種基于高斯過程的人工蜂群算法,對展開項(xiàng)數(shù)N進(jìn)行優(yōu)化。

3 基于高斯過程的人工蜂群算法

人工蜂群算法(artificial bee colony,ABC)[15]由Karaboga 于2005 年提出,該算法用蜜源所在位置表示問題的解,用蜜源產(chǎn)出的花粉數(shù)量表示解的適應(yīng)度值。根據(jù)分工的不同,算法將蜜蜂劃分為引領(lǐng)蜂、跟隨蜂以及偵察蜂三種。其中,引領(lǐng)蜂發(fā)現(xiàn)食物源并以一定的概率將其分享給跟隨蜂;跟隨蜂根據(jù)引領(lǐng)蜂分享的概率選擇蜜源;偵察蜂在蜂巢附近尋找新的蜜源。算法迭代運(yùn)行,對蜂群和蜜源位置初始化后,對三種蜂的位置迭代更新以尋找問題的最優(yōu)解。人工蜂群算法魯棒性強(qiáng),通用性好,但是局部開采能力較差,易陷入“早熟”,因此本文設(shè)計(jì)了基于高斯過程的人工蜂群算法對Taylor 公式的展開項(xiàng)數(shù)進(jìn)行優(yōu)化。

3.1 高斯過程

高斯過程(Gaussian processes,GP)[16]是一種常見的非參數(shù)模型,其本質(zhì)是通過一個(gè)映射將自變量從低維空間映射到高維空間(類似于支持向量機(jī)中的核函數(shù)將低維線性不可分映射為高維線性可分)。高斯過程是多元高斯概率分布的一種泛化形式,通過先驗(yàn)知識確定參數(shù)的后驗(yàn)分布,從而確定一組任意且有限的輸入數(shù)據(jù)和目標(biāo)輸出之間的函數(shù)關(guān)系。如同高斯分布一樣,可以用均值和方差來刻畫,如下:

其中,m(x)為均值函數(shù),通常取m(x)=E[f(x)];k(x,x′)為核函數(shù),通常取k(x,x′)=E[(f(x)-m(x))(f(x′)-m(x′))]。為方便計(jì)算,取m(x)=0,0 均值高斯過程直接由其核函數(shù)決定。

給定輸入數(shù)據(jù)X=x1,x2,…,xn。目標(biāo)輸出通常包含高斯噪聲,且與真實(shí)值之間相差ξ,即:

其中,K為協(xié)方差矩陣。此時(shí),n個(gè)訓(xùn)練樣本的目標(biāo)輸出Y和測試數(shù)據(jù)的預(yù)測值f*構(gòu)成了聯(lián)合高斯先驗(yàn)分布:

其中,K*=[k(x*,x1)k(x*,x2)…]k(x*,xn),K**=k(x*,x*),x*為預(yù)測輸入。取f*的邊緣分布,并根據(jù)聯(lián)合高斯分布的邊緣分布性質(zhì)可得到如下預(yù)測分布:

其中,f*若為標(biāo)量,那么為預(yù)測均值,cov(f*)為預(yù)測協(xié)方差;f*若為向量,那么為預(yù)測均值向量,cov(f*)為預(yù)測協(xié)方差矩陣。

3.2 基于高斯過程的人工蜂群算法

由于人工蜂群普遍存在收斂速度慢,局部開采能力差,易陷入“早熟”等缺點(diǎn),引入高斯過程對其進(jìn)行優(yōu)化,過程如下:

初始化蜜源階段:

其中,i=1,2,…,m,m為蜜源個(gè)數(shù);j=1,2,…,n,n為問題的維數(shù);η是一個(gè)介于(0,1)之間的隨機(jī)數(shù);uj和lj分別是xij的最大和最小邊界值。

引領(lǐng)蜂位置更新階段:

其中,j是介于[1,m]之間的隨機(jī)整數(shù),i,k∈{1,2,…,m},且k≠i;xkj為隨機(jī)選取的蜜源;將?ij改為服從高斯分布的隨機(jī)數(shù),相對于均勻分布的隨機(jī)數(shù),可以提供相對集中的搜索區(qū)域,從而加快收斂速度,擴(kuò)大搜索范圍,增加種群多樣性。

跟隨蜂階段:

其中,pm為跟隨蜂通過輪盤賭機(jī)制選擇某個(gè)蜜源而更新位置的概率,如果該值大于隨機(jī)產(chǎn)生的一個(gè)數(shù),那么跟隨蜂就依附到此蜜源。

偵察蜂階段:當(dāng)引領(lǐng)蜂和跟隨蜂搜索完整個(gè)空間時(shí),一個(gè)蜜源的適應(yīng)度函數(shù)值在給定的有限次數(shù)內(nèi)沒有提高,則將該蜜源丟棄,該蜜源相對應(yīng)的引領(lǐng)蜂從而變成偵察蜂,并使用公式搜索新的可能解。

適應(yīng)度函數(shù):將神經(jīng)網(wǎng)絡(luò)的損失值作為算法的優(yōu)化目標(biāo)。

3.3 基于高斯過程的人工蜂群算法步驟

基于高斯過程的人工蜂群算法(artificial bee colony algorithm based on Gaussian process,GABC)步驟如下:

步驟1初始化種群數(shù)、最大迭代次數(shù)以及搜索空間,并利用式(27)更新種群位置。

步驟2利用式(33)計(jì)算并評估每個(gè)初始解的適應(yīng)度函數(shù)值,根據(jù)適應(yīng)度函數(shù)值確定極值以及最好最差的位置。

步驟3利用式(33)進(jìn)行貪婪選擇,如果vi的適應(yīng)度優(yōu)于xi,則用vi代替xi,將vi作為當(dāng)前最好的解,否則保留xi不變。

步驟4設(shè)置循環(huán)條件開始循環(huán)。

步驟5利用高斯過程更新引領(lǐng)蜂位置,詳見式(28)~(31)。

步驟6利用式(32)更新跟隨蜂位置。

步驟7若一個(gè)食物源經(jīng)過數(shù)次迭代后仍未被更新,那么就將其放棄,則此引領(lǐng)蜂轉(zhuǎn)成一個(gè)偵察蜂,由式(27)產(chǎn)生一個(gè)新的食物源。

步驟8記錄目前為止的最優(yōu)解。

步驟9判斷是否滿足循環(huán)終止條件,若滿足,循環(huán)結(jié)束,輸出最優(yōu)解,否則返回步驟4 繼續(xù)搜索。

4 基于人工蜂群的Taylor 神經(jīng)網(wǎng)絡(luò)入侵檢測算法

眾所周知,泰勒公式逼近某一函數(shù)數(shù)據(jù)的精度,很大程度上取決于泰勒公式展開項(xiàng)的多少。一般而言,展開項(xiàng)越多,泰勒公式逼近函數(shù)數(shù)據(jù)的精度越高。但實(shí)際上,利用數(shù)據(jù)集中的樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò)去擬合泰勒公式中展開項(xiàng)的系數(shù),數(shù)據(jù)集中總會存在一些噪聲信息。此時(shí),如果盲目地增加泰勒公式展開項(xiàng)的數(shù)目,追求泰勒公式逼近數(shù)據(jù)的精度,極有可能造成過擬合現(xiàn)象;而泰勒公式展開項(xiàng)數(shù)目不足也將導(dǎo)致欠擬合現(xiàn)象。手動合理地選擇泰勒公式展開項(xiàng)的數(shù)目需要大量的經(jīng)驗(yàn)支撐,為了避免手動選擇展開項(xiàng)數(shù)的局限性,有效提高入侵檢測模型的性能,采用人工蜂群算法對泰勒公式展開項(xiàng)數(shù)目進(jìn)行尋優(yōu),但傳統(tǒng)人工蜂群算法存在的局部開采能力較差,易陷入“早熟”等問題,因此引入基于高斯過程的人工蜂群算法,有效避免了傳統(tǒng)人工蜂群中存在的問題,其模型描述如下:

使用基于高斯過程的人工蜂群算法優(yōu)化TNN 的基本思路是,首先求出適應(yīng)度函數(shù)最好的一組蜂群位置,迭代結(jié)束后,將該位置作為TNN 的最優(yōu)展開項(xiàng)數(shù)建立入侵檢測模型,模型訓(xùn)練過程及結(jié)構(gòu)如圖4所示。

圖4 基于GABC 的TNN 入侵檢測算法框架Fig.4 TNN intrusion detection algorithm framework based on GABC

步驟1初始化人工蜂群算法的種群數(shù)目、蜜源位置、最大迭代次數(shù)和搜索空間。

步驟2對原始數(shù)據(jù)x進(jìn)行預(yù)處理:

(1)將數(shù)據(jù)集中的離散特征轉(zhuǎn)換為數(shù)值型特征;

(2)將數(shù)值型特征進(jìn)行歸一化處理,使其都是分布在[0,1]之間的實(shí)數(shù)。

步驟3將歸一化后的數(shù)據(jù)特征進(jìn)行變換,使其滿足Taylor神經(jīng)網(wǎng)絡(luò)層的輸入條件。

步驟4將變換后的數(shù)據(jù)劃分為訓(xùn)練集x_train、測試集x_test。

步驟5將訓(xùn)練數(shù)據(jù)x_train 輸入至TNN 中,并對其進(jìn)行訓(xùn)練。

步驟6計(jì)算并返回訓(xùn)練數(shù)據(jù)的損失值,并將其作為GABC 的優(yōu)化目標(biāo),更新相關(guān)參數(shù)。

步驟7反復(fù)執(zhí)行步驟5 至步驟6,直至觸發(fā)GABC 的迭代終止條件,獲得TNN 的最優(yōu)展開項(xiàng)數(shù)。

步驟8傳遞參數(shù)至TNN 并對其進(jìn)行訓(xùn)練,訓(xùn)練完成后在測試集上進(jìn)行測試。

5 實(shí)驗(yàn)設(shè)計(jì)與分析

為驗(yàn)證Simple_TNN 和Multi_TNN 入侵檢測算法的性能,采用NSL-KDD[17]和UNSW-NB15[18]數(shù)據(jù)集對其進(jìn)行驗(yàn)證,其中NSL-KDD 包含41 個(gè)特征屬性和1 個(gè)類別標(biāo)簽,如表1 所示。較NSL-KDD 而言,UNSW-NB15 數(shù)據(jù)分布更平衡,不包含冗余數(shù)據(jù);NSL-KDD 將攻擊類型分為Dos、Probe、R2L、U2R 共4大類攻擊。UNSW-NB15包含49 個(gè)特征屬性,更能真實(shí)地反映現(xiàn)代網(wǎng)絡(luò)數(shù)據(jù);UNSW-NB15 將攻擊分為Fuzzers、Analysis、Backdoors、DoS、Exploits、Generic、Reconnaissance、Shellcode、Worms 共9 大類攻擊。本文所使用的數(shù)據(jù)分布如表1 所示。

表1 數(shù)據(jù)分布Table 1 Data distribution

5.1 性能指標(biāo)

兩種數(shù)據(jù)集無論是正常行為和攻擊行為之間,或是各類攻擊行為之間都存在數(shù)據(jù)不平衡等問題,因此除準(zhǔn)確率外,還需要引入精確率、召回率和F1 值對算法進(jìn)行評價(jià),參數(shù)定義如表2 所示。

表2 參數(shù)定義Table 2 Parameter definition

準(zhǔn)確率(Accuracy),預(yù)測對的樣本數(shù)占樣本總數(shù)的比例,其數(shù)學(xué)表達(dá)式如下:

精確率(Precision),預(yù)測為正的樣本中有多少是真正的正樣本,其數(shù)學(xué)表達(dá)式如下:

召回率(Recall),樣本中的正例有多少被預(yù)測正確,其數(shù)學(xué)表達(dá)式如下:

F1-score 是基于召回率和精確率計(jì)算的,其數(shù)學(xué)表達(dá)式如下:

5.2 與經(jīng)典機(jī)器學(xué)習(xí)算法的比較

本文所使用的Taylor 神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)如表3所示。其中DNN1 用來優(yōu)化麥克勞林分量R,DNN2用來優(yōu)化微分分量D,DNN3 用來對TNL 的輸出進(jìn)行更深層次的分析處理并完成分類,參數(shù)設(shè)置如表3所示。

表3 Taylor神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)Table 3 Taylor neural network model structure

5.2.1 二分類實(shí)驗(yàn)結(jié)果

二分類實(shí)驗(yàn)結(jié)果如表4 所示,將其與經(jīng)典的機(jī)器學(xué)習(xí)算法和神經(jīng)網(wǎng)絡(luò)進(jìn)行對比。顯然,在幾種算法中,不論是NSL-KDD 數(shù)據(jù)集還是UNSW-NB15 數(shù)據(jù)集,所提出的Simple_TNN 和Multi_TNN 效果總是最優(yōu)的,分別是97.6%、99.6%和96.8%、97.3%。在NSLKDD 數(shù)據(jù)集上,SVM 的Accuracy 為53.4%,Recall和F1-score 僅僅只有0.1%,說明SVM 在此數(shù)據(jù)集上完全失效;相較于機(jī)器學(xué)習(xí)算法,神經(jīng)網(wǎng)絡(luò)算法在此數(shù)據(jù)集上表現(xiàn)更好,CNN的Precision甚至達(dá)到了98.8%,僅僅與Simple_TNN 差了0.1 個(gè)百分點(diǎn);而Simple_TNN 的Recall卻比CNN低了4.3個(gè)百分點(diǎn),說明Simple_TNN 在分類正樣本時(shí)的性能較CNN 差,總是將一部分正樣本錯(cuò)誤地預(yù)測為負(fù)樣本;Multi_TNN的四種性能指標(biāo)分別達(dá)到了99.6%、99.7%、99.4%和99.5%,是幾種算法中性能最佳的。在UNSW-NB15數(shù)據(jù)集上,CART 的Precision 最差,僅僅只有70.4%,但Recall 卻是最高,達(dá)到了99.8%,說明CART 在分類正樣本時(shí),性能較優(yōu);相較于神經(jīng)網(wǎng)絡(luò)算法,機(jī)器學(xué)習(xí)算法反而在此數(shù)據(jù)集上表現(xiàn)更好,KNN 是幾種經(jīng)典算法中性能最優(yōu)的,但是較Simple_TNN 和Multi_TNN 的Precision 而言,還是低了3.2 個(gè)百分點(diǎn)和2.0個(gè)百分點(diǎn);再觀察Simple_TNN 和Multi_TNN 可看出,雖然Multi_TNN 的Accuracy 比Simple_TNN 高了0.5 個(gè)百分點(diǎn),但是Precision 卻低了1.2 個(gè)百分點(diǎn),說明Multi_TNN 將部分負(fù)樣本預(yù)測為了正樣本,這樣會給網(wǎng)絡(luò)安全帶來更大的威脅。ROC 曲線圖反映真正率和假正率之間的關(guān)系,曲線將整個(gè)區(qū)域劃分成兩部分,曲線下部分的面積被稱為AUC,用來表示預(yù)測準(zhǔn)確性。從圖5 可以看出,在各算法中,無論是正常數(shù)據(jù)還是攻擊數(shù)據(jù),所提Simple_TNN 和Multi_TNN 算法的AUC 均較優(yōu),充分說明引入Taylor 的必要性。

圖5 二分類ROC 曲線Fig.5 Two-classification ROC curve

表4 二分類實(shí)驗(yàn)結(jié)果Table 4 Two-classification experiment results

5.2.2 多分類實(shí)驗(yàn)結(jié)果

多分類實(shí)驗(yàn)結(jié)果如表5 所示,將其與經(jīng)典的機(jī)器學(xué)習(xí)算法和神經(jīng)網(wǎng)絡(luò)進(jìn)行對比,可看出不論是NSLKDD 數(shù)據(jù)集還是UNSW-NB15 數(shù)據(jù)集,Multi_TNN性能總是最佳的。在NSL-KDD 數(shù)據(jù)集上,與機(jī)器學(xué)習(xí)算法相比,神經(jīng)網(wǎng)絡(luò)算法較優(yōu);SVM 如二分類一樣,效果極差,Accuracy 只有53.5%,Precision 也只有37.6%,相當(dāng)于把大部分正樣本預(yù)測為負(fù)樣本,大部分負(fù)樣本預(yù)測為正樣本;其他幾種經(jīng)典算法幾乎都達(dá)到了80%以上,性能較優(yōu);然而Simple_TNN 算法性能下降,Accuracy 低于CNN 算法3.9 個(gè)百分點(diǎn),說明Simple Taylor 在處理NSL-KDD 數(shù)據(jù)時(shí),不如CNN效果好;但是Multi_TNN 卻比CNN 的Precision 高2.7個(gè)百分點(diǎn),說明Multi Taylor 在該數(shù)據(jù)集上更具有優(yōu)勢。在UMSW-NB15 數(shù)據(jù)集上,較機(jī)器學(xué)習(xí)而言,神經(jīng)網(wǎng)絡(luò)算法的多分類性能明顯下降;SVM 在幾種算法中位居首位,Accuracy 達(dá)到了80.5%,僅僅比最好的Multi_TNN 差了3.8 個(gè)百分點(diǎn);SVM 與其他幾種機(jī)器學(xué)習(xí)算法的Precision 相差不大,但是Recall 卻高約5 個(gè)百分點(diǎn),說明SVM 在預(yù)測正樣本時(shí)比其他幾種經(jīng)典算法更具有優(yōu)勢;CNN 卻是性能最差的,Precision 只有53%,相當(dāng)于接近一半的負(fù)樣本預(yù)測為正樣本,這將給網(wǎng)絡(luò)安全帶來更嚴(yán)重的危害;其他幾種經(jīng)典算法幾乎都達(dá)到了70%以上,相對較優(yōu),但與Multi_TNN 還是差了10 個(gè)百分點(diǎn)左右。微平均ROC和宏平均ROC 曲線圖直觀地反映算法在大量數(shù)據(jù)和少量數(shù)據(jù)中的檢測性能,如圖6 所示,不論是NSLKDD 數(shù)據(jù)集,還是UNSW-NB15 數(shù)據(jù)集,也無論是大量數(shù)據(jù)還是少量數(shù)據(jù),所提出的Simple_TNN 和Multi_TNN 的AUC 總是最優(yōu)的。

表5 多分類實(shí)驗(yàn)結(jié)果Table 5 Multi-classification experiment results

圖6 多分類微平均和宏平均ROC 曲線Fig.6 Multi-class micro-average and macro-average ROC curves

5.3 時(shí)間性能分析

由上節(jié)分析可知,Simple_TNN 與Multi_TNN 算法均具有良好的檢測性能。為檢驗(yàn)其運(yùn)行速度,繼續(xù)在UNSW-NB15 數(shù)據(jù)集上與各入侵檢測算法進(jìn)行對比,結(jié)果如表6 所示??梢钥闯?,在相同迭代次數(shù)下(50 次),無論二分類還是多分類,Simple_TNN 與Multi_TNN 所用時(shí)間均非最少,主要是因?yàn)槟P褪褂昧? 個(gè)DNN(如表3 所示)輸出所需的Taylor 系數(shù)。而本文采用了3 個(gè)DNN 串行的方式并使用梯度下降法分別訓(xùn)練DNN,導(dǎo)致Simple_TNN、Multi_TNN 消耗時(shí)間較長。對比算法中,決策樹算法用時(shí)最短,是因?yàn)闆Q策樹算法通過計(jì)算信息熵來衡量各次劃分樣本的信息增益,再利用信息增益的最大化實(shí)現(xiàn)對決策樹的訓(xùn)練,參數(shù)相對于其他算法較少,且信息熵、信息增益的計(jì)算量也較低,但決策樹算法準(zhǔn)確率卻較低。RNN 響應(yīng)時(shí)間雖較短,但準(zhǔn)確率相比Simple_TNN、Multi_TNN 差距較大,是因?yàn)镽NN 易出現(xiàn)梯度消失等問題。CNN 的時(shí)間性能與Multi_TNN 相差不大,但準(zhǔn)確率遠(yuǎn)低于Multi_TNN。事實(shí)上,Simple_TNN 與Multi_TNN 作為一種新型神經(jīng)網(wǎng)絡(luò)架構(gòu),其結(jié)構(gòu)還存在較大的優(yōu)化空間。后續(xù)考慮設(shè)計(jì)Simple_TNN 與Multi_TNN 中DNN 的并行訓(xùn)練方法,并開發(fā)輕量級的Simple_TNN 與Multi_TNN 以進(jìn)一步降低運(yùn)行速度。

表6 時(shí)間性能Table 6 Time performance

5.4 與現(xiàn)階段最新入侵檢測算法的比較

Simple_TNN 和Multi_TNN 與現(xiàn)階段最新的入侵檢測算法進(jìn)行實(shí)驗(yàn)對比,如圖7 所示(由于每篇論文給出的性能指標(biāo)都不相同,只對Accuracy 進(jìn)行比較)。文獻(xiàn)[19-22]對數(shù)據(jù)特征進(jìn)行選擇后再分類;文獻(xiàn)[23-24]基于規(guī)則檢測;文獻(xiàn)[25-28]為多步驟分類;文獻(xiàn)[29-30]對現(xiàn)有入侵算法進(jìn)行了改進(jìn);文獻(xiàn)[31-33]對神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)優(yōu)化后再分類。上述所得到實(shí)驗(yàn)結(jié)果較優(yōu),但并沒有一種算法是針對攻擊數(shù)據(jù)而專門提出的入侵檢測算法。因此,本文提出基于Taylor 公式的神經(jīng)網(wǎng)絡(luò),較其他算法而言性能總為最優(yōu),充分說明了Simple_TNN 和Multi_TNN 入侵檢測算法的有效性。

圖7 算法比較Fig.7 Comparison of algorithms

6 結(jié)束語

本文提出了一種基于Taylor 神經(jīng)網(wǎng)絡(luò)的入侵檢測算法。利用Taylor 神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)挖掘網(wǎng)絡(luò)入侵檢測數(shù)據(jù)特征背后所隱藏的函數(shù)映射關(guān)系,并利用這種映射關(guān)系對網(wǎng)絡(luò)入侵行為進(jìn)行有效的檢測。為了將Taylor 神經(jīng)網(wǎng)絡(luò)應(yīng)用到入侵檢測領(lǐng)域,設(shè)計(jì)了Taylor 神經(jīng)網(wǎng)絡(luò)層(TNL),并針對Taylor 公式展開項(xiàng)難以通過經(jīng)驗(yàn)確定的難題,設(shè)計(jì)了一種基于高斯過程優(yōu)化的人工蜂群算法(GABC)。使用GABC 有效選擇TNL 中Taylor 公式的展開項(xiàng)數(shù)目。實(shí)驗(yàn)結(jié)果表明,Taylor 神經(jīng)網(wǎng)絡(luò)模型在入侵檢測領(lǐng)域具有良好的性能,后期將對Taylor 神經(jīng)網(wǎng)絡(luò)模型進(jìn)行更深入的研究,實(shí)現(xiàn)其對于惡意代碼、病毒等相關(guān)安全威脅的高效檢測。

猜你喜歡
蜂群高斯公式
小高斯的大發(fā)現(xiàn)
排列數(shù)與排列數(shù)公式
組合數(shù)與組合數(shù)公式
等差數(shù)列前2n-1及2n項(xiàng)和公式與應(yīng)用
“蜂群”席卷天下
天才數(shù)學(xué)家——高斯
例說:二倍角公式的巧用
改進(jìn)gbest引導(dǎo)的人工蜂群算法
有限域上高斯正規(guī)基的一個(gè)注記
蜂群夏季高產(chǎn)管理
峡江县| 任丘市| 吴江市| 保靖县| 如东县| 阜康市| 德庆县| 泊头市| 伊金霍洛旗| 康马县| 永泰县| 蒙山县| 吉木乃县| 泊头市| 永定县| 诸暨市| 邹平县| 定安县| 平南县| 凭祥市| 广汉市| 镇平县| 如东县| 大同市| 临泉县| 峨山| 汝城县| 开鲁县| 淅川县| 哈密市| 宜阳县| 玛曲县| 周至县| 定襄县| 西平县| 江孜县| 汾阳市| 栖霞市| 安宁市| 昭觉县| 郑州市|