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

        ?

        高維混合入侵檢測(cè)數(shù)據(jù)的單類分類算法研究

        2022-06-24 10:02:40莫少慧古蘭拜爾吐爾洪買日旦吾守爾
        關(guān)鍵詞:降維均值分類

        莫少慧 古蘭拜爾·吐爾洪 買日旦·吾守爾

        (新疆大學(xué)信息科學(xué)與工程學(xué)院 新疆 烏魯木齊 830046)

        0 引 言

        網(wǎng)絡(luò)空間安全已經(jīng)發(fā)展成為海、陸、空之外的另一國家戰(zhàn)場(chǎng)。網(wǎng)絡(luò)中融合了政治、軍事、經(jīng)濟(jì)等各方面的信息。一旦網(wǎng)絡(luò)空間安全不能得到保證,將會(huì)泄露個(gè)人甚至國家的隱私[1]。

        近年來,隨著大數(shù)據(jù)和人工智能的興起,計(jì)算機(jī)行業(yè)再一次蓬勃發(fā)展起來。人工智能的核心就是機(jī)器學(xué)習(xí),它具有歸納、綜合的作用?,F(xiàn)如今,機(jī)器學(xué)習(xí)算法的應(yīng)用不僅限于醫(yī)療、商業(yè)、工業(yè)等研究領(lǐng)域,機(jī)器學(xué)習(xí)算法因其有自我學(xué)習(xí)、自我完善的特性,還能運(yùn)用在入侵檢測(cè)系統(tǒng)(Intrusion Detection System,IDS)。目前已將貝葉斯[2]、K近鄰(K-Nearest Neighbor,KNN)[3]、支持向量機(jī)(Support Vector Machine,SVM)[4]、神經(jīng)網(wǎng)絡(luò)[5]等應(yīng)用在入侵檢測(cè)系統(tǒng)中,其本質(zhì)就是分類和建模的問題。機(jī)器學(xué)習(xí)算法能夠根據(jù)其特點(diǎn),做出科學(xué)的判斷和預(yù)測(cè),并在該領(lǐng)域得到廣泛的運(yùn)用[6-7]。

        入侵檢測(cè)(IDS)中的入侵是指沒有經(jīng)過某一系統(tǒng)的主人的允許的情況下,通過各種方式進(jìn)入該系統(tǒng)的行為,相對(duì)地,入侵檢測(cè)就是對(duì)這種入侵行為的察覺,無論是內(nèi)部或外部攻擊,甚至是誤操作,都會(huì)提供實(shí)時(shí)的防護(hù)[8]。入侵檢測(cè)技術(shù)分為基于主機(jī)、基于應(yīng)用程序、基于網(wǎng)絡(luò)三類?;谥鳈C(jī)的入侵檢測(cè)技術(shù)依賴于要安裝在主機(jī)上的IDS系統(tǒng)的本地客戶端或代理,然后尋找是否有在主機(jī)邏輯內(nèi)容或主機(jī)活動(dòng)中惡意更改的行為?;趹?yīng)用程序的入侵檢測(cè)技術(shù)僅在應(yīng)用程序范圍內(nèi)檢測(cè)應(yīng)用程序運(yùn)行方式的所有內(nèi)容?;诰W(wǎng)絡(luò)的入侵檢測(cè)技術(shù)則將涉及網(wǎng)絡(luò)或子網(wǎng)絡(luò)上的所有設(shè)備,這部分檢測(cè)因?yàn)楦鞣N范圍等原因,常會(huì)有錯(cuò)漏現(xiàn)象。

        呂峰等[9]提出將KNN算法運(yùn)用在入侵檢測(cè)領(lǐng)域。文獻(xiàn)[10]表明KNN算法在入侵檢測(cè)系統(tǒng)有著更好的檢測(cè)結(jié)果,非常適合運(yùn)用到入侵檢測(cè)中。它具有用于非線性分類,不假設(shè)數(shù)據(jù)分布、準(zhǔn)確度高、對(duì)邊緣點(diǎn)不敏感等優(yōu)點(diǎn)。但在樣本不均衡中的預(yù)測(cè)效果相對(duì)較差,還有一點(diǎn)是k值的選擇不具有客觀性,不易選到最優(yōu)值。而在入侵檢測(cè)數(shù)據(jù)中,數(shù)據(jù)不平衡是最常見的情況。所以,自從將KNN算法運(yùn)用到入侵檢測(cè)領(lǐng)域,相關(guān)研究人員們紛紛都對(duì)KNN算法進(jìn)行了各種優(yōu)化和改進(jìn),比如:張浩[11]引入了密度峰值的概念,并有效地緩解了樣本不平衡的問題,對(duì)于監(jiān)視和其他探測(cè)活動(dòng)(Probe)類型和正常(Normal)類型的數(shù)據(jù)的辨別上有著極強(qiáng)的準(zhǔn)確率;江澤濤等[12]利用主成分分析混合(Principal Component Analysis mix,PCA)進(jìn)行降維,針對(duì)樣本的高維問題,加快了算法的計(jì)算效率。

        但這些改進(jìn)算法還是存在缺陷,密度峰值最近鄰算法不能有效檢測(cè)U2R攻擊,PCA降維方法僅能運(yùn)用在連續(xù)型數(shù)據(jù)中,而網(wǎng)絡(luò)環(huán)境下的大多數(shù)入侵檢測(cè)數(shù)據(jù)都是由離散型和連續(xù)型組成的混合數(shù)據(jù)。本文對(duì)于這些問題,綜合了國內(nèi)外的相關(guān)研究,優(yōu)化了KNN算法:針對(duì)樣本的高維、混合問題,利用主成分分析混合(Principal Component Analysis mix,PCA mix)[13]進(jìn)行降維;對(duì)于大樣本、多分類的數(shù)據(jù)集,使用單類分類的方法[14]的其緊湊性和描述性的特點(diǎn),結(jié)合均值[12]的概念,提出了一種單類分類KNN均值算法,使其不會(huì)過分受制于參數(shù)的取值,以至于準(zhǔn)確率偏差過大;對(duì)于算法的準(zhǔn)確性,利用了百分位數(shù)Bootstrap(PB)方法[15]對(duì)決策邊界進(jìn)行選擇;與在入侵檢測(cè)領(lǐng)域應(yīng)用最廣泛的單類分類方法——單類分類支持向量機(jī)(One Class Support Vector Machine,OCSVM)作對(duì)比,對(duì)本文改進(jìn)算法的優(yōu)越性進(jìn)行驗(yàn)證。

        1 相關(guān)算法

        1.1 傳統(tǒng)KNN算法

        傳統(tǒng)的KNN算法是分類或回歸的無參數(shù)學(xué)習(xí)。它屬于懶惰學(xué)習(xí),也就是無須訓(xùn)練階段。其核心思想是用每個(gè)樣本周圍最近的k個(gè)鄰居來代表該樣本。若假設(shè)k=5,用實(shí)心圓表示要被代表的樣本,用乘號(hào)和三角形代表兩種不同類別的樣本,如圖1所示,被代表的實(shí)心圓會(huì)被分為乘號(hào)的類中。

        圖1 KNN分類器示意圖

        傳統(tǒng)的KNN算法有三個(gè)關(guān)鍵點(diǎn):選擇k值、距離計(jì)算方式以及分類方法[16]。k值一般是不大于20的正整數(shù),基本為奇數(shù)。k值的選擇具有極強(qiáng)的主觀性,是直接輸入的,所以k值非常不容易選到關(guān)鍵數(shù)值。而k值一旦偏差,會(huì)帶來較大的誤差,影響實(shí)驗(yàn)結(jié)果。

        傳統(tǒng)的KNN算法常用的計(jì)算距離的方式有:歐幾里得距離、曼哈頓距離、余弦值、相關(guān)度等。本文使用歐幾里得距離,并計(jì)算其均值,大大減少了實(shí)驗(yàn)結(jié)果的偏差幅度。歐幾里得距離計(jì)算如下:

        (1)

        式中:x1i表示矩陣中第1列第i行的數(shù)。

        1.2 OCSVM算法

        SVM算法是分類或回歸的有參數(shù)學(xué)習(xí)[17]。其核心思想是盡可能地利用一個(gè)超平面將不同類別的樣本分割開來,并且將兩種類型的樣本分割得越遠(yuǎn)越好[18]。其原理表示大致如圖2所示,假設(shè)它們的間距為d。

        圖2 SVM算法原理示意圖

        對(duì)于不平衡數(shù)據(jù)來說,要想分類不同類型的樣本,采用OCSVM算法是一種不錯(cuò)的選擇[19]。簡(jiǎn)單來說,OCSVM算法就是只使用其中一類樣本來建立模型,然后預(yù)測(cè)兩種類別的樣本[20]。假設(shè)原點(diǎn)到超平面的最大距離為d,其大致原理如圖3所示。

        圖3 OCSVM算法原理示意圖

        2 算法設(shè)計(jì)

        2.1 PCA mix算法簡(jiǎn)介

        PCA mix算法包括主成分分析(Principal Component Analysis,PCA)和多重對(duì)應(yīng)分析(multiple correspondence analysis,MCA),是對(duì)定性變量和定量變量混合描述的一組個(gè)體(觀察值)執(zhí)行主成分分析[18]。換句話說,就是直接對(duì)于離散數(shù)據(jù)和連續(xù)數(shù)據(jù)組合而成的混合數(shù)據(jù)的主成分分析。PCA mix算法對(duì)離散數(shù)據(jù)進(jìn)行量化矩陣計(jì)算,然后將該矩陣與連續(xù)數(shù)據(jù)矩陣連接起來進(jìn)行主成分分析。此過程的目的是減少描述問題的變量數(shù)量[21]。

        PCA算法是一種連續(xù)型數(shù)據(jù)的降維算法,其算法思路主要是:數(shù)據(jù)從原來的坐標(biāo)系轉(zhuǎn)換到新的坐標(biāo)系,由數(shù)據(jù)本身決定。這是一種使用正交變換將一組可能相關(guān)變量的觀測(cè)值轉(zhuǎn)換為一組稱為主成分的線性不相關(guān)變量的值的統(tǒng)計(jì)過程[22]。

        具體來說,PCA算法先對(duì)所有樣本去中心化,即取m個(gè)樣本:

        (2)

        然后計(jì)算樣本的協(xié)方差矩陣,再對(duì)協(xié)方差矩陣做特征值分解,取最大的j個(gè)特征值所對(duì)應(yīng)的特征向量:ω1,ω2,…,ωj,最后將原樣本投影到新坐標(biāo)上。具體取幾個(gè)特征值則要看降到的低維空間的維數(shù),幾維的低維空間就取幾個(gè)特征值,這個(gè)維數(shù)通常是用戶事先指定的[23]。

        MCA算法是對(duì)應(yīng)分析(CA)的一個(gè)擴(kuò)展,用于分析若干相關(guān)類別變量的關(guān)系模式,在統(tǒng)計(jì)過程控制(Statistical Process Control,SPC)中稱為屬性特征。MCA算法是基于最優(yōu)尺度變換的多重對(duì)應(yīng)分析,是以點(diǎn)的形式在較低維度的空間中表示聯(lián)列表的行與列中各元素的比例結(jié)構(gòu)。能夠更加直觀地分析定性變量中多種狀態(tài)間之間的相互關(guān)系[24]。當(dāng)觀察結(jié)果是分類的時(shí),MCA算法可被視為PCA算法的一個(gè)推廣。因此,可將PCA mix算法作為PCA和MCA的組合來處理不同類型的質(zhì)量特性。

        大多數(shù)數(shù)據(jù)分析方法多年來只專注于純定量數(shù)據(jù)或純定性數(shù)據(jù)的處理。PCA mix方法可直接處理離散數(shù)據(jù)和連續(xù)數(shù)據(jù)組合而成的混合數(shù)據(jù),使得PCA mix方法在實(shí)際應(yīng)用中非常有用,因?yàn)樗梢詮幕旌献兞恐刑崛∠嚓P(guān)信息,并且在數(shù)據(jù)庫混合時(shí)不需要單獨(dú)研究純定量或定性變量,這對(duì)人們處理混合數(shù)據(jù)庫提供了極大的方便,并節(jié)約了大量的時(shí)間。

        具體的PCA mix算法如下所示[21]:設(shè)有一個(gè)n×m的樣本矩陣A,n是矩陣中樣本的個(gè)數(shù),m是每個(gè)樣本的總特征數(shù)。并且該樣本矩陣中有k種不同的標(biāo)簽。設(shè)這m個(gè)特征中有a個(gè)連續(xù)型特征,b個(gè)離散型特征。即:

        m=a+b

        (3)

        那么用矩陣B1表示n×a的連續(xù)型特征矩陣,矩陣B2表示n×b的離散型特征矩陣。

        首先,使用矩陣K中心化連續(xù)矩陣B1為矩陣Z1,離散矩陣B2為矩陣Z2:

        (4)

        式中:En為單位矩陣;X=(1,1,…,1)T,一共有n個(gè)1。

        然后計(jì)算離散矩陣B2中的每個(gè)特征與不同標(biāo)簽的相關(guān)性比例,并用對(duì)角矩陣D表示,假設(shè)第i個(gè)離散特征的不同標(biāo)簽的相關(guān)性比例矩陣為Di,則對(duì)角矩陣D為:

        D=diag(D1,D2,…,Dk)

        (5)

        最后合并連續(xù)矩陣和離散矩陣為Y。

        (6)

        式中:Y1是中心化后的連續(xù)矩陣;Y2是經(jīng)式(7)處理過后的連續(xù)矩陣。

        (7)

        2.2 單類分類KNN均值算法

        在傳統(tǒng)的KNN算法上應(yīng)用均值計(jì)算,使改進(jìn)算法不會(huì)受到樣本之間可能出現(xiàn)的距離偏差太大的影響,具體方法如下:假設(shè)k=5,用實(shí)心圓表示要被代表的樣本,用乘號(hào)和三角形代表兩種不同類別的樣本,如圖4所示,被代表的實(shí)心圓會(huì)被分在乘號(hào)的類中,并用式(8)計(jì)算實(shí)心圓到周圍乘號(hào)的均值。

        d=(d1+d2+d3)/3

        (8)

        因?yàn)閭鹘y(tǒng)的KNN算法對(duì)于數(shù)據(jù)不平衡的樣本有著嚴(yán)重的缺陷,所以本文在KNN均值算法的基礎(chǔ)上加入了單類分類的方法,針對(duì)數(shù)據(jù)不平衡的數(shù)據(jù)集,期望能得到較好的實(shí)驗(yàn)結(jié)果。

        單類分類KNN均值算法就是在訓(xùn)練時(shí)僅使用正樣本作為訓(xùn)練樣本,并計(jì)算每個(gè)樣本周圍k個(gè)樣本到該樣本的距離的均值,然后使用百分位數(shù)Bootstrap計(jì)算訓(xùn)練樣本的距離的均值的決策邊界,并去除1%以下和99%以上的極端值,存儲(chǔ)到數(shù)組C={C1,C2,…,Cj}中。

        圖4 KNN均值分類器示意圖

        接著,計(jì)算測(cè)試樣本中正樣本到訓(xùn)練樣本的距離的均值D={D1,D2,…,Dl}和測(cè)試樣本中負(fù)樣本到訓(xùn)練樣本的距離的均值E={E1,E2,…,Em},讓這些距離的均值與數(shù)組C中的值作對(duì)比,進(jìn)行預(yù)測(cè):

        (9)

        不同于原來的KNN算法,修改后的算法是半監(jiān)督學(xué)習(xí)算法,原算法是監(jiān)督學(xué)習(xí)算法。

        本文改進(jìn)算法具體如下所示:

        輸入:降維后的n個(gè)訓(xùn)練樣本R;降維后的m個(gè)測(cè)試樣本S;最近鄰個(gè)數(shù)k。

        輸出:m個(gè)測(cè)試樣本的分類。

        1) 計(jì)算訓(xùn)練樣本R中ri到自身最近k個(gè)點(diǎn)的均值歐氏距離;

        2) 用百分位數(shù)Bootstrap計(jì)算1)中得到的n個(gè)距離,得到j(luò)個(gè)決策邊界;

        3) 計(jì)算測(cè)試樣本S中si到訓(xùn)練樣本R中最近的k個(gè)點(diǎn)的均值歐氏距離;

        4) 用3)中得到的m個(gè)距離與2)中得到的j個(gè)決策邊界作對(duì)比得到預(yù)測(cè)分類結(jié)果,如式(9)所示。

        2.3 百分位數(shù)Bootstrap(PB)

        Bootstrap方法是無模型的方法,以原始樣本作為總體來進(jìn)行重采樣,無須預(yù)先了解參數(shù)分布,以此無限逼近最佳組合[26]。換句話說,就是Bootstrap方法對(duì)數(shù)據(jù)分布不要求,適用于所有的數(shù)據(jù)集,是計(jì)算決策邊界的極佳方法。

        估計(jì)置信區(qū)間的Bootstrap一共有四種方法:標(biāo)準(zhǔn)Bootstrap(SB)、百分位數(shù)Bootstrap(PB)、t百分位數(shù)Bootstrap(PTB)和修正偏差后的百分位數(shù)Bootstrap(BCPB)[27]。本文采用百分位數(shù)Bootstrap(PB)方法來估計(jì)單類分類KNN均值算法的決策邊界。利用Bootstrap計(jì)算置信區(qū)間的經(jīng)驗(yàn)分布的方法,計(jì)算(1-α)的quantile值,最終找出最佳的決策邊界,達(dá)到分類效果最佳的目的。

        2.4 本文算法流程

        綜合前面各節(jié),本文算法的算法流程如圖5所示。

        圖5 本文實(shí)驗(yàn)整體流程

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

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

        3.1.1特征提取

        KDDCUP99數(shù)據(jù)集共有41個(gè)特征,其中有9個(gè)離散型特征,32個(gè)連續(xù)型特征。由于本文采取kddcup.data_10_percent文件,所以,“is_hot_login”、“wrong_fragment”、“num_outbound_cmds”這三個(gè)特征由于相同值太多,沒有太大意義,被去除。所以真正參加實(shí)驗(yàn)的是8個(gè)離散型特征、30個(gè)連續(xù)型特征,共38個(gè)混合特征。

        NSL-KDD數(shù)據(jù)集共有41個(gè)特征,其中有9個(gè)離散型特征,32個(gè)連續(xù)型特征。同樣,由于選取KDDTrain+文件,文件中的“is_hot_login”、“wrong_fragment”、“num_outbound_cmds”這三個(gè)特征由于相同值太多,沒有太大意義,被去除。真正參加實(shí)驗(yàn)的是8個(gè)離散型特征、30個(gè)連續(xù)型特征,共38個(gè)混合特征。

        UNSW-NB15數(shù)據(jù)集共有45個(gè)特征,其中有5個(gè)離散型特征,40個(gè)連續(xù)型特征。本文選取的是專門被處理用來進(jìn)行入侵檢測(cè)的UNSW_NB15_training-set文件,除了文件中“is_sm_ips_ports”的特征由于相同值太多,沒有太大意義,被去除之外,“id”與“attack_cat”都是因?yàn)樵趯?shí)驗(yàn)中無意義,所以被去除。真正參加實(shí)驗(yàn)的是4個(gè)離散型特征、38個(gè)連續(xù)型特征,共42個(gè)混合特征。

        3.1.2特征值轉(zhuǎn)化

        實(shí)驗(yàn)中為了方便起見,將所有特征的特征值都轉(zhuǎn)換為數(shù)字。具體情況如表1所示。

        表1 特征值轉(zhuǎn)換

        對(duì)于數(shù)據(jù)集中少量的缺失值,本文采用缺失值均值填補(bǔ)的方式進(jìn)行填補(bǔ)。

        PCA mix降維方法能直接使混合數(shù)據(jù)集數(shù)據(jù)降維,所以對(duì)于PCA mix降維方法,數(shù)據(jù)集僅需將離散型特征轉(zhuǎn)換為字符類型,將連續(xù)型特征標(biāo)準(zhǔn)化。若要使用傳統(tǒng)的PCA降維方法[28],由于該方法僅適用于連續(xù)型特征,所以需將離散型特征強(qiáng)制轉(zhuǎn)換為數(shù)值類型,這種轉(zhuǎn)換可能導(dǎo)致原有的數(shù)據(jù)里的信息丟失,有著一定的缺陷。

        3.1.3降維處理

        現(xiàn)將全部樣本分別通過PCA mix方法和PCA方法進(jìn)行降維。然后通過欠采樣的方法,分別從PCA mix降維后的數(shù)據(jù)和PCA降維后的數(shù)據(jù)中抽取樣本進(jìn)行實(shí)驗(yàn)。其中,KDDCUP99數(shù)據(jù)集抽取2 431個(gè)正樣本作為訓(xùn)練樣本,再抽取2 371個(gè)正樣本作為測(cè)試樣本中的正樣本,2 380個(gè)負(fù)樣本作為測(cè)試樣本中的負(fù)樣本;NSL-KDD數(shù)據(jù)集抽取2 357個(gè)正樣本作為訓(xùn)練樣本,再抽取2 339個(gè)正樣本作為測(cè)試樣本中的正樣本,2 345個(gè)負(fù)樣本作為測(cè)試樣本中的負(fù)樣本;UNSW-NB15數(shù)據(jù)集抽取2 405個(gè)正樣本作為訓(xùn)練樣本,再抽取2 387個(gè)正樣本作為測(cè)試樣本中的正樣本,2 357個(gè)負(fù)樣本作為測(cè)試樣本中的負(fù)樣本。

        本文采用的單類分類算法,在訓(xùn)練模型時(shí)僅需選擇一個(gè)類型的樣本進(jìn)行訓(xùn)練,樣本類型并不強(qiáng)制。所以,實(shí)驗(yàn)選擇的是正樣本作為訓(xùn)練樣本。

        3.2 度量方法

        對(duì)于入侵檢測(cè)方法的學(xué)習(xí)器的泛化能力的評(píng)估,通常使用錯(cuò)誤率、精度、P-R曲線、ROC曲線、AUC圖等方法進(jìn)行評(píng)估。本文實(shí)驗(yàn)中我們使用混淆矩陣、P-R曲線和ROC曲線對(duì)算法結(jié)果進(jìn)行評(píng)估。

        3.2.1混淆矩陣

        混淆矩陣是統(tǒng)計(jì)真實(shí)標(biāo)記和預(yù)測(cè)結(jié)果的組合。當(dāng)真實(shí)標(biāo)記為正樣本時(shí),且預(yù)測(cè)出來也是正樣本時(shí),叫作真正例,用TP表示這類情形的樣本個(gè)數(shù),當(dāng)預(yù)測(cè)結(jié)果為負(fù)樣本時(shí),叫作假反例,用FN表示這類情形的樣本個(gè)數(shù);當(dāng)真實(shí)標(biāo)記為負(fù)樣本時(shí),且預(yù)測(cè)出來也是負(fù)樣本時(shí),叫作真反例,用TN表示這類情形的樣本個(gè)數(shù),當(dāng)預(yù)測(cè)結(jié)果為正樣本時(shí),叫作假正例,用FP表示這類情形的樣本個(gè)數(shù)。其形式如表2所示。

        表2 混淆矩陣

        這四種情形的樣本個(gè)數(shù)加起來的總和為樣本總數(shù)。通過混淆矩陣,可以計(jì)算出該分類器的精確率P、召回率R、準(zhǔn)確率Accuracy等一系列比較標(biāo)準(zhǔn)。

        (10)

        (11)

        (12)

        3.2.2P-R曲線

        P是指查準(zhǔn)率,R是指查全率,橫軸是查全率,縱軸是查準(zhǔn)率。P=TP/(TP+FP),R=TP/(TP+FN)。通過學(xué)習(xí)器對(duì)測(cè)試樣本的預(yù)測(cè)結(jié)果與實(shí)際結(jié)果進(jìn)行對(duì)比,可將對(duì)比結(jié)果分為四類:TP、FN、FP、TN。通過不同的學(xué)習(xí)器的P-R曲線進(jìn)行對(duì)比,可根據(jù)是否被“包住”,就能判斷出哪一個(gè)學(xué)習(xí)器的學(xué)習(xí)效果好。若兩者交叉,可通過對(duì)比由平衡點(diǎn)轉(zhuǎn)化來的F1值來判斷。F1值越高,效果越好。

        (13)

        3.2.3ROC曲線

        ROC(Receiver Operating Characteristic)曲線的橫軸是假正例率、縱軸是真正例率。假正例率=TP/(TP+FN),真正例率=FP/(FP+TN)。通過不同的學(xué)習(xí)器的ROC曲線進(jìn)行對(duì)比,可根據(jù)是否被“包住”,就能判斷出哪一個(gè)學(xué)習(xí)器的學(xué)習(xí)效果好。若兩者交叉,便難以分辨。但可以通過比較ROC曲線下的面積AUC來判斷優(yōu)劣。

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

        本實(shí)驗(yàn)采用2.6 GHz的CPU、4.0 GB的RAM、裝有Window 7系統(tǒng)的電腦配置。使用R軟件編寫代碼,將KDDCUP99的數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù),使用R語言實(shí)現(xiàn)了PCA mix降維后的單類分類KNN均值算法,同時(shí)對(duì)比了PCA mix降維后的OCSVM算法。

        4.1 參數(shù)取值

        根據(jù)PCA mix降維后的散點(diǎn)的分布圖,發(fā)現(xiàn)維度降到15以內(nèi)的各個(gè)散點(diǎn)分布圖的差別不大,所以主要的維度取值確定權(quán)在PCA方法中。再根據(jù)PCA降維后的訓(xùn)練樣本的組成的重要性占比對(duì)比,訓(xùn)練樣本在組成數(shù)為12時(shí),KDDCUP99數(shù)據(jù)集的重要性占比已經(jīng)達(dá)到了71.124 721%,NSL-KDD數(shù)據(jù)集的重要性占比已經(jīng)達(dá)到了70.244 561%,UNSW-NB15數(shù)據(jù)集的重要性占比已經(jīng)達(dá)到了100%,如表3所示。最終綜合三個(gè)數(shù)據(jù)集的PCA mix和PCA的情況,選定降維的維度為12。

        表3 PCA降維后的組成部分的重要性占比對(duì)比

        取不同的k值,如k=3,5,7,…,19,通過對(duì)比它們的F1值的情況,最終選定在單類分類KNN均值算法中的k取5時(shí),分類效果最好。

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

        4.2.1KDDCup99數(shù)據(jù)集

        KDDCUP99數(shù)據(jù)集是在第五屆知識(shí)發(fā)現(xiàn)和數(shù)據(jù)挖掘國際會(huì)議KDD-99聯(lián)合舉辦的第三屆國際知識(shí)發(fā)現(xiàn)和數(shù)據(jù)挖掘工具競(jìng)賽所使用的數(shù)據(jù)集,含有模擬美國軍事網(wǎng)絡(luò)環(huán)境中的各種入侵[29]。整個(gè)KDDCup99數(shù)據(jù)集分為有標(biāo)識(shí)的訓(xùn)練數(shù)據(jù)集和無標(biāo)識(shí)的測(cè)試數(shù)據(jù)集。KDDCup99數(shù)據(jù)集的訓(xùn)練數(shù)據(jù)集有4 898 461個(gè),總共可被分為兩大種類型:正常和攻擊。其中,攻擊又可被分為4種類型的攻擊:DOS、Probe、R2L、U2R。

        本文選取原本訓(xùn)練數(shù)據(jù)集的10%,即kddcup.data_10_percent文件作為實(shí)驗(yàn)數(shù)據(jù)集。本數(shù)據(jù)集屬于高維混合數(shù)據(jù)集。有41個(gè)特征屬性,其中有32個(gè)連續(xù)型特征,9個(gè)離散型特征。此外,同時(shí)包含了原數(shù)據(jù)集的各種攻擊類型:4種大攻擊類別和22種小攻擊類別。在整個(gè)訓(xùn)練數(shù)據(jù)中,正常的數(shù)據(jù)約為19.85%,剩下的都為攻擊數(shù)據(jù),攻擊數(shù)據(jù)與正常數(shù)據(jù)的相差比例高達(dá)近4 ∶1,數(shù)據(jù)極其不平衡,并且在攻擊的數(shù)據(jù)中,各種攻擊類型的數(shù)據(jù)比例也極為不平衡,具體情況如表4所示。

        表4 KDDCUP99數(shù)據(jù)集

        4.2.2NSL-KDD數(shù)據(jù)集

        KDDCUP99數(shù)據(jù)集有不少缺陷,如:其訓(xùn)練集的攻擊數(shù)據(jù)包中沒有生存時(shí)間值(TTL)為126和253,不符合現(xiàn)實(shí)的網(wǎng)絡(luò)情況;攻擊類型不全面,無法代表現(xiàn)實(shí)的網(wǎng)絡(luò)環(huán)境;數(shù)據(jù)集中數(shù)據(jù)冗余,會(huì)影響分類器的分類結(jié)果。

        NSL-KDD數(shù)據(jù)集的提出,解決了KDDCUP99數(shù)據(jù)集存在的一些問題:對(duì)正負(fù)樣本的比例進(jìn)行了合適的選擇;訓(xùn)練集和測(cè)試集的樣本數(shù)量更加合理;除去了KDDCUP99數(shù)據(jù)集中的冗余數(shù)據(jù)。

        雖然NSL-KDD數(shù)據(jù)集仍不能完美地反映現(xiàn)實(shí)的網(wǎng)絡(luò)環(huán)境,但在缺少基于網(wǎng)絡(luò)的公開的入侵檢測(cè)數(shù)據(jù)集的情況下,其還是能夠作為一個(gè)幫助研究人員對(duì)比不同的入侵檢測(cè)方法的有效的基準(zhǔn)數(shù)據(jù)集。

        本文選取原本數(shù)據(jù)集處理過后的KDDTrain+文件作為實(shí)驗(yàn)數(shù)據(jù)集,屬于高維混合數(shù)據(jù)集。有45個(gè)特征屬性,其中有40個(gè)連續(xù)型特征,5個(gè)離散型特征。此外,同時(shí)包含了原數(shù)據(jù)集的各種攻擊類型(4大攻擊類別)。在整個(gè)訓(xùn)練數(shù)據(jù)中,正常的數(shù)據(jù)約為53.45%,剩下的都為攻擊數(shù)據(jù),攻擊數(shù)據(jù)與正常數(shù)據(jù)的相差較不平衡,且在攻擊的數(shù)據(jù)中,各種攻擊類型的數(shù)據(jù)比例極為不平衡,具體情況如表5所示。

        表5 NSL-KDD數(shù)據(jù)集

        4.2.3UNSW-NB15數(shù)據(jù)集

        UNSW-NB15數(shù)據(jù)集是在2015年由澳大利亞網(wǎng)絡(luò)安全中心(ACCS)模擬顯示網(wǎng)絡(luò)環(huán)境生成的一個(gè)新的數(shù)據(jù)集,數(shù)據(jù)集中包括現(xiàn)代正常的數(shù)據(jù)和9大類攻擊的流量數(shù)據(jù)。UNSW-NB15數(shù)據(jù)集包含了新型的隱蔽攻擊方式,能完全代表現(xiàn)實(shí)網(wǎng)絡(luò)環(huán)境下的真實(shí)情況。

        UNSW-NB15數(shù)據(jù)集的訓(xùn)練數(shù)據(jù)集有82 332個(gè),總共可被分為兩大種類型:正常和攻擊。其中,攻擊又可被分為9種類型的攻擊:溢出攻擊(Fuzzers)、滲透攻擊(Analysis)、后門攻擊(Backdoors)、拒絕服務(wù)攻擊(DOS)、漏洞攻擊(Exploits)、哈希函數(shù)針對(duì)攻擊(Generis)、探針攻擊(Reconnaissance)、軟件漏洞攻擊(Shellcode)、蠕蟲攻擊(Worms)。

        本文選取原本數(shù)據(jù)集處理過后的UNSW-NB15 Training Set文件作為實(shí)驗(yàn)數(shù)據(jù)集,屬于高維混合數(shù)據(jù)集,有45個(gè)特征屬性,其中有40個(gè)連續(xù)型特征,5個(gè)離散型特征。此外,同時(shí)包含了原數(shù)據(jù)集的各種攻擊類型(9大攻擊類別)。在整個(gè)訓(xùn)練數(shù)據(jù)中,正常的數(shù)據(jù)約為44.94%,剩下的都為攻擊數(shù)據(jù),攻擊數(shù)據(jù)與正常數(shù)據(jù)的相差較不平衡,且在攻擊的數(shù)據(jù)中,各種攻擊類型的數(shù)據(jù)比例極為不平衡,具體情況如表6所示。

        表6 UNSW-NB15數(shù)據(jù)集

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

        4.3.1對(duì)比算法

        本文改進(jìn)算法是單類分類方法下的改進(jìn)算法,近年來,國內(nèi)在入侵檢測(cè)領(lǐng)域的單類分類方法僅有OCSVM算法,所以使用OCSVM算法與本文改進(jìn)算法作對(duì)比。為對(duì)比PCA mix降維后的OCSVM算法和本文改進(jìn)算法的分類效果,可以通過對(duì)比它們的混淆矩陣、準(zhǔn)確率、ROC曲線和AUC值來得出結(jié)論。

        其混淆矩陣的對(duì)比結(jié)果如表7所示,準(zhǔn)確率對(duì)比結(jié)果如表8所示。在PCA mix降維之后,三個(gè)數(shù)據(jù)集的單類分類KNN均值算法的分類效果都遠(yuǎn)好于OCSVM算法:KDDCUP99數(shù)據(jù)集的準(zhǔn)確率相差4.33%,NSL-KDD數(shù)據(jù)集的準(zhǔn)確率相差2.94%,UNSW-NB15數(shù)據(jù)集的準(zhǔn)確率相差16.1%。

        表7 PCA mix降維后算法的混淆矩陣對(duì)比結(jié)果

        表8 PCA mix降維后算法的準(zhǔn)確率對(duì)比(%)

        本文使用Bootstrap方法確定決策邊界,取α值從0.01~0.99總共99個(gè)決策邊界,每個(gè)決策邊界都會(huì)有不同的預(yù)測(cè)結(jié)果。根據(jù)這一特點(diǎn),能夠畫出P-R曲線,并算出F1值。

        通過計(jì)算F1值,比較出最好的取值,并選用這個(gè)值繪制該算法最佳的ROC曲線和計(jì)算其AUC值。

        根據(jù)F1值,可以得到混淆矩陣,畫出PCA mix降維后的單類分類KNN均值算法的ROC曲線,并與PCA mix降維后的OCSVM算法的ROC曲線作對(duì)比,如圖6所示。虛線代表的是PCA mix降維后的單類分類KNN均值算法,直線代表的是PCA mix降維后的OCSVM算法,三個(gè)數(shù)據(jù)集的ROC曲線對(duì)比圖中,虛線都“包括了”直線,說明PCA mix降維后的單類分類KNN均值算法的分類效果更好。

        (a) KDDCUP99

        (b) NSL-KDD

        (c) UNSW-NB15圖6 PCA mix降維后的兩種算法的ROC曲線對(duì)比

        同樣,通過圖7的AUC值對(duì)比,也能得出PCA mix降維后的單類分類KNN均值算法的分類效果遠(yuǎn)好于PCA mix降維后的OCSVM算法。

        圖7 PCA mix降維后的兩種算法的AUC值對(duì)比

        根據(jù)兩種算法的混淆矩陣、準(zhǔn)確率、ROC曲線和AUC值的對(duì)比結(jié)果,可得出本文改進(jìn)的單類分類KNN均值算法的分類效果遠(yuǎn)好于OCSVM算法。

        4.3.2對(duì)比降維方法

        對(duì)比PCA降維后的單類分類KNN均值算法和PCA mix降維后的單類分類KNN均值算法的散點(diǎn)分布圖、混淆矩陣、準(zhǔn)確率、P-R曲線、F1值、ROC曲線和AUC值。得出PCA mix降維后的單類分類KNN均值算法比PCA降維后的單類分類KNN均值算法的分類效果好。

        單類分類KNN均值算法兩種降維方法的散點(diǎn)分布如圖8所示。為方便查看,本散點(diǎn)圖每種樣本僅選用了近500個(gè),完全按照原本的抽取比例進(jìn)行抽取。用乘號(hào)代表負(fù)樣本到訓(xùn)練樣本的距離,用三角形代表正樣本到訓(xùn)練樣本的距離??梢钥闯觯琍CA降維后的數(shù)據(jù)分類過于緊湊,并且沒有完全分類好;而PCA mix降維后的數(shù)據(jù)分類比較寬松。PCA mix降維后的數(shù)據(jù)明顯比未降維時(shí)的數(shù)據(jù)的分類效果更好。特別是UNSW-NB15數(shù)據(jù)集的散點(diǎn)分布情況,更具有對(duì)比效果。

        (a) KDDCUP99:PCA降維后

        (b) KDDCUP99:PCA mix降維后

        (c) NSL-KDD:PCA降維后

        (d) NSL-KDD:PCA mix降維后

        (e) UNSW-NB15: PCA 降維后

        (f) UNSW-NB15: PCA mix降維后圖8 兩種降維方法的單類分類KNN均值的散點(diǎn)分布

        這兩種處理方法的混淆矩陣如表9所示,準(zhǔn)確率對(duì)比如表10所示,在同樣使用單類分類KNN均值算法的情況下,PCA mix降維后的單類分類KNN均值算法的分類效果都遠(yuǎn)好于PCA降維后的單類分類KNN均值算法:KDDCUP99數(shù)據(jù)集的準(zhǔn)確率相差0.65%,NSL-KDD數(shù)據(jù)集的準(zhǔn)確率沒有差別,UNSW-NB15數(shù)據(jù)集的準(zhǔn)確率相差29.22%。

        表9 單類分類KNN均值算法的混淆矩陣對(duì)比結(jié)果

        續(xù)表9

        表10 單類分類KNN均值算法的準(zhǔn)確率對(duì)比(%)

        如圖9所示,用線段代表PCA mix降維后的P-R曲線,用直線代表PCA降維后的P-R曲線。可以看出三個(gè)數(shù)據(jù)集的P-R曲線都彼此相交,并不能夠直觀地確定哪種降維方法更好,但可以通過對(duì)比它們的F1值來比較兩種降維方法的分類效果。

        (a) KDDCUP99

        (b) NSL-KDD

        (c) UNSW-NB15圖9 兩種降維方法單類分類KNN均值算法的P-R曲線對(duì)比

        從表11可看出,三個(gè)數(shù)據(jù)集的PCA mix降維后的F1值的最大值都要略大于PCA降維后的F1值的最大值:KDDCUP99數(shù)據(jù)集的F1值相差0.682 478%,NSL-KDD數(shù)據(jù)集的F1值相差0.076 259%,UNSW-NB15數(shù)據(jù)集的F1值相差21.415 414%,所以PCA mix的降維方法略佳。

        表11 單類分類KNN均值算法的F1值對(duì)比

        再對(duì)比圖10中ROC曲線,用點(diǎn)代表PCA mix降維后的單類分類KNN均值算法,用線段代表PCA降維后的單類分類KNN均值算法。圖10中的兩個(gè)曲線呈現(xiàn)交叉的狀態(tài),無法直觀地對(duì)比兩者的分類效果,所以通過對(duì)比AUC值來得出結(jié)論。

        (a) KDDCUP99

        (b) NSL-KDD

        (c) UNSW-NB15圖10 兩種降維方法的單類分類KNN均值的ROC對(duì)比

        根據(jù)表12的AUC值的對(duì)比,發(fā)現(xiàn)三個(gè)數(shù)據(jù)集的PCA mix降維后的算法的分類效果都要好于PCA降維后的算法:KDDCUP99數(shù)據(jù)集的AUC值相差0.655 4%,NSL-KDD數(shù)據(jù)集的AUC值相差0.001 7%,UNSW-NB15數(shù)據(jù)集的AUC值相差31.468 24%。

        表12 兩種降維方法的單類分類KNN均值的AUC值對(duì)比

        5 結(jié) 語

        本文采用了OCSVM和單類分類KNN均值兩種算法對(duì)三個(gè)入侵檢測(cè)系統(tǒng)數(shù)據(jù)集進(jìn)行處理,并采用PCA mix與PCA兩種降維方法分別對(duì)數(shù)據(jù)集進(jìn)行降維。最終得到的結(jié)果證明PCA mix的降維效果要好于PCA的降維效果,本文改進(jìn)的單類分類KNN均值算法優(yōu)于OCSVM算法。

        本文的改進(jìn)算法能有效地處理具有高維、混合以及不平衡等特性的入侵檢測(cè)數(shù)據(jù),彌補(bǔ)了傳統(tǒng)的機(jī)器學(xué)習(xí)算法的缺陷,為進(jìn)一步實(shí)現(xiàn)對(duì)現(xiàn)實(shí)網(wǎng)絡(luò)的實(shí)時(shí)監(jiān)控提供了階梯。并且本文的改進(jìn)算法在UNSW-NB15數(shù)據(jù)集效果最好,說明本文的改進(jìn)算法更適應(yīng)于當(dāng)代的網(wǎng)絡(luò)情況。

        然而,本文改進(jìn)算法的計(jì)算復(fù)雜度并未降低,未來將進(jìn)一步改進(jìn)算法以降低計(jì)算復(fù)雜度,使其達(dá)到能夠?qū)ΜF(xiàn)實(shí)的網(wǎng)絡(luò)情況實(shí)時(shí)監(jiān)控。

        猜你喜歡
        降維均值分類
        Three-Body’s epic scale and fiercely guarded fanbase present challenges to adaptations
        分類算一算
        降維打擊
        海峽姐妹(2019年12期)2020-01-14 03:24:40
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        均值不等式失效時(shí)的解決方法
        均值與方差在生活中的應(yīng)用
        關(guān)于均值有界變差函數(shù)的重要不等式
        對(duì)偶均值積分的Marcus-Lopes不等式
        日韩不卡av高清中文字幕| 国产精品熟女一区二区三区 | 日韩亚洲精品国产第二页| 久久综合丝袜日本网| 伊人久久久精品区aaa片| 日韩少妇激情一区二区| 午夜精品一区二区三区在线观看| 亚洲电影一区二区| 一区二区在线视频大片| 国产又湿又爽又猛的视频| 未满十八18禁止免费无码网站| 97碰碰碰人妻无码视频| 日日干夜夜操高清视频| 亚洲熟妇一区无码| 亚洲国产日韩在线精品频道| 国产白浆流出一区二区| 亚洲av第一区国产精品| 大奶白浆视频在线观看| a级毛片高清免费视频就| 亚洲在AV极品无码天堂手机版 | 亚洲日本国产乱码va在线观看| 在线观看的a站免费完整版 | 手机看片1024精品国产| 日本老年人精品久久中文字幕| 国产少妇一区二区三区| 麻豆资源在线观看视频| 久久久精品人妻久久影视| 日韩在线免费| 欧美精品日韩一区二区三区| 熟妇人妻丰满少妇一区 | 一本到亚洲av日韩av在线天堂| 久久九九精品国产av| 夜夜躁狠狠躁日日躁2022| 午夜精品一区二区三区的区别| 四虎影视久久久免费| 国产一区,二区,三区免费视频| 蜜桃视频永久免费在线观看| 国色天香社区视频在线| 欧美 国产 日产 韩国 在线 | 成人性生交大片免费| 亚洲欧洲日产国码无码AV一|