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

?

基于DT 及PCA 的DNN 入侵檢測(cè)模型

2021-08-07 07:42武曉棟劉敬浩毛思平
計(jì)算機(jī)與生活 2021年8期
關(guān)鍵詞:神經(jīng)元準(zhǔn)確率編碼

武曉棟,劉敬浩,金 杰,毛思平

天津大學(xué) 電氣自動(dòng)化與信息工程學(xué)院,天津 300072

通信系統(tǒng)與網(wǎng)絡(luò)入口時(shí)時(shí)刻刻都面臨著來(lái)自于外部甚至于其系統(tǒng)內(nèi)部的網(wǎng)絡(luò)攻擊,且不似網(wǎng)絡(luò)未成熟時(shí)期的單一攻擊,如今的絕大多數(shù)入侵行為種類多樣并且呈混合態(tài)勢(shì)發(fā)展,防御起來(lái)愈發(fā)困難。據(jù)相關(guān)文獻(xiàn),雅虎數(shù)據(jù)泄露造成了3.5 億美元的損失,比特幣泄露導(dǎo)致了大約7 000 萬(wàn)美元的損失[1]?;谌肭中袨椋肭謾z測(cè)可分為基于網(wǎng)絡(luò)的入侵檢測(cè)系統(tǒng)(network based intrusion detection system,NIDS)和基于主機(jī)的入侵檢測(cè)系統(tǒng)(host based intrusion detection system,HIDS)[2]。HIDS 通過(guò)查看在本地主機(jī)上生成的各種日志文件、磁盤資源信息以及系統(tǒng)信息等來(lái)檢測(cè)入侵行為,而NIDS 通過(guò)檢測(cè)出入本地的網(wǎng)絡(luò)數(shù)據(jù)流中的數(shù)據(jù)包來(lái)判斷是否有入侵行為。機(jī)器學(xué)習(xí)作為近幾年非常熱門的一種算法工具,理所應(yīng)當(dāng)?shù)挠袑<覍W(xué)者嘗試其在入侵檢測(cè)方面的應(yīng)用[3]。尤其是近幾年,機(jī)器學(xué)習(xí)在入侵檢測(cè)方面的應(yīng)用大范圍地出現(xiàn)在人們的視野中,從支持向量機(jī)(support vector machine,SVM)到神經(jīng)網(wǎng)絡(luò)(neural networks,NN)再到隨機(jī)森林(random forest,RF)都有其在入侵檢測(cè)中的應(yīng)用。

1 相關(guān)研究

機(jī)器學(xué)習(xí)在入侵檢測(cè)方面的應(yīng)用早有先例。2003 年Kruegel 等人[4]將決策樹(shù)(decision tree,DT)應(yīng)用到入侵檢測(cè)中去,相較于當(dāng)時(shí)的Snort 檢測(cè)引擎[5]能夠?qū)崿F(xiàn)更加迅速的檢測(cè)速度;2004 年陳光英等人提出了特征選擇與SVM 訓(xùn)練模型的聯(lián)合優(yōu)化方法,并用入侵檢測(cè)數(shù)據(jù)集進(jìn)行了實(shí)驗(yàn),結(jié)果證明聯(lián)合優(yōu)化方法能更好地提高SVM 性能,并且有更快的收斂速度,這是國(guó)內(nèi)比較早的一篇利用了機(jī)器學(xué)習(xí)方法的入侵檢測(cè)相關(guān)文獻(xiàn)[6]。饒鮮等人基于支持向量機(jī)進(jìn)行入侵檢測(cè),對(duì)實(shí)時(shí)性問(wèn)題進(jìn)行了研究,但準(zhǔn)確率較低[7]。2016 年,Ikram 等人提出利用主成分分析(principal component analysis,PCA)技術(shù)降維后用SVM 來(lái)檢測(cè)入侵,其新穎之處在于SVM 中應(yīng)用了參數(shù)自優(yōu)化技術(shù),提高了分類器的準(zhǔn)確率并減少了訓(xùn)練以及測(cè)試的時(shí)間[8]。2019 年,國(guó)內(nèi)學(xué)者楊宏宇等人提出一種基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)的入侵檢測(cè)模型[9],具有較高的入侵檢測(cè)準(zhǔn)確率與真陽(yáng)率,且誤報(bào)率較低。同年,F(xiàn)ernandez 等人提出利用前饋全連接深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,DNN)來(lái)訓(xùn)練入侵檢測(cè)系統(tǒng)(intrusion detection system,IDS),由于DNN在動(dòng)態(tài)IP地址分配的情況下表現(xiàn)出魯棒性,他們所提出的這個(gè)模型在現(xiàn)實(shí)中有更加廣泛的應(yīng)用范圍[10]。仍然在2019 年,劉敬浩等人提出了一種基于ICA(independent component analysis)與DNN 的入侵檢測(cè)模型ICA-DNN[11],相較于一些淺層機(jī)器學(xué)習(xí)模型具有更好的特征學(xué)習(xí)能力和更精確的分類能力,但是對(duì)于算法的預(yù)測(cè)時(shí)間并未進(jìn)行具體評(píng)估,模型實(shí)時(shí)性較差。綜合以上學(xué)者所提出的入侵檢測(cè)模型發(fā)現(xiàn)大多數(shù)研究對(duì)入侵檢測(cè)的實(shí)時(shí)性研究不夠重視,而少數(shù)對(duì)實(shí)時(shí)性有較深入研究的入侵檢測(cè)模型則存在檢測(cè)準(zhǔn)確率不高的問(wèn)題。為了深入研究對(duì)于入侵檢測(cè)十分重要的實(shí)時(shí)性問(wèn)題并保證入侵檢測(cè)的準(zhǔn)確率,本文提出DT-PCA-DNN 模型。訓(xùn)練后的DT 實(shí)際上為一系列的if-else 語(yǔ)句,處理大批量數(shù)據(jù)速度極高,但處理精細(xì)度不足;DNN 網(wǎng)絡(luò)在處理大量高維度數(shù)據(jù)時(shí)的實(shí)時(shí)性較差,但精細(xì)度高。將二者結(jié)合,首先用DT 對(duì)數(shù)據(jù)進(jìn)行一次預(yù)過(guò)濾再PCA 后送入DNN,實(shí)驗(yàn)結(jié)果表明,該模型在保證了較高檢測(cè)率的同時(shí)大大提升了訓(xùn)練以及檢測(cè)速度。

2 基礎(chǔ)理論

2.1 主成分分析

PCA 是十分常用的一種線性降維算法,一般用于將高維度的數(shù)據(jù)的主要成分提取后簡(jiǎn)化為低維度數(shù)據(jù),但是數(shù)據(jù)的完整程度可以根據(jù)需求進(jìn)行調(diào)整。具體而言,PCA 希望將原始的特征空間映射到另外一個(gè)正交空間內(nèi),而且希望可以使用一個(gè)滿足最近重構(gòu)性及最大可分性的超平面來(lái)對(duì)數(shù)據(jù)集內(nèi)所有的數(shù)據(jù)進(jìn)行適當(dāng)?shù)拿枋?。最近重?gòu)性:數(shù)據(jù)集內(nèi)的點(diǎn)到這個(gè)超平面的距離比較近。最大可分性:數(shù)據(jù)集上的不同點(diǎn)在這個(gè)超平面上的投影要盡量遠(yuǎn)。如圖1(a)所示,二維平面上存在若干數(shù)據(jù),經(jīng)由適當(dāng)基變換(xy→ab),得到圖1(b)。在圖1(b)中,數(shù)據(jù)點(diǎn)在原基兩個(gè)維度的全部信息都包含于a軸,b軸的存在與否不影響數(shù)據(jù)完整性。由此,實(shí)現(xiàn)了二維數(shù)據(jù)到一維的降維。本次實(shí)驗(yàn)所采用的數(shù)據(jù)集在預(yù)處理后維度值為122,經(jīng)由PCA 降維至11 維,大幅度降低了數(shù)據(jù)維度間的相關(guān)性,簡(jiǎn)化了計(jì)算的復(fù)雜性,提供了神經(jīng)網(wǎng)絡(luò)所需要的低維數(shù)據(jù)源。

Fig.1 Diagram of data dimensionality reduction圖1 簡(jiǎn)單數(shù)據(jù)降維示意圖

2.2 決策樹(shù)

決策樹(shù)模型是一種描述對(duì)實(shí)例進(jìn)行分類的樹(shù)形結(jié)構(gòu),由節(jié)點(diǎn)(node)和有向邊(directed edge)組成,節(jié)點(diǎn)有兩種類型:表示一個(gè)特征或者屬性的內(nèi)部節(jié)點(diǎn)(internal node),表示一個(gè)類的葉節(jié)點(diǎn)[12](leaf node)。決策樹(shù)由根節(jié)點(diǎn)開(kāi)始不斷依據(jù)數(shù)據(jù)的特征進(jìn)行分裂,直至所有數(shù)據(jù)到達(dá)葉子節(jié)點(diǎn)。作為分裂依據(jù)的屬性必須是離散屬性,對(duì)于連續(xù)屬性,可以按照實(shí)驗(yàn)需求將其離散化。某售樓處想要根據(jù)對(duì)象的身份信息、年齡與是否已婚來(lái)判斷被調(diào)查對(duì)象是否有購(gòu)房需求,調(diào)查結(jié)果如表1 所示。

Table 1 Respondent information and willingness表1 被調(diào)查對(duì)象信息意愿表

由此可生成對(duì)應(yīng)決策樹(shù)如圖2,當(dāng)有對(duì)象F 身份為公司職員,已婚,29 歲,可根據(jù)決策樹(shù)得知其有購(gòu)房需求。

Fig.2 Decision chart of respondent圖2 對(duì)象決策圖

上例中調(diào)查對(duì)象的特征選擇順序不同,就可以生成不同的決策樹(shù)。依據(jù)選取不同分裂特征有三種判決依據(jù),分別為信息增益、增益率、基尼指數(shù)。ID3(iterative dichotomiser 3)算法的核心是在決策樹(shù)各個(gè)節(jié)點(diǎn)上應(yīng)用信息增益準(zhǔn)則選擇特征,C4.5算法用信息增益比來(lái)選擇特征,CART(classification and regression tree)則將基尼指數(shù)作為選擇特征的依據(jù)。關(guān)于決策樹(shù)剪枝以及具體特征選擇由于篇幅原因不予贅述,參考文獻(xiàn)[12]即可。

2.3 深度神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)是由具有適應(yīng)性的簡(jiǎn)單單元組成的廣泛并行互連的網(wǎng)絡(luò),它的組織能夠模擬生物神經(jīng)系統(tǒng)對(duì)真實(shí)世界物體所作出的交互反應(yīng)[13],此處所說(shuō)的神經(jīng)網(wǎng)絡(luò)指的是機(jī)器學(xué)習(xí)與廣義上的神經(jīng)網(wǎng)絡(luò)的交叉領(lǐng)域。神經(jīng)網(wǎng)絡(luò)中最基礎(chǔ)的結(jié)構(gòu)是神經(jīng)元(neuron)模型,即定義中的簡(jiǎn)單單元。生物神經(jīng)網(wǎng)絡(luò)中,每個(gè)神經(jīng)元與其他神經(jīng)元相連,當(dāng)其處于“興奮”狀態(tài)時(shí),就會(huì)向相連的神經(jīng)元發(fā)送神經(jīng)遞質(zhì),從而改變這些神經(jīng)元的電位。若某個(gè)神經(jīng)元的電位超過(guò)了一個(gè)“閾值”(threshold),該神經(jīng)元就會(huì)被激活,即處于“興奮”狀態(tài),向其相連的神經(jīng)元發(fā)送神經(jīng)遞質(zhì)[14]。1943年,國(guó)外學(xué)者將上述情況抽象為圖3 所示的簡(jiǎn)單模型,即一直沿用至今的“M-P 神經(jīng)元模型”[15]。

Fig.3 M-P neuron model圖3 M-P 神經(jīng)元模型

在此模型中,xi為來(lái)自第i個(gè)神經(jīng)元的輸入,ωi為第i個(gè)神經(jīng)元的連接權(quán)重,θ為閾值,神經(jīng)元接收到來(lái)自于n個(gè)其他神經(jīng)元傳遞來(lái)的輸入信號(hào),這些輸入信號(hào)通過(guò)帶權(quán)重的連接進(jìn)行傳遞,神經(jīng)元將接收得到的總輸入與θ進(jìn)行比較,通過(guò)激活函數(shù)f(x)處理得到該神經(jīng)元的輸出y如式(1):

常用的激活函數(shù)有sigmoid 函數(shù)、tanh 函數(shù)、ReLU 函數(shù)[16]。將多個(gè)神經(jīng)元組合在一起即構(gòu)成了神經(jīng)網(wǎng)絡(luò),擁有超過(guò)兩層及兩層以上隱藏層的神經(jīng)網(wǎng)絡(luò)就是所提到的深度神經(jīng)網(wǎng)絡(luò),單純由輸入輸出層構(gòu)成的神經(jīng)網(wǎng)絡(luò)只能解決線性可分問(wèn)題,隱藏層的引入是為了解決非線性可分問(wèn)題。圖4 就是一個(gè)全連接的神經(jīng)網(wǎng)絡(luò),即前一層的任一神經(jīng)元一定與其下一層的任一神經(jīng)元相連。輸入層神經(jīng)元僅僅是接受輸入,不進(jìn)行函數(shù)處理,神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過(guò)程實(shí)質(zhì)上就是不斷調(diào)整神經(jīng)元之間的連接權(quán)重與神經(jīng)元的閾值,從而不斷接近訓(xùn)練樣本的輸出結(jié)果,其中最杰出的算法就是誤差逆?zhèn)鞑ィ╞ack propagation,BP)算法,現(xiàn)今大多數(shù)神經(jīng)網(wǎng)絡(luò)的訓(xùn)練都采用BP 算法。

Fig.4 Double hidden layer fully connected DNN圖4 雙隱層全連接深度神經(jīng)網(wǎng)絡(luò)

3 系統(tǒng)設(shè)計(jì)

系統(tǒng)整體設(shè)計(jì)如圖5 所示,第一步對(duì)整體數(shù)據(jù)集預(yù)處理。數(shù)據(jù)預(yù)處理首先將連續(xù)數(shù)據(jù)歸一化,其次對(duì)離散取值的數(shù)據(jù)進(jìn)行one-hot 編碼。數(shù)據(jù)預(yù)處理后的數(shù)據(jù)集分為訓(xùn)練數(shù)據(jù)集以及測(cè)試數(shù)據(jù)集,用預(yù)處理后的訓(xùn)練數(shù)據(jù)集建立DT 同時(shí)訓(xùn)練DNN。PCA 為無(wú)監(jiān)督學(xué)習(xí),不需要進(jìn)行訓(xùn)練,在DT 以及DNN 訓(xùn)練完成后,DT-PCA-DNN 模型建立。此時(shí)用經(jīng)預(yù)處理的測(cè)試數(shù)據(jù)集對(duì)建立的入侵檢測(cè)模型進(jìn)行測(cè)試并調(diào)整完善相關(guān)參數(shù)。訓(xùn)練后的DT 實(shí)際上為一系列的if-else 語(yǔ)句,處理大批量數(shù)據(jù)速度極高,但處理精細(xì)度不足;DNN 網(wǎng)絡(luò)在處理大量高維度數(shù)據(jù)時(shí)的實(shí)時(shí)性較差,但精細(xì)度高;PCA 恰好可以解決數(shù)據(jù)維度過(guò)高帶來(lái)的問(wèn)題。將三者結(jié)合,首先用DT 對(duì)數(shù)據(jù)進(jìn)行一次預(yù)過(guò)濾再PCA 后送入DNN 二次分類,用DT 篩選出易判斷的入侵?jǐn)?shù)據(jù)減輕DNN 工作量,PCA 解決DNN 網(wǎng)絡(luò)遇到高維數(shù)據(jù)訓(xùn)練慢的問(wèn)題,三種方法彌補(bǔ)了彼此的不足之處,在實(shí)時(shí)性較好的同時(shí)保證了檢測(cè)的準(zhǔn)確率。

Fig.5 System flow chart圖5 系統(tǒng)流程圖

3.1 數(shù)據(jù)處理

對(duì)數(shù)據(jù)的處理應(yīng)為兩部分,首先將連續(xù)數(shù)據(jù)歸一化,其次對(duì)離散取值的數(shù)據(jù)進(jìn)行編碼。

3.1.1 數(shù)據(jù)歸一化

本文實(shí)驗(yàn)歸一化處理采用min-max 標(biāo)準(zhǔn)化,該標(biāo)準(zhǔn)化方式是對(duì)原始數(shù)據(jù)進(jìn)行線性變換,變換后數(shù)據(jù)落入[0,1]區(qū)間之內(nèi)。所用變換函數(shù)如式(2):

設(shè)數(shù)據(jù)集中有m條數(shù)據(jù),每條數(shù)據(jù)都有n維特征,則式中x為歸一化前第i條數(shù)據(jù)的第j維特征值,min為歸一化前這m條數(shù)據(jù)第j維特征中的最小值,max為歸一化前這m條數(shù)據(jù)第j維特征中的最大值,x*為歸一化后第i條數(shù)據(jù)的第j維特征值。

3.1.2 one-hot編碼

獨(dú)熱編碼,又稱為一位有效編碼,用于離散數(shù)據(jù)編碼。采用N位狀態(tài)寄存器來(lái)對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都有其獨(dú)立的寄存器位,且任何時(shí)間皆為一位有效。存在樣本集合如表2 所示。

Table 2 Feature distribution of sample set表2 樣本集合特征分布表

表2 中的樣本特征維度為3,特征1 有兩種取值[0,1],特征2 有四種取值[0,1,2,3],特征3 有三種取值[0,1,2]。

特征1 有兩種取值,則編碼規(guī)則應(yīng)為:

0→10

1→01

相應(yīng)的特征2 有四種取值,則編碼規(guī)則應(yīng)為:

0→1000

1→0100

2→0010

3→0001

特征3 的編碼規(guī)則同上,則不予贅述。

樣本A、B、C經(jīng)過(guò)one-hot編碼后結(jié)果如表3所示。

Table 3 One-hot encoded result of sample set表3 樣本集合one-hot編碼后結(jié)果表

3.2 模型訓(xùn)練

3.2.1 建立DT

首先選擇所用決策樹(shù)類型,因ID3 算法所使用的信息增益對(duì)可取值數(shù)目較多的屬性有所偏好,且所用模型在實(shí)驗(yàn)數(shù)據(jù)未降維之前就使用了DT,數(shù)據(jù)維度高,因此此處本文選用ID3 算法。其次是DT 的深度問(wèn)題,由于DT 的作用并不是盡可能多地識(shí)別出入侵?jǐn)?shù)據(jù),而是盡可能少地將正常數(shù)據(jù)誤判為入侵?jǐn)?shù)據(jù),DT 的深度不宜過(guò)深。如果DT 的深度過(guò)深,第一次分類的準(zhǔn)確率會(huì)有所提升,但是已經(jīng)被判斷為入侵的但實(shí)際為正常的數(shù)據(jù)會(huì)影響最終的準(zhǔn)確率。

3.2.2 訓(xùn)練DNN

由于DNN 對(duì)高維數(shù)據(jù)進(jìn)行處理需要比較大的隱藏層層數(shù),一旦隱藏層層數(shù)過(guò)低,欠擬合現(xiàn)象會(huì)十分嚴(yán)重。而隱藏層越多,訓(xùn)練DNN 所耗時(shí)間呈指數(shù)式增長(zhǎng),與本文的實(shí)時(shí)性要求不符。引入PCA 對(duì)數(shù)據(jù)進(jìn)行降維處理后降低了數(shù)據(jù)特征維度之間的相關(guān)性與數(shù)據(jù)冗余度,DNN 訓(xùn)練更加迅速的同時(shí)保證了DNN 的準(zhǔn)確率。

DNN 使用BP 算法進(jìn)行訓(xùn)練,使用ReLU 作為激活函數(shù)來(lái)簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)的計(jì)算過(guò)程,使用占用資源少、模型收斂更快的adam 優(yōu)化算法縮短訓(xùn)練時(shí)間。

3.3 DT-PCA-DNN 模型優(yōu)化

如圖6 所示,首先以訓(xùn)練過(guò)后的DT 對(duì)預(yù)處理后的測(cè)試數(shù)據(jù)集初次分類,分類結(jié)果為入侵的數(shù)據(jù)判定為入侵并存入臨時(shí)訓(xùn)練樣本,分類結(jié)果為正常的數(shù)據(jù)去除這次DT 分類所給的標(biāo)簽,準(zhǔn)備第二次判斷數(shù)據(jù)類型。DT 這一層相當(dāng)于過(guò)濾網(wǎng),將易于篩選的入侵?jǐn)?shù)據(jù)篩選出來(lái)。由于訓(xùn)練后的DT 實(shí)際上為一系列的if-else 語(yǔ)句,處理大批量數(shù)據(jù)速度極高,由此大大減輕了DNN 的工作量,提高了算法的運(yùn)行速度。

Fig.6 DT-PCA-DNN model optimization圖6 DT-PCA-DNN 模型優(yōu)化

第二步,對(duì)DT 判斷為正常但已去除標(biāo)簽的數(shù)據(jù)進(jìn)行PCA 降維處理。訓(xùn)練后的DNN 對(duì)PCA 處理后所輸出的低維數(shù)據(jù)進(jìn)行第二次分類,分類結(jié)果為入侵則添加入侵標(biāo)簽后存入臨時(shí)訓(xùn)練樣本,分類結(jié)果為正常則添加正常標(biāo)簽后存入臨時(shí)訓(xùn)練樣本。由于DT 與DNN 屬于監(jiān)督學(xué)習(xí),在利用臨時(shí)訓(xùn)練樣本集再訓(xùn)練時(shí)需要用到所賦予數(shù)據(jù)的標(biāo)簽。由于入侵檢測(cè)過(guò)程是逐條數(shù)據(jù)進(jìn)行的,可在檢測(cè)過(guò)程中將測(cè)試數(shù)據(jù)集的原本數(shù)據(jù)類型與所對(duì)應(yīng)數(shù)據(jù)所添加標(biāo)簽的比對(duì)結(jié)果進(jìn)行量化,量化值累積到設(shè)定閾值后利用剛才積累的數(shù)據(jù)對(duì)DT 以及DNN 做一次再訓(xùn)練微調(diào)。經(jīng)過(guò)若干次的微調(diào)之后,所設(shè)計(jì)模型達(dá)到最優(yōu)。

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

4.1 數(shù)據(jù)集

本次實(shí)驗(yàn)所用數(shù)據(jù)集為NSL-KDD[17]數(shù)據(jù)集,它是KDD 99 數(shù)據(jù)集的改進(jìn),相較于KDD 99 數(shù)據(jù)集,該數(shù)據(jù)集不包含冗余記錄,來(lái)自每個(gè)難度級(jí)別組的所選記錄的數(shù)量與原數(shù)據(jù)集內(nèi)記錄的百分比成反比,對(duì)所建立模型的評(píng)估會(huì)更加有效[18]。NSL-KDD 數(shù)據(jù)集訓(xùn)練集共有125 937條數(shù)據(jù),測(cè)試集共有數(shù)據(jù)22 544條,具體的數(shù)據(jù)類型如表4。

Table 4 Data distribution of NSL-KDD data set表4 NSL-KDD 數(shù)據(jù)集數(shù)據(jù)分布表

NSL-KDD 數(shù)據(jù)集有41 種特征,分為TCP 連接基本特征、主機(jī)上的操作特征、基于時(shí)間的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征、基于主機(jī)的網(wǎng)絡(luò)流量統(tǒng)計(jì)特征這四大特征類;41 種特征的前三種為離散特征,分別為protocol_type(協(xié)議類型,共有三種:TCP、UDP、ICMP)、service(服務(wù)類型,訓(xùn)練集有70個(gè)取值,測(cè)試集有64個(gè)取值,取二者大值)和flag(連接正?;蝈e(cuò)誤的狀態(tài),共11個(gè)取值)。

對(duì)數(shù)據(jù)進(jìn)行歸一化處理后進(jìn)行one-hot 編碼。對(duì)protocol_type 編碼后數(shù)據(jù)維度上升至43,對(duì)service 編碼后數(shù)據(jù)維度由43 上升至112,對(duì)flag 編碼后數(shù)據(jù)維度由112 上升至122,最終NSL-KDD 數(shù)據(jù)集經(jīng)過(guò)onehot編碼后的數(shù)據(jù)維度為122。

4.2 度量指標(biāo)

首先列出混淆矩陣如表5 所示,TP表示真實(shí)數(shù)據(jù)類型為正常且模型預(yù)測(cè)結(jié)果仍為正常的數(shù)據(jù)條數(shù),TN表示真實(shí)數(shù)據(jù)類型為入侵且模型預(yù)測(cè)結(jié)果也為入侵的數(shù)據(jù)條數(shù),F(xiàn)P表示真實(shí)數(shù)據(jù)類型為入侵但模型預(yù)測(cè)結(jié)果為正常的數(shù)據(jù)條數(shù),F(xiàn)N表示真實(shí)數(shù)據(jù)類型為正常但模型預(yù)測(cè)結(jié)果為入侵的數(shù)據(jù)條數(shù)。當(dāng)然,僅僅不同數(shù)據(jù)條數(shù)的大小是不足以作為評(píng)估實(shí)驗(yàn)結(jié)果的標(biāo)準(zhǔn)的,因此在以上參數(shù)的基礎(chǔ)上建立了相對(duì)合理的評(píng)估標(biāo)準(zhǔn),即準(zhǔn)確率AC(accuracy)、檢測(cè)率DR(detection rate)、查準(zhǔn)率PR(precision)、虛警率FAR(false alarm rate),各自定義分別如下:

Table 5 Data confusion matrix表5 數(shù)據(jù)混淆矩陣

4.3 參數(shù)設(shè)置

對(duì)數(shù)據(jù)進(jìn)行預(yù)處理后,包括one-hot 編碼與歸一化,所有數(shù)據(jù)值都位于區(qū)間[0,1],以0.5 為標(biāo)準(zhǔn)對(duì)數(shù)據(jù)各維度進(jìn)行離散化后用DT 對(duì)所有訓(xùn)練數(shù)據(jù)進(jìn)行第一次篩選,所用DT 主要參數(shù)設(shè)置如表6 所示,之后進(jìn)行PCA 降維,PCA 主要參數(shù)設(shè)置如表7 所示,降維后數(shù)據(jù)送入DNN,DNN 主要參數(shù)設(shè)置如表8 所示。因所設(shè)計(jì)系統(tǒng)為線性系統(tǒng),所有參數(shù)均可以通過(guò)固定其他參數(shù)求得該最優(yōu)參數(shù)的方法逐個(gè)得出。

criterion(屬性切分準(zhǔn)則),值為字符串類型,有兩種標(biāo)準(zhǔn)可供選擇,分別為“gini”與“entropy”。splitter(切分點(diǎn)),值為字符串類型,有兩種標(biāo)準(zhǔn)可供選擇,分別為“best”與“random”,“best”意味著在所有特征中尋找最優(yōu)切分點(diǎn),“random”意味著在隨機(jī)選擇的部分特征中尋找最優(yōu)切分點(diǎn)。max_depth(所構(gòu)建決策樹(shù)的最大深度),可以是整數(shù)型或None。max_features為尋找最佳切分時(shí)所考慮的特征數(shù)。random_state(用以產(chǎn)生隨機(jī)數(shù)的多種狀態(tài)),其取值可以為整數(shù)型、RandomState 實(shí)例或None。經(jīng)實(shí)驗(yàn)證明,該值取392時(shí)達(dá)到最佳效果。

Table 7 PCA main parameters表7 PCA 主要參數(shù)

Table 8 DNN main parameters表8 DNN 主要參數(shù)

n_components(降維后的特征維度),可以為所降至維度數(shù)或者保留數(shù)據(jù)百分比;whiten(是否白化),使特征之間的相關(guān)性減低并且所有特征具有相同的方差;svd_solver(奇異值分解器),字符串,當(dāng)其值為“auto”,且滿足一定條件時(shí),調(diào)用完整的奇異值分解函數(shù)。

hidden_layer_sizes(隱藏層大?。?,元組類型。通過(guò)調(diào)整該值來(lái)確定隱藏層層數(shù)與隱藏層內(nèi)的神經(jīng)元個(gè)數(shù)。此處引入兩個(gè)隱藏層,第一層內(nèi)有140 個(gè)神經(jīng)元,第二層內(nèi)有70 個(gè)神經(jīng)元;activation 為激活函數(shù);solver(權(quán)重優(yōu)化函數(shù)),通過(guò)選擇不同字符串來(lái)選擇對(duì)應(yīng)權(quán)重優(yōu)化函數(shù)。

4.4 實(shí)驗(yàn)結(jié)果

實(shí)驗(yàn)采用Windows10 系統(tǒng),64 位操作系統(tǒng),處理器版本為Intel?CoreTMi7-9750H CPU@2.60 GHz,物理內(nèi)存總量16.0 GB,開(kāi)發(fā)語(yǔ)言是Python3.5,所用軟件包為sklearn。

4.4.1 實(shí)驗(yàn)1

本次實(shí)驗(yàn)主要研究二分類檢測(cè)時(shí)間,即二分類下檢測(cè)的實(shí)時(shí)性問(wèn)題。本次實(shí)驗(yàn)主要對(duì)比了FC[19]、DT、PCA-DNN、EDF[20]、CNN[20]、DT-PCA-DNN 模型的二分類預(yù)測(cè)準(zhǔn)確率以及訓(xùn)練時(shí)間。為體現(xiàn)DTPCA-DNN 的特點(diǎn),所用測(cè)試數(shù)據(jù)為NSL-KDD 測(cè)試數(shù)據(jù)集內(nèi)所有數(shù)據(jù)。

為便于觀察,由表9 得出圖7,圖中因FC 訓(xùn)練時(shí)間過(guò)長(zhǎng),對(duì)選取縱軸間隔影響過(guò)大,不予列出。

Table 9 Results of experiment 1表9 實(shí)驗(yàn)1 結(jié)果

Fig.7 Results of experiment 1圖7 實(shí)驗(yàn)1 結(jié)果

觀 察圖7 可 知:PCA-DNN 與FC 的準(zhǔn)確率AC 基本相當(dāng),但是FC 訓(xùn)練時(shí)間遠(yuǎn)高于PCA-DNN,并且預(yù)測(cè)時(shí)間稍長(zhǎng),檢測(cè)實(shí)時(shí)性差。EDF 算法訓(xùn)練時(shí)間稍長(zhǎng)于PCA-DNN,且準(zhǔn)確率AC 與PCA-DNN 基本持平;CNN 算法訓(xùn)練時(shí)間長(zhǎng)達(dá)90 s,準(zhǔn)確率也稍低于EDF 以及PCA-DNN,劣于二者。DT 雖然訓(xùn)練速度極快,但是準(zhǔn)確率比EDF 以及PCA-DNN 都要低4 個(gè)百分點(diǎn)。

較不使用DT 的PCA-DNN,DT-PCA-DNN 訓(xùn)練125 973 條數(shù)據(jù)多耗時(shí)1.32 s,預(yù)測(cè)22 544 條數(shù)據(jù)多耗時(shí)10 ms 左右,但是準(zhǔn)確率AC 有將近10 個(gè)百分點(diǎn)的提升,效果十分顯著。DT 的引入對(duì)訓(xùn)練時(shí)間及預(yù)測(cè)時(shí)間的影響極小,但是大大提升了預(yù)測(cè)的準(zhǔn)確率。

4.4.2 實(shí)驗(yàn)2

本次實(shí)驗(yàn)主要研究DT-PCA-DNN 模型的五分類檢測(cè)時(shí)間,即五分類下的檢測(cè)實(shí)時(shí)性問(wèn)題。將正常樣本標(biāo)記為0,DoS 樣本標(biāo)記為1,Probe 樣本標(biāo)記為2,U2R 樣本標(biāo)記為3,R2L 樣本標(biāo)記為4。

分析表10 可知,DT-PCA-DNN 在五分類上的速度優(yōu)勢(shì)是十分明顯的,但總準(zhǔn)確率稍遜色于EDF 以及CNN,而作為對(duì)比的DT 與PCA-DNN,雖然訓(xùn)練時(shí)間短,但是相對(duì)的總準(zhǔn)確率較低,性能不佳。在五分類實(shí)驗(yàn)中將PCA-DNN 以及DT-PCA-DNN 進(jìn)行比較,訓(xùn)練時(shí)間長(zhǎng)3 s,準(zhǔn)確率有6 個(gè)百分點(diǎn)的提升,證明DT的引入在保證準(zhǔn)確率的同時(shí)也并沒(méi)有造成多大的時(shí)間損失。

Table 10 Total results of experiment 2表10 實(shí)驗(yàn)2 總結(jié)果

分析表11 可知,DT-PCA-DNN 在DT 預(yù)篩選時(shí)可能處理掉了一部分?jǐn)?shù)據(jù)導(dǎo)致U2R 無(wú)結(jié)果顯示(U2R 樣本量小)。DT-PCA-DNN 的優(yōu)勢(shì)主要體現(xiàn)在對(duì)R2L 的識(shí)別能力上,但因其數(shù)據(jù)集中占比小,所以導(dǎo)致整體準(zhǔn)確率低于EDF 以及CNN,同時(shí)該模型對(duì)Normal 數(shù)據(jù)在檢測(cè)率比較高的情況下虛警率也比較高,這是一個(gè)需要指出的問(wèn)題。

Table 11 Five classification results of experiment 2表11 實(shí)驗(yàn)2 五分類結(jié)果 %

5 結(jié)束語(yǔ)

本文所提出的基于深度學(xué)習(xí)方法的入侵檢測(cè)模型DT-PCA-DNN 在保證準(zhǔn)確率的基礎(chǔ)上大大提高了訓(xùn)練以及檢測(cè)的速度。模型利用DT 對(duì)預(yù)處理完畢待檢測(cè)數(shù)據(jù)初步篩選再PCA 降維后作為輸入由DNN進(jìn)行二次判決。引入DT 后訓(xùn)練時(shí)間增加幅度小,但準(zhǔn)確率有了很大提升,同時(shí)DT 預(yù)篩選減輕了后續(xù)DNN 的工作量,對(duì)整體訓(xùn)練速度有一定的提升作用。下一步的研究方向主要是解決DT-PCA-DNN 模型在五分類實(shí)驗(yàn)中對(duì)Normal 數(shù)據(jù)虛警率高的問(wèn)題,同時(shí)提高DT-PCA-DNN 的五分類能力。

猜你喜歡
神經(jīng)元準(zhǔn)確率編碼
生活中的編碼
乳腺超聲檢查診斷乳腺腫瘤的特異度及準(zhǔn)確率分析
多層螺旋CT技術(shù)診斷急性闌尾炎的效果及準(zhǔn)確率分析
不同序列磁共振成像診斷脊柱損傷的臨床準(zhǔn)確率比較探討
AI講座:神經(jīng)網(wǎng)絡(luò)的空間對(duì)應(yīng)
頸椎病患者使用X線平片和CT影像診斷的臨床準(zhǔn)確率比照觀察
基于SPM的材料編碼自主化初探
仿生芯片可再現(xiàn)生物神經(jīng)元行為
這個(gè)神經(jīng)元負(fù)責(zé)改變我們的習(xí)慣
研究人員精確定位控制飲酒的神經(jīng)元
长乐市| 厦门市| 南投县| 嫩江县| 杨浦区| 酉阳| 广汉市| 重庆市| 沙河市| 安泽县| 余庆县| 三河市| 西城区| 金山区| 洮南市| 平远县| 禄丰县| 剑河县| 蒙阴县| 乌兰浩特市| 湖北省| 阜南县| 黄山市| 曲阳县| 红桥区| 巴中市| 上高县| 大安市| 洪江市| 当涂县| 黎城县| 梓潼县| 沧源| 武安市| 赣州市| 许昌市| 谢通门县| 沿河| 和静县| 历史| 油尖旺区|