亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        改進(jìn)ADASYN-SDA的入侵檢測模型研究

        2020-01-17 01:42:20趙建智肖成龍陳建虎
        關(guān)鍵詞:特征實(shí)驗(yàn)檢測

        陳 虹,趙建智,肖成龍,陳建虎,肖 越

        遼寧工程技術(shù)大學(xué) 軟件學(xué)院,遼寧 葫蘆島125105

        1 引言

        進(jìn)入21 世紀(jì),隨著IT 技術(shù)的發(fā)展與網(wǎng)絡(luò)信息化的建設(shè),各種各樣的網(wǎng)絡(luò)信息廣泛傳播,給人們生活帶來快捷和便利的同時(shí),其所造成的網(wǎng)絡(luò)安全問題也日益嚴(yán)峻[1],如何對入侵攻擊類型進(jìn)行有效檢測,以及預(yù)警與保護(hù)系統(tǒng)的安全,成為網(wǎng)絡(luò)安全問題的研究方向之一。

        入侵檢測系統(tǒng)(Intrusion Detection System,IDS)是一種對網(wǎng)絡(luò)或主機(jī)傳輸網(wǎng)絡(luò)流量進(jìn)行監(jiān)控,檢測違反系統(tǒng)安全策略入侵行為的主動(dòng)安全防護(hù)措施[2]。一般來說,入侵檢測方法分為基于誤用和異常的檢測?;谡`用的檢測能夠以低誤報(bào)率檢測已知類型網(wǎng)絡(luò)攻擊?;诋惓5臋z測方法通過正?;顒?dòng)捕捉偏差識別攻擊行為。與誤用檢測不同的是,基于異常的檢測方法可以更好識別未知攻擊行為。但該方法仍面臨著高誤報(bào)率的風(fēng)險(xiǎn)。入侵檢測[3]系統(tǒng)一般使用誤用與異常檢測的混合方法來判別網(wǎng)絡(luò)或系統(tǒng)中入侵攻擊行為[4]。

        網(wǎng)絡(luò)環(huán)境中可能存在著數(shù)量極少破壞力卻極大的攻擊數(shù)據(jù),即網(wǎng)絡(luò)環(huán)境中存在著數(shù)據(jù)比例不平衡問題,如何在這些網(wǎng)絡(luò)數(shù)據(jù)中取得較為理想的檢測效果,以及在海量高維度的網(wǎng)絡(luò)數(shù)據(jù)環(huán)境中,盡可能避免檢測模型過擬合現(xiàn)象,成為入侵檢測研究領(lǐng)域中不可避免的關(guān)鍵性問題。目前,基于淺層神經(jīng)網(wǎng)絡(luò)與簡易的機(jī)器學(xué)習(xí)[5]的入侵檢測方法,已經(jīng)難以滿足人們的需求,于是提出了深度學(xué)習(xí)[6]的入侵檢測方法。

        深度學(xué)習(xí)的概念于2006 年由Hinton 等人提出,深度神經(jīng)網(wǎng)絡(luò)具有逐層性、參數(shù)多等特點(diǎn),具備擬合任意復(fù)雜函數(shù)的優(yōu)勢,因此,可以進(jìn)行復(fù)雜的非線性映射,使用深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)模型處理海量高維度數(shù)據(jù)[7]進(jìn)行入侵檢測,實(shí)現(xiàn)高維數(shù)據(jù)的低維度集成式特征,提取出更優(yōu)質(zhì)的數(shù)據(jù)特征,得出檢測效果更高的分類結(jié)果。

        近年來,入侵檢測研究領(lǐng)域?qū)W者提出了多種基于深度學(xué)習(xí)的檢測模型。Niyaz Q[8]等人提出一種基于深度學(xué)習(xí)的自學(xué)習(xí)(STL)技術(shù)的網(wǎng)絡(luò)入侵檢測方法,該模型使用無監(jiān)督學(xué)習(xí)的方式從未標(biāo)記的數(shù)據(jù)中學(xué)習(xí)良好的特征表示,再進(jìn)行分類任務(wù)。Fiore U[9]等人提出使用判別受限的受限制玻爾茲曼機(jī)(DRBM),用于半監(jiān)督式的網(wǎng)絡(luò)異常檢測,提升神經(jīng)網(wǎng)絡(luò)泛化能力,并對提高分類精度方面有明顯效果。Yin C[10]等人提出一種深度學(xué)習(xí)方法,使用遞歸神經(jīng)網(wǎng)絡(luò)(RNN-IDS)進(jìn)行檢測,提高入侵檢測的準(zhǔn)確性。

        過高的數(shù)據(jù)維度會使模型出現(xiàn)過擬合的現(xiàn)象,訓(xùn)練集上表現(xiàn)良好,但模型對新數(shù)據(jù)的泛化學(xué)習(xí)能力下降,從而導(dǎo)致模型檢測率的降低。自編碼器對于高維度數(shù)據(jù)的集成式特征學(xué)習(xí)可以較好地解決該問題。

        2006年,Hinton等人提出采用自編碼器對高維數(shù)據(jù)進(jìn)行降維處理,避免高維數(shù)據(jù)產(chǎn)生的維數(shù)災(zāi)難[11]。2007年,Bengio等人模仿RBM構(gòu)建DBN的方法,使用自編碼器實(shí)現(xiàn)堆疊式自編碼[12]。2008 年,Vincent P 等人提出通過向傳統(tǒng)自編碼器中加入一定概率分布的噪聲,修改了基本的自編碼器,實(shí)現(xiàn)從破損不完整的數(shù)據(jù)集實(shí)現(xiàn)到對數(shù)據(jù)集的修復(fù)[13],從而得到魯棒性更強(qiáng)的數(shù)據(jù)集。2010 年,Vincent P 等人又提出基于去噪自編碼器的逐層相連的結(jié)構(gòu),將降噪自編碼器隱藏層作為下一層降噪自編碼器的輸入,構(gòu)成堆疊式降噪自編碼器[14],相比于普通自編碼器,具備了更強(qiáng)的特征學(xué)習(xí)能力。2014年,Srivastava 等人提出了調(diào)節(jié)Dropout 正則化中的超參數(shù)p(在網(wǎng)絡(luò)中保留某個(gè)神經(jīng)元的概率,獨(dú)立于其他神經(jīng)元),即以概率p 保留神經(jīng)元,構(gòu)造一種更加“稀疏”的網(wǎng)絡(luò)來防止DBN 網(wǎng)絡(luò)出現(xiàn)過擬合問題[15]。2017 年,蘭州大學(xué)陶亮亮等人同樣提出了使用Dropout方法來解決數(shù)據(jù)不均衡造成的堆疊式自編碼器深度網(wǎng)絡(luò)過擬合問題,提升模型的泛化學(xué)習(xí)能力,同時(shí)將Simgoid替換為Relu,加快網(wǎng)絡(luò)的收斂速度[16]。

        數(shù)據(jù)的不平衡問題導(dǎo)致少數(shù)類入侵?jǐn)?shù)據(jù)的檢測率下降,本文中所采用的NSL-KDD數(shù)據(jù)集[17-18]存在一定程度的數(shù)據(jù)比例不均衡問題,即存在某一種或幾種少數(shù)類別類型的數(shù)據(jù)所占比例很小,導(dǎo)致少數(shù)類別的分類檢測率低。解決數(shù)據(jù)比例的不平衡問題,數(shù)據(jù)層面的處理方法包括重采樣和數(shù)據(jù)合成。本文使用基于數(shù)據(jù)合成ADASYN 算法[19]。該算法根據(jù)少數(shù)樣本的分布特點(diǎn)自適應(yīng)在難以分類的地方合成新樣本。首先針對低頻率攻擊檢測率低的問題,使用ADASYN 算法自適應(yīng)合成新樣本添加到訓(xùn)練數(shù)據(jù)集中,提高少數(shù)類的檢測率。其次針對入侵檢測模型檢測率低的問題,將Dropout 正則化[20]與Adam優(yōu)化算法[21]應(yīng)用于堆疊式降噪自編碼器進(jìn)行模型改進(jìn)。利用深度學(xué)習(xí)的逐層性,使數(shù)據(jù)空間中的高維特征表達(dá)映射為低維特征表達(dá),在非監(jiān)督學(xué)習(xí)過程中,實(shí)現(xiàn)海量高維度數(shù)據(jù)到低維度魯棒性數(shù)據(jù)的特征重構(gòu)??梢越档蜕疃葘W(xué)習(xí)網(wǎng)絡(luò)的收斂時(shí)間,提高入侵檢測模型的檢測性能。

        2 改進(jìn)模型中使用的算法

        2.1 ADASYN算法

        ADASYN(Adaptive Synthetic Sampling Approach)算法是自適應(yīng)綜合過采樣算法。該方法可以根據(jù)少數(shù)類樣本的概率分布ri(ri為少數(shù)樣本合成數(shù)目的判定準(zhǔn)則)自適應(yīng)地合成少數(shù)類樣本,將合成的新樣本添加到數(shù)據(jù)集中,在難以分類的類別中合成更多的樣本,使樣本比例達(dá)到相對均衡的效果,緩解數(shù)據(jù)不平衡的問題。

        假設(shè)訓(xùn)練集樣本D 包含m 個(gè)樣本{xi,yi} ,i=1,2,…,m,其中xi是n 維特征空間X 的一個(gè)樣本,yi∈Y={0,1,2,3,4} 是類標(biāo)簽,yi=3,4 時(shí)為少數(shù)樣本,yi=0,1,2 為多數(shù)類樣本。這里用ms和ml分別表示少類和多數(shù)類樣本的數(shù)目。因此,有ms≤ml,且ms+ml=m。

        算法流程如下:

        (1)計(jì)算不平衡度d=ms/ml,式中d ∈(0,1]。

        (2)計(jì)算合成少數(shù)樣本數(shù):G=(ml-ms)×β ,式中β ∈[0,1]表示加入合成樣本后的不平衡度。 β=1 表示加入合成樣本后多數(shù)類和少數(shù)類完全平衡,G 等于少數(shù)類和多數(shù)類的差值。

        (3)對少數(shù)類的每個(gè)樣本xi,找出它們在n 維空間的K 近鄰,并計(jì)算其比率ri=Δi/K ,i=1,2,…,m,式中Δi是xi的K 近鄰中多數(shù)類的數(shù)目。因此,ri∈(0,1]。

        (5)根據(jù)每個(gè)少數(shù)樣本xi計(jì)算合成的樣本數(shù)目gi:×G,式中G 是合成樣本的總數(shù)。

        (6)在每個(gè)待合成的少數(shù)類樣本周圍k 個(gè)鄰居中選擇1個(gè)少數(shù)類樣本,根據(jù)下列等式進(jìn)行合成:

        2.2 自編碼器

        自編碼器(AutoEncoder,AE)是一種簡單的神經(jīng)網(wǎng)絡(luò)判別模型屬于無監(jiān)督網(wǎng)絡(luò)。自編碼器主要用于捕捉可以代表輸入數(shù)據(jù)的最重要因素,y 可以作為原始數(shù)據(jù)x 的一種集成特征表達(dá)。自編碼器在結(jié)構(gòu)上根據(jù)隱層的數(shù)量可分為淺層自編碼器和堆疊式自編碼器。自編碼器的基本原理如圖1所示。

        圖1 自編碼器原理

        自編碼器基于以下流程:

        (1)從輸入層到隱藏層的計(jì)算過程,即原始數(shù)據(jù)輸入x 經(jīng)過神經(jīng)元之間加權(quán)與偏置θ1=(W1,b1)處理后,進(jìn)行編碼器Encoder 中的激活函數(shù)f 編碼,得到了編碼數(shù)據(jù)y。

        (2)從隱藏層到輸出層的計(jì)算過程,即編碼數(shù)據(jù)y經(jīng)過θ2=(W2,b2)后,在進(jìn)行解碼器Decoder的函數(shù)g 解碼后,得到編碼重構(gòu)

        (3)編碼器的權(quán)值矩陣W1,通常與解碼器的權(quán)值矩陣W2互為轉(zhuǎn)置,即=W2。隱層神經(jīng)元的激活函數(shù)通常使用Sigmoid 函數(shù),通過非線性變換找到輸入數(shù)據(jù)的輸入表示。通過對參數(shù)θ 進(jìn)行反復(fù)的迭代調(diào)優(yōu),使編碼重構(gòu)誤差Lloss達(dá)到最小。

        2.3 堆疊式降噪自編碼器

        自動(dòng)編碼(AE)對于完整保留的數(shù)據(jù)輸入,通過簡單重構(gòu)可以學(xué)習(xí)到特征表達(dá),在原始數(shù)據(jù)中加入數(shù)據(jù)噪聲,對數(shù)據(jù)集進(jìn)行破壞,可以實(shí)現(xiàn)破損數(shù)據(jù)集到正常數(shù)據(jù)集的還原,可以使用降噪噪編碼器(DAE)進(jìn)行噪聲數(shù)據(jù)集的誤差重構(gòu),從而得到魯棒性更強(qiáng)的集成式特征表達(dá)。其中x 是n 維特征空間X 的一個(gè)樣本,降噪自編碼器原理如圖2所示。

        降噪自編碼器(DAE)是在自動(dòng)編碼器的基礎(chǔ)上,在原始輸入(raw input)中加入概率分布為qD數(shù)據(jù)高斯噪聲(Gaussian noise)X~qD(X′|X)的隨機(jī)映射,將X 實(shí)例中部分特征置為零,可以得到“破壞后”的噪聲數(shù)據(jù)輸入X′(Corrupted Input)。定義聯(lián)合分布函數(shù):

        圖2 降噪自編碼器

        Y 為X′的映射函數(shù),以θ 為參數(shù)。并使用梯度下降算法最小化目標(biāo)函數(shù):

        當(dāng)處理大規(guī)模、高緯度的數(shù)據(jù)集時(shí),淺層自編碼器很難發(fā)揮出它的作用,堆疊式自編碼器處理海量高維數(shù)據(jù)時(shí),使用深層模型可以提取出更加有效的集成式特征。

        堆疊式降噪自編碼器與2006年Hinton提出的深度信念網(wǎng)絡(luò)(DBN)以相同的方式來初始化神經(jīng)網(wǎng)絡(luò)。為了可以學(xué)習(xí)到有效的特征提取,噪聲輸入僅用于初始化單層的噪聲數(shù)據(jù)訓(xùn)練。

        降噪自編碼器由三層神經(jīng)網(wǎng)絡(luò)構(gòu)成,向第一層自編碼器DA1輸入“噪聲數(shù)據(jù)”X′,得到函數(shù)fθ,再使用DA1中的fθ函數(shù)學(xué)習(xí)原始數(shù)據(jù)X ,并使用DA1的原始數(shù)據(jù)的輸出作為第2 層自編碼器的輸入,將第2 層輸入再次進(jìn)行破壞,并重復(fù)訓(xùn)練第一層自編碼器的過程。

        形成逐層連接,實(shí)現(xiàn)堆疊式降噪自編碼器結(jié)構(gòu)如圖3所示。噪聲輸入通過逐層自編碼器的訓(xùn)練,實(shí)現(xiàn)特征變換的過程(X →DA1→DA2→…→DAn)。

        圖3 堆疊式去噪自編碼器

        在堆疊式降噪自編碼器模型輸出降噪降維的數(shù)據(jù)后,最后一層采用softmax 層,使用BP 算法進(jìn)行權(quán)值微調(diào),將神經(jīng)網(wǎng)絡(luò)的參數(shù)進(jìn)行調(diào)整,并實(shí)現(xiàn)對數(shù)據(jù)集的分類功能。

        2.4 Dropout正則化

        典型神經(jīng)網(wǎng)絡(luò)訓(xùn)練通過網(wǎng)絡(luò)進(jìn)行正向傳導(dǎo)輸入值,之后將網(wǎng)絡(luò)生成的誤差進(jìn)行反向傳播。Dropout針對該過程,隨機(jī)刪除隱藏層單元,由于刪除隱藏單元是隨機(jī)過程,并且隨機(jī)采取一定批次訓(xùn)練集進(jìn)行訓(xùn)練,保證最后每個(gè)模型用相同權(quán)重來融合,實(shí)現(xiàn)類似boosting[22]算法的效果。保證每2個(gè)隱含節(jié)點(diǎn)不能每次同時(shí)出現(xiàn),使全連接網(wǎng)絡(luò)具有了一定稀疏化的性質(zhì),減輕不同特征的協(xié)同效應(yīng)(即有效組織了某些特征在其他特征存在下才有效果的情況),增加了神經(jīng)網(wǎng)絡(luò)的魯棒性。Dropout可以有效減輕過擬合的發(fā)生,一定程度上達(dá)到了正則化的效果,并且減少神經(jīng)網(wǎng)絡(luò)收斂時(shí)間。Dropout 工作原理如圖4所示。

        圖4 dropout工作原理

        2.5 Adam優(yōu)化算法

        Adam(適應(yīng)性矩陣估計(jì))算法是隨機(jī)梯度下降算法的擴(kuò)展式,是一種可以替代傳統(tǒng)隨機(jī)梯度下降(SGD)[23]過程的一階優(yōu)化算法,近年來被廣泛應(yīng)用于深度學(xué)習(xí)中。它能夠訓(xùn)練數(shù)據(jù),并更新神經(jīng)網(wǎng)絡(luò)的權(quán)重。能夠進(jìn)行高效計(jì)算,適應(yīng)性地改變學(xué)習(xí)率,所需內(nèi)存少,減少神經(jīng)網(wǎng)絡(luò)收斂時(shí)間,適用于解決大規(guī)模數(shù)據(jù)和參數(shù)優(yōu)化、非穩(wěn)定目標(biāo)以及高噪聲和稀疏梯度問題。

        隨機(jī)梯度下降算法保持單一學(xué)習(xí)率調(diào)節(jié)自編碼器中各層的權(quán)值。學(xué)習(xí)率在訓(xùn)練過程中不會改變。Adam算法結(jié)合了Adagrad算法[24]善于處理稀疏梯度和RMSprop算法[25]善于處理非平穩(wěn)目標(biāo)的優(yōu)點(diǎn),為不同參數(shù)提供不同的自適應(yīng)學(xué)習(xí)率,適用于高維空間和大數(shù)據(jù)集。

        Adam優(yōu)化算法如下:

        (1)計(jì)算參數(shù)的梯度值g

        輸入:hn-1與hn的損失函數(shù),數(shù)據(jù)集的小批量m

        輸出:計(jì)算參數(shù)的梯度值g

        For i=1,2,…,n

        End for

        (2)計(jì)算矩估計(jì)mt和vt

        輸入:指數(shù)衰減率β1,β2∈[0,1]

        輸出:修正后一階、二階矩陣估計(jì)mt與vt

        While θtnot converged do

        mt和vt分別為有偏差的一階矩估計(jì)和有偏差的二階矩估計(jì)。

        其中β1,β2∈[0,1]為控制mt與vt的指數(shù)衰減率。

        對一階矩估計(jì)與二階矩估計(jì)進(jìn)行相應(yīng)的偏差值修正,如公式(9)和(10):

        梯度g 的矩估計(jì)經(jīng)過偏置矯正后,每一次迭代學(xué)習(xí)率都有一個(gè)固定范圍,使參數(shù)相對平穩(wěn)。

        (3)參數(shù)θ 更新

        通過以上計(jì)算實(shí)現(xiàn)模型參數(shù)θ 的更新,其中ε 為用于數(shù)值穩(wěn)定的小常數(shù),防止尋找最優(yōu)梯度時(shí)發(fā)生除零現(xiàn)象。當(dāng)參數(shù)θ 沒有收斂時(shí),循環(huán)迭代更新各個(gè)部分。

        輸出:模型參數(shù)θt

        End while

        Return θt

        3 改進(jìn)SDA的入侵檢測模型及算法

        3.1 ADASYN-SDA模型

        基于改進(jìn)堆疊式降噪自編碼的入侵檢測模型(ADASYN-SDA)如圖5所示。其工作流程如下:

        (1)預(yù)處理(Pre-treatment)。第一步,對數(shù)據(jù)集單條實(shí)例進(jìn)行數(shù)據(jù)與標(biāo)簽分離。第二步,將字符型特征進(jìn)行數(shù)值化處理,實(shí)現(xiàn)數(shù)據(jù)高維空間映射。第三步,進(jìn)行數(shù)據(jù)集最大最小歸一化。第四步,進(jìn)行標(biāo)簽one-hot編碼。第五步,采用ADASYN 算法對訓(xùn)練集進(jìn)行數(shù)據(jù)過采樣操作,增加少數(shù)樣本R2L,U2R攻擊類型數(shù)據(jù)的數(shù)量。

        圖5 ADASYN-SDA入侵檢測模型

        (2)特征降維(Extract feature)。第一步,使用Dropout正則化與Adam優(yōu)化算法對神經(jīng)網(wǎng)絡(luò)進(jìn)行改進(jìn),針對其隱層層數(shù)、節(jié)點(diǎn)數(shù)進(jìn)行設(shè)計(jì)。第二步,神經(jīng)網(wǎng)絡(luò)模型的預(yù)訓(xùn)練、權(quán)值微調(diào)。第三步,用堆疊式降噪自編碼器對預(yù)處理數(shù)據(jù)集進(jìn)行集成式特征提取。

        (3)入侵檢測(Intrusion detection)。將深度網(wǎng)絡(luò)模型生成的低維度、高魯棒性數(shù)據(jù)集輸入到softmax 分類器[26]中,進(jìn)行入侵檢測。

        3.2 降噪自編碼器參數(shù)更新

        降噪自編碼器模型參數(shù)初始化,其目的在于找出降噪自編碼器模型最合適的參數(shù),可按照以下步驟進(jìn)行參數(shù)更新,具體過程如算法1所示。

        算法1 DAE

        輸入:原始輸入X ,輸入層節(jié)點(diǎn)數(shù),隱藏層節(jié)點(diǎn)數(shù),學(xué)習(xí)率l r,噪聲破壞率c r,最大迭代次數(shù)Tmax

        輸出:模型參數(shù)θ={W,b},隱藏層輸出Y算法如下:

        (1)X′=get corrupted input(X,c r)

        (2)For T from 1 to Tmax

        (3) Y=get hidden(X′,W1,b1)

        (4) Z=get reconstruction(Y,W2,b2)

        (5) cost=get cost(X,Z)

        (6) for param in Adam(W,b)

        (7) gparam=get gradient(cost,param)

        (8) param=param-l r*gparam

        (9) End for

        (10)End for

        3.3 SDA模型訓(xùn)練

        SDA模型的預(yù)訓(xùn)練與權(quán)值微調(diào)如圖6所示。

        圖6 SDA模型預(yù)訓(xùn)練與微調(diào)

        堆疊式降噪自編碼器預(yù)訓(xùn)練的過程中,采用無監(jiān)督貪婪逐層預(yù)訓(xùn)練對每一層降噪自編碼器進(jìn)行預(yù)訓(xùn)練,進(jìn)行深度網(wǎng)絡(luò)模型的權(quán)值初始化,并將上一層自編碼器的隱藏層作為下一編碼器的輸入層,逐層進(jìn)行連接,預(yù)訓(xùn)練的過程如算法2所示。

        算法2 Pre-Train-DAE

        輸入:隱藏層輸出Y out,隱藏層層數(shù)n layers,學(xué)習(xí)率l r,噪聲破壞率c r,單層自編碼器最大迭代次數(shù)Tmax

        算法如下:

        (1)For i from 1 to n layers

        (2)X′=get corrupted input(Y out,c r[i])

        (3) For T from 1 to Tmax

        (4) Y=get hidden(X′,W1[i],b1[i])

        (5) Z=get reconstruction(Y,W2[i],b2[i])

        (6) Cost=get cost(Y out,Z)

        (7) For param in Adam(W[i],b[i])

        (8) gparam=get gradient(cost,param)

        (9) param=param-l r[i]*gparam

        (10) End for

        (11) End for

        (12)Y out=X

        (13)End for

        堆疊降噪自編碼器權(quán)值微調(diào)的過程中,使用反向傳播算法對深度網(wǎng)絡(luò)模型進(jìn)行有監(jiān)督的權(quán)值微調(diào),將原始數(shù)據(jù)與重構(gòu)數(shù)據(jù)之間的重構(gòu)誤差降低至最小。

        算法3 Fine-Tune-DAE

        輸出:堆疊式降噪自編碼器模型(SDA)

        算法如下:

        (1)While T <Tmaxdo

        (2) For batch in m

        (3) Cost=get fine cost(X)

        (4) For i from 1 to n layers

        (5) For param in Adam(W[i],b[i])

        (6) gparam=get gradient(cost,param)

        (7) param=param-l r[i]*gparam

        (8) End for

        (9) End for

        (10) valid error=get valid error(batch)

        (11) if valid error <best valid error

        (12) update best vaild error

        (13) test error=get test error(n)

        (14) if test error <best test error

        (15) update best test error

        (16) End if

        (17) End if

        (18) End for

        (19)End while

        4 實(shí)驗(yàn)分析

        4.1 實(shí)驗(yàn)環(huán)境與評價(jià)指標(biāo)

        (1)實(shí)驗(yàn)環(huán)境

        操作系統(tǒng):Window 10

        編程環(huán)境:python 3.5、matlab7.0

        處理器:Inter?CoreTMi5-4210U CPU@ 1.70 GHz 2.40 GHz

        內(nèi)存(RAM):4.00 GB

        系統(tǒng)類型:64位硬件環(huán)境

        (2)評價(jià)指標(biāo)

        評估樣例采用二分類混淆矩陣,如表1所示。其中TP 代表正確的正例,TN 代表正確的負(fù)例,F(xiàn)P 代表錯(cuò)誤的正例,F(xiàn)N代表錯(cuò)誤的負(fù)例。

        表1 二分類混淆矩陣

        評價(jià)指標(biāo)如下:

        準(zhǔn)確率(Accuracy):被正確分類的樣本除以所有樣本,整體模型檢測能力。檢測率(Detection):被正確識別的異常樣本除以異常樣本,模型對攻擊類別的檢測能力。誤判率(Error):正常樣本被誤報(bào)為異常的樣本除去所有正常樣本,對正常樣本的檢測能力。

        4.2 實(shí)驗(yàn)數(shù)據(jù)

        實(shí)驗(yàn)數(shù)據(jù)集采用NSL-KDD數(shù)據(jù)集作為入侵檢測實(shí)驗(yàn)的訓(xùn)練集和測試集。NSL-KDD 數(shù)據(jù)集解決了KDDCUP99 數(shù)據(jù)集存在的固有問題,不包含冗余記錄,分類器不會偏向更頻繁的記錄,提高了分類器檢測性能。實(shí)驗(yàn)數(shù)據(jù)分布如表2所示。

        表2 實(shí)驗(yàn)數(shù)據(jù)分布

        數(shù)據(jù)集中單條實(shí)例包括22種TCP連接的基本特征與內(nèi)容特征,19 種基于主機(jī)和時(shí)間的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征。網(wǎng)絡(luò)連接實(shí)例類型可以分為5大類,數(shù)據(jù)集正常類別數(shù)據(jù)標(biāo)簽為Normal,以及4大攻擊類型數(shù)據(jù)標(biāo)簽分別為DOS(拒絕服務(wù)攻擊)、Probe(端口監(jiān)視或掃描)、R2L(未授權(quán)的本地超級用戶特權(quán)訪問)、U2R(來自遠(yuǎn)程主機(jī)未授權(quán)訪問)。

        4.3 數(shù)據(jù)預(yù)處理

        NSL-KDD 數(shù)據(jù)集單條實(shí)例的41 個(gè)特征由38 個(gè)數(shù)字型特征與3 個(gè)字符型特征構(gòu)成。數(shù)據(jù)預(yù)處理分為以下3個(gè)步驟:

        (1)高維特征映射

        本文將符號型的特征轉(zhuǎn)化為二進(jìn)制數(shù)字型特征,將protocol_type_dict(協(xié)議類型)中3 種字符類型進(jìn)行轉(zhuǎn)換,tcp-[1,0,0],udp-[0,1,0],icmp-[0,0,1]。server_type_dict(目標(biāo)主機(jī)網(wǎng)絡(luò)類型)70種,flag_dict(連接正確或錯(cuò)誤類型)11 種,字符特征轉(zhuǎn)化為數(shù)字特征,將41 維特征轉(zhuǎn)化為122 維特征,采用該方法處理數(shù)據(jù),使歸一化后數(shù)據(jù)范圍為[0,1],方便進(jìn)行分類處理,減少與原數(shù)據(jù)間誤差。

        (2)One-Hot編碼

        將各個(gè)小類型的字符型標(biāo)簽替換為五種大類型標(biāo)簽,五種字符型的數(shù)據(jù)標(biāo)簽進(jìn)行One-Hot 編碼,過程如下:將Normal映射為1,0,0,0,0;將Probe映射為0,1,0,0,0;將Dos 映射為0,0,1,0,0;將R2L 映射為0,0,0,1,0;將U2R映射為0,0,0,0,1。

        (3)歸一化

        將原始數(shù)據(jù)歸一化,轉(zhuǎn)化到[0,1]范圍的操作稱為最大最小歸一化。為了數(shù)據(jù)方便處理,防止大數(shù)據(jù)對小數(shù)據(jù)的覆蓋,提高模型的檢測性能。 x 為單條數(shù)據(jù)實(shí)例的特征,Xmin為該特征最大值,Xmin為該特征最小值。

        4.4 模型參數(shù)設(shè)置

        本文使用的堆疊式降噪自編碼器為深度神經(jīng)網(wǎng)絡(luò)。參數(shù)設(shè)置如表3所示。

        表3 參數(shù)設(shè)置

        將自編碼器網(wǎng)絡(luò)總層數(shù)設(shè)置為5層,隱藏層數(shù)量為3 層,其中輸入層節(jié)點(diǎn)數(shù)為高維映射后數(shù)據(jù)維數(shù)122 個(gè)節(jié)點(diǎn),3個(gè)隱藏層節(jié)點(diǎn)數(shù)量分別為90-60-30,輸出層隱層節(jié)點(diǎn)數(shù)設(shè)置為5。其中每層自編碼器迭代次數(shù)設(shè)置為70 次,網(wǎng)絡(luò)權(quán)值BP 反向傳播算法微調(diào)迭代次數(shù)設(shè)置為100次。Adam算法中,學(xué)習(xí)率設(shè)置為0.001,一階矩估計(jì)指數(shù)衰減率設(shè)置為0.9,二階矩估計(jì)指數(shù)衰減率設(shè)置為0.999,常數(shù)穩(wěn)定值為10E-8,Dropout正則化參數(shù)設(shè)置為0.5,各個(gè)網(wǎng)絡(luò)層節(jié)點(diǎn)的參數(shù)由逐層訓(xùn)練進(jìn)行初始化,并且逐層加入一定概率的噪聲值分別為0.7,0.4,0.4,0.2。

        4.5 實(shí)驗(yàn)結(jié)果分析

        4.5.1 模型參數(shù)分析

        在NSL-KDD 數(shù)據(jù)集的基礎(chǔ)上進(jìn)行數(shù)據(jù)抽樣,使用該數(shù)據(jù)在ADASYN-SDA中進(jìn)行對比實(shí)驗(yàn),分析模型參數(shù)對模型性能的影響。數(shù)據(jù)抽樣如表4所示。

        表4 抽樣數(shù)據(jù)

        (1)網(wǎng)絡(luò)層數(shù)以及隱層的節(jié)點(diǎn)數(shù)設(shè)置

        確定最佳深層網(wǎng)絡(luò)層數(shù)結(jié)構(gòu)。為了確定SDA模型的最佳層數(shù)結(jié)構(gòu),進(jìn)行了5種不同層數(shù)的對比實(shí)驗(yàn)。當(dāng)網(wǎng)絡(luò)層數(shù)由2 層增長到6 層時(shí),訓(xùn)練時(shí)間由78 s 增加到144 s。而當(dāng)網(wǎng)絡(luò)層數(shù)確定在5 層時(shí),準(zhǔn)確率達(dá)到了99.39%。當(dāng)層數(shù)為6 層時(shí),訓(xùn)練時(shí)間大幅增加,達(dá)到144 s。而準(zhǔn)確率卻下降了,通過綜合對比,將深層網(wǎng)絡(luò)層數(shù)設(shè)置為5層。層數(shù)對比如表5所示。

        表5 層數(shù)對比

        (2)Dropout的參數(shù)設(shè)置

        確定最佳Dropout 隨機(jī)刪除率。將Dropout 隨機(jī)刪除率設(shè)置為從0.1~0.5,當(dāng)Dropout 隨機(jī)刪除率設(shè)置為0.15時(shí),準(zhǔn)確率達(dá)到最高值,之后準(zhǔn)確率開始逐漸下降,將Dropout隨機(jī)刪除率設(shè)置為0.1或0.15時(shí),模型檢測性能達(dá)到最佳值。Dropout對比如表6所示。

        表6 Dropout對比

        (3)優(yōu)化器對比

        確定最佳優(yōu)化器。選擇4 種常見的優(yōu)化算法放入模型中,進(jìn)行模型的檢測性能對比,如表7 所示。深度神經(jīng)網(wǎng)絡(luò)中常見的SGD 優(yōu)化器的準(zhǔn)確率為96.54%,檢測效果一般,其中選用Adam 優(yōu)化器時(shí),神經(jīng)網(wǎng)絡(luò)模型的檢測效果最佳,準(zhǔn)確率達(dá)到99.53%。優(yōu)化器對比如表7所示。

        表7 優(yōu)化器對比

        4.5.2 與其他模型對比分析

        (1)數(shù)據(jù)抽樣對比

        為了驗(yàn)證ADASYN-SDA 模型的有效性,隨機(jī)抽取4個(gè)實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行驗(yàn)證,并與SDA、AE-DNN和MSVM模型進(jìn)行實(shí)驗(yàn)對比。4 個(gè)實(shí)驗(yàn)數(shù)據(jù)集數(shù)據(jù)分布如表8所示。

        表8 實(shí)驗(yàn)數(shù)據(jù)分配

        (2)檢測結(jié)果分析

        將4 個(gè)實(shí)驗(yàn)數(shù)據(jù)集IDS1、IDS2、IDS3 和IDS4 數(shù)據(jù)輸入ADASYN-SDA、SDA、AE-DNN 和MSVM 模型中進(jìn)行準(zhǔn)確率、檢測率、誤報(bào)率等對比實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如圖7~9、表9~11 所示,4 種模型實(shí)驗(yàn)結(jié)果平均值如表12所示。

        圖7 準(zhǔn)確率實(shí)驗(yàn)結(jié)果

        由圖7~9、表9~11 實(shí)驗(yàn)結(jié)果可知,在4 種不同數(shù)據(jù)集中,ADASYN-SDA 模型的準(zhǔn)確率、檢測率和誤報(bào)率三項(xiàng)指標(biāo)均優(yōu)于對比實(shí)驗(yàn)的3 個(gè)模型。

        圖9 誤報(bào)率實(shí)驗(yàn)結(jié)果

        表9 準(zhǔn)確率實(shí)驗(yàn)結(jié)果 %

        表10 檢測率實(shí)驗(yàn)結(jié)果 %

        表11 誤報(bào)率實(shí)驗(yàn)結(jié)果 %

        穩(wěn)定性分析:ADASYN-SDA 模型表現(xiàn)出相對平穩(wěn)的檢測性能,其中誤報(bào)率最為平穩(wěn),4 個(gè)數(shù)據(jù)的誤報(bào)率分別為0.29%、0.50%、0.34%和0.22%。而AE-DNN 和MSVM 模型在平均準(zhǔn)確率、誤報(bào)率和檢測率上出現(xiàn)了較大波動(dòng)。在穩(wěn)定性上,不及ADASYN-SDA模型。SDA模型,穩(wěn)定性上與ADASYN-SDA模型相似。

        性能分析:由表12 可知ADASYN-SDA 模型對比SDA、AE-DNN、MSVM 模型,平均準(zhǔn)確率分別提高了1.39%、4.69%和4.82%,平均檢測率分別提高了6.74%、9.62%和11.93%,平均誤報(bào)率分別降低了0.58%、0.77%和0.93%。

        表12 四種模型實(shí)驗(yàn)結(jié)果平均值 %

        綜上所述,ADASYN-SDA 模型在穩(wěn)定性上優(yōu)于AE-DNN和MSVM模型,在平均準(zhǔn)確率、平均檢測率和平均誤報(bào)率三種評價(jià)指標(biāo)上優(yōu)于SDA、AE-DNN和MSVM模型。因此,ADASYN-SDA 模型在檢測性能上擁有比較明顯的優(yōu)勢。

        (3)U2R、R2L檢測率

        表4 的抽樣測試集中R2L 攻擊類型的數(shù)量為196,U2R攻擊類型的數(shù)量為10,相比其他類型實(shí)驗(yàn)數(shù)據(jù)樣本比例嚴(yán)重失衡。使用ADASYN 方法對訓(xùn)練集中U2R、R2L類型數(shù)據(jù)進(jìn)行過采樣處理。

        同時(shí)對ADASYN-SDA、SDA、AE-DNN 和MSVM四種模型。使用表4的抽樣數(shù)據(jù),進(jìn)行檢測率實(shí)驗(yàn)對比分析。實(shí)驗(yàn)表明,ADASYN-SDA 模型的分類檢測率上略高于SDA、AE-DNN、MSVM模型,并提高了少數(shù)類別攻擊類型數(shù)據(jù)(U2R,R2L)檢測率,低頻攻擊檢測率如表13所示。

        表13 低頻攻擊檢測率 %

        5 結(jié)束語

        對于海量高維度、不平衡數(shù)據(jù),傳統(tǒng)入侵檢測模型效果差的問題,提出了自適應(yīng)過采樣算法(ADASYN)算法與堆疊式降噪自編碼器(SDA)結(jié)合算法。在SDA模型中加入一定概率的Dropout 正則化,可以緩解深度網(wǎng)絡(luò)模型容易產(chǎn)生過擬合現(xiàn)象。Adam算法優(yōu)化損失函數(shù)有效避免了局部最優(yōu)問題,加快了網(wǎng)絡(luò)收斂速度,大幅度提升了模型檢測性能。針對NSL-KDD數(shù)據(jù)集存在數(shù)據(jù)比例不平衡問題,采用ADASYN 算法對少數(shù)類別的數(shù)據(jù)U2R 與R2L 進(jìn)行過采樣處理,有效提升了低頻攻擊數(shù)據(jù)檢測率。使用預(yù)處理后數(shù)據(jù)集,在SDA 模型中進(jìn)行集成式特征提取,進(jìn)行入侵檢測。實(shí)驗(yàn)表明,相較于對比模型,在準(zhǔn)確率、檢測率、誤判率三個(gè)評價(jià)指標(biāo)上都提升了一定的百分比,ADASYN-SDA 模型的平均準(zhǔn)確率達(dá)到99.01%,平均誤報(bào)率達(dá)到0.34%,平均檢測率達(dá)到97.01%。雖然該方法具有較為良好與穩(wěn)定的檢測性能,但仍然具有提升空間,如何提高該模型異常樣本檢測率,是下一步需要解決的關(guān)鍵問題。

        猜你喜歡
        特征實(shí)驗(yàn)檢測
        記一次有趣的實(shí)驗(yàn)
        “不等式”檢測題
        “一元一次不等式”檢測題
        “一元一次不等式組”檢測題
        如何表達(dá)“特征”
        做個(gè)怪怪長實(shí)驗(yàn)
        不忠誠的四個(gè)特征
        抓住特征巧觀察
        NO與NO2相互轉(zhuǎn)化實(shí)驗(yàn)的改進(jìn)
        實(shí)踐十號上的19項(xiàng)實(shí)驗(yàn)
        太空探索(2016年5期)2016-07-12 15:17:55
        国产在线观看自拍av| 日韩精品欧美激情亚洲综合| 中文人妻av大区中文不卡| 日本师生三片在线观看| 久久偷看各类wc女厕嘘嘘偷窃| 男女啪啪免费体验区| av资源在线看免费观看| 中文字幕手机在线精品| 欧美怡春院一区二区三区| 国产成人av性色在线影院色戒| 五月丁香六月综合激情在线观看| 亚洲女同恋中文一区二区| 亚洲av综合国产av日韩| 亚洲第一av导航av尤物| 无码一区二区三区AV免费换脸| 久久精品国产精品亚洲婷婷| 日韩精品视频久久一区二区| 国产高清在线精品一区二区三区 | 久久久久99精品成人片直播| 极品粉嫩嫩模大尺度无码 | 国产精品中文字幕日韩精品| 欧美丰满少妇xxxx性| 夫妇交换刺激做爰视频| 久久国产精品免费一区六九堂| av在线入口一区二区| 国产成人无码18禁午夜福利p| 成人区人妻精品一区二区不卡网站| 国产大陆av一区二区三区| 极品尤物精品在线观看| 欧美人与物videos另类| 99久久国产亚洲综合精品| 一区二区三区在线日本视频| 久久婷婷五月综合色欧美 | 加勒比在线一区二区三区| 激情亚洲不卡一区二区| 色狠狠色噜噜av天堂一区| 国产成人精品午夜福利在线| av手机天堂在线观看| 人人妻人人澡人人爽人人精品av | 亚洲av无一区二区三区| 国产婷婷色综合av蜜臀av|