江澤濤,錢 藝,張少欽
(1. 桂林電子科技大學(xué)廣西圖像圖形與智能處理重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004;2. 南昌航空大學(xué),江西 南昌 330063)
隨著網(wǎng)絡(luò)的不斷發(fā)展,網(wǎng)絡(luò)安全的重要性日益突出。用于識(shí)別網(wǎng)絡(luò)中異常數(shù)據(jù)的入侵檢測(cè)系統(tǒng)扮演著越來(lái)越重要的角色。傳統(tǒng)分類算法更傾向于相對(duì)平衡的數(shù)據(jù)集,而實(shí)際入侵檢測(cè)系統(tǒng)數(shù)據(jù)集存在著數(shù)據(jù)類型不平衡,因此在處理不平衡數(shù)據(jù)類型時(shí)傳統(tǒng)分類算法往往注重整體準(zhǔn)確率,從而導(dǎo)致少數(shù)類樣本的識(shí)別正確率偏低。
目前針對(duì)不平衡數(shù)據(jù)類型的研究主要包括數(shù)據(jù)預(yù)處理層面、特征層面和分類算法層面。在特征層面,通過(guò)特征選擇刪除不平衡數(shù)據(jù)中不具區(qū)分性的特征,增加數(shù)據(jù)間的區(qū)分度,提高分類的準(zhǔn)確率。在分類算法層面,通過(guò)改進(jìn)分類算法在處理不平衡數(shù)據(jù)的缺陷,結(jié)合不平衡數(shù)據(jù)的特點(diǎn),對(duì)分類算法進(jìn)行改進(jìn)以提升分類的準(zhǔn)確率。由于數(shù)據(jù)預(yù)處理層面的方法不依賴于分類器,具有通用性,因此本文將通過(guò)數(shù)據(jù)預(yù)處理層面方法,采用一定的策略來(lái)改變樣本的分布,以達(dá)到降低或解決數(shù)據(jù)類型不平衡性的問(wèn)題。該方法包括過(guò)采樣和欠采樣兩種技術(shù),其中欠采樣技術(shù)在數(shù)據(jù)集較小時(shí)可能會(huì)丟失數(shù)據(jù)集中的重要信息,因此過(guò)采樣技術(shù)是數(shù)據(jù)不平衡問(wèn)題研究的重點(diǎn)。隨機(jī)過(guò)采樣是最簡(jiǎn)單的過(guò)采樣方法,通過(guò)隨機(jī)復(fù)制少數(shù)類樣本達(dá)到少數(shù)類與多數(shù)類數(shù)量平衡的目的,該方法雖然簡(jiǎn)單,但不能生成新樣本,容易造成過(guò)擬合。Chawla等提出的SMOTE(Synthetic Minority Over-sampling Technique)方法是過(guò)采樣中的經(jīng)典方法,該方法通過(guò)尋找少數(shù)類樣本的K個(gè)近鄰節(jié)點(diǎn),然后從中隨機(jī)選擇一個(gè)近鄰節(jié)點(diǎn),在少數(shù)類樣本點(diǎn)與選中的近鄰節(jié)點(diǎn)之間合成新樣本,但增加了類之間重疊的可能性。Han等提出了Borderline-SMOTE方法,該方法將少數(shù)類樣本點(diǎn)分為安全樣本,危險(xiǎn)樣本和噪聲樣本三類,僅對(duì)危險(xiǎn)樣本合成新樣本,該方法考慮到了少數(shù)類數(shù)據(jù)分布不均勻的情況,卻未邊界樣本的差異作出考慮。Douzas等提出了K-means SMOTE方法,將K-means聚類算法與SMOTE方法結(jié)合在一起,在聚類中過(guò)采樣能有效避免噪聲,該方法考慮到了少數(shù)類樣本的密度,但沒(méi)有考慮到少數(shù)類樣本的密度分布問(wèn)題。
針對(duì)入侵檢測(cè)系統(tǒng)數(shù)據(jù)集數(shù)據(jù)不平衡的情況,本文從數(shù)據(jù)采樣層面出發(fā),在K-means SMOTE方法的基礎(chǔ)上做進(jìn)一步改進(jìn),提出了一種基于最高密度點(diǎn)過(guò)采樣方法(Highest Density Point SMOTE,HDP-SMOTE)方法。該方法根據(jù)少數(shù)類的最高密度點(diǎn)對(duì)聚類劃分出密集區(qū)域和非密集區(qū)域,并對(duì)不同區(qū)域采取不同的方法進(jìn)行過(guò)采樣,可以有效地增強(qiáng)決策邊界,改善樣本點(diǎn)的分布,達(dá)到提升分類器性能的目的。本文使用隨機(jī)森林(Random Forest)算法作為基準(zhǔn)分類器,選用precision(查準(zhǔn)率)、recall(召回率)、F1-score和G-mean作為評(píng)價(jià)指標(biāo),在入侵檢測(cè)系統(tǒng)常用的NSL-KDD和UNSW-NB15數(shù)據(jù)集上進(jìn)行測(cè)試。實(shí)驗(yàn)結(jié)果表明,使用本文提出的方法進(jìn)行數(shù)據(jù)過(guò)采樣后,分類方法能對(duì)入侵檢測(cè)數(shù)據(jù)進(jìn)行有效的分類,方法的整體性能較好。
2.1.1 SMOTE方法
SMOTE(Synthetic Minority Oversampling Technique)是最經(jīng)典的過(guò)采樣方法,現(xiàn)在許多過(guò)采樣方法都是以它為原型提出的。該方法的主要步驟如下:
1)對(duì)于每一個(gè)少數(shù)類樣本x
,計(jì)算它到其它所有少數(shù)類樣本的歐氏距離,如式(1)所示,并使用KNN算法尋找與該樣本點(diǎn)的K近鄰。(1)
(2)
3)將新合成的樣本與原樣本合并,構(gòu)成新的數(shù)據(jù)集。
2.1.2 K-means SMOTE方法
K-means SMOTE方法將K-means和SMOTE相結(jié)合,來(lái)解決數(shù)據(jù)不平衡問(wèn)題。該方法僅在安全區(qū)域進(jìn)行過(guò)采樣避免了噪聲的產(chǎn)生。由于K-means以及SMOTE的被廣泛使用的特性,該方法易于實(shí)現(xiàn)。該方法的主要步驟如下:
首先,使用K-means方法將數(shù)據(jù)集分為k個(gè)聚類。
然后,根據(jù)每個(gè)聚類在少數(shù)類和多數(shù)類中所占個(gè)數(shù)計(jì)算聚類的不平衡率,如式(3)所示。當(dāng)該聚類的不平衡率達(dá)到閾值時(shí)對(duì)此進(jìn)行過(guò)采樣,否則放棄過(guò)采樣。默認(rèn)閾值為1,即少數(shù)類樣本數(shù)至少達(dá)到50%
。其中maj
_count
表示多數(shù)類個(gè)數(shù),min_count
表示少數(shù)類個(gè)數(shù)。(3)
最后,使用SMOTE對(duì)每個(gè)過(guò)濾后的聚類進(jìn)行過(guò)采樣。
t
(默認(rèn)情況下閾值t
為1,即少數(shù)類樣本至少占50%
)將不會(huì)生成樣本,但其中可能含有新的樣本,則會(huì)導(dǎo)致潛在樣本的丟失。則本文在K-means SMOTE的結(jié)構(gòu)基礎(chǔ)上改進(jìn),提出了HDP-SMOTE方法,增加聚類細(xì)分步驟,如圖1所示。圖1 HDP-SMOTE方法的計(jì)算結(jié)構(gòu)圖
圖1的創(chuàng)新思想是對(duì)未達(dá)到閾值t的聚類進(jìn)行再次篩選,從而避免潛在生成樣本丟失。HDP-SMOTE方法前期與K-means Smote方法一樣,需要進(jìn)行聚類步驟和過(guò)濾步驟;其創(chuàng)新點(diǎn)在于當(dāng)聚類中少數(shù)類樣本不平衡率低于閾值t
時(shí),計(jì)算聚類的最高密度點(diǎn)和類內(nèi)平均距離;當(dāng)樣本點(diǎn)與最高密度點(diǎn)的距離大于類內(nèi)平均距離則劃為非密集區(qū)點(diǎn),反之劃為密集區(qū)點(diǎn);在劃分密集區(qū)與非密集區(qū)之后,再計(jì)算該密集區(qū)的不平衡率;當(dāng)不平衡率大于閾值t
,進(jìn)入過(guò)采樣操作;當(dāng)不平衡率小于閾值t
說(shuō)明密集區(qū)中的少數(shù)類樣本點(diǎn)占比很少則會(huì)放棄過(guò)采樣。HDP-SMOTE方法針對(duì)密集區(qū)中的少數(shù)類樣本點(diǎn)較為稀疏和較為密集兩種情況分別進(jìn)行處理,3.2節(jié)與3.3節(jié)對(duì)這兩種情況進(jìn)行分別闡述。為了解決密集區(qū)內(nèi)少數(shù)類樣本較為稀疏情況的生成樣本丟失問(wèn)題,本文通過(guò)計(jì)算聚類中的最高密度點(diǎn)和類內(nèi)平均距離將區(qū)域劃分為密集區(qū)和非密集區(qū),提出了針對(duì)密集區(qū)內(nèi)的少數(shù)類樣本點(diǎn)較為稀疏的方案。
在K-means SMOTE方法中,如果聚類中少數(shù)類個(gè)數(shù)未達(dá)到閾值t比例會(huì)放棄在該聚類中進(jìn)行過(guò)采樣,造成潛在新樣本的丟失。本節(jié)在K-means SMOTE方法基礎(chǔ)上增加了聚類細(xì)分步驟,針對(duì)少數(shù)類無(wú)法達(dá)到閾值t比例的情況,基于最高密度點(diǎn)和類內(nèi)平均距離將原本少數(shù)類較為稀疏的聚類范圍縮小到少數(shù)類較為密集的區(qū)域,增加了少數(shù)類樣本被過(guò)采樣的可能性。
1)計(jì)算聚類中少數(shù)類的最高密度點(diǎn)
首先使用式(4)計(jì)算兩樣本點(diǎn)之間的歐氏距離D
(x
,x
),其中x
,x
是少數(shù)類樣本集合D
中任意兩個(gè)樣本點(diǎn),d
表示特征維數(shù),k
表示當(dāng)前特征維數(shù)。(4)
其次使用式(5)計(jì)算x
的密度Density
(x
),其中p
表示當(dāng)前區(qū)域中總的少數(shù)類樣本個(gè)數(shù),Density
(x
)越大時(shí)表示樣本周圍的樣本越多。?x
∈D
(i
∈{1,2,…,p
})(5)
繼而尋找少數(shù)類樣本點(diǎn)中最高密度點(diǎn),如式(6)所示
(6)
2)計(jì)算類內(nèi)平均距離,根據(jù)最高密度點(diǎn)劃分密集區(qū)
接著計(jì)算類內(nèi)平均距離dist
_aver
,類內(nèi)平均距離實(shí)際是指每?jī)牲c(diǎn)之間歐幾里得距離的平均距離,如式(7)所示(7)
隨后根據(jù)最高密度點(diǎn)與類內(nèi)平均距離將樣本劃分為密集區(qū)和非密集區(qū),如式(8)所示。若樣本點(diǎn)與最高密度點(diǎn)的距離大于類內(nèi)平均距離,該樣本點(diǎn)屬于非密集區(qū),記為Spar
_area
;否則屬于密集區(qū),記為Den
_area
,如式(5)所示。最后將少數(shù)類樣本未達(dá)閾值t
的聚類用此聚類中的密集區(qū)替代計(jì)算,使之擁有更高的少數(shù)類占比。在劃分密集區(qū)和非密集區(qū)后,可以增大密集區(qū)內(nèi)合成少數(shù)類樣本的密度,在一定程度上達(dá)到增強(qiáng)決策邊界的目的。(8)
圖2中描述了HDP-SMOTE方法的五個(gè)步驟。步驟1)輸入數(shù)據(jù),將輸入數(shù)據(jù)讀入。步驟2)聚類步驟,將輸入數(shù)據(jù)聚為四個(gè)區(qū)域并使用式(3)計(jì)算這四個(gè)區(qū)域的不平衡率IR
(其中i
代表不平衡率的計(jì)算范圍),得到IR
()=3/
8,IR
()=8/
7,IR
()=8/
9,IR
()=7/
9(IR
(),IR
(),IR
(),IR
()分別表示區(qū)域(a
),(b
),(c
),(d
)的不平衡率)。其中min_count
代表少數(shù)類樣本個(gè)數(shù),maj
_count
代表多數(shù)類樣本個(gè)數(shù)。步驟3)聚類細(xì)分步驟,計(jì)算(c
)和(d
)區(qū)域中少數(shù)類樣本最高密度點(diǎn)和類內(nèi)平均距離劃分密集區(qū),分別得到區(qū)域(c
)的密集區(qū)(c
)和非密集區(qū)(c
),區(qū)域(d
)的密集區(qū)(d
)和非密集區(qū)(d
),兩個(gè)密集區(qū)的不平衡率為IR
()=6/
4和IR
()=5/
4(IR
(),IR
()分別表示區(qū)域(c
),(d
)的不平衡率)。圖2 HDP-SMOTE方法圖
步驟4)過(guò)濾步驟和步驟5)過(guò)采樣步驟,篩選符合條件的聚類進(jìn)行過(guò)采樣。IR
()<閾值t
,放棄采樣;IR
()>閾值t
,直接進(jìn)行Kmeans-SMOTE采樣;IR
()和IR
()小于閾值t
,在原K-means SMOTE中不能進(jìn)行采樣,當(dāng)IR
(),IR
()不小于閾值t
時(shí)可以通過(guò)本文提出的方法進(jìn)行采樣。根據(jù)密集區(qū)中少數(shù)類樣本點(diǎn)的占比分別采用少數(shù)類樣本點(diǎn)較為稀疏和較為密集的方案進(jìn)行過(guò)采樣操作。如圖2中2)的(d
)區(qū)域圖所示,根據(jù)式(6)計(jì)算得知IR
()=7/
9,該聚類中雖有大量少數(shù)類樣本具有生成樣本的條件,但由于少數(shù)類樣本所占比例沒(méi)有達(dá)到閾值t
,在經(jīng)過(guò)K-means SMOTE的過(guò)濾步驟時(shí)該聚類會(huì)被過(guò)濾掉,造成潛在新樣本的丟失。對(duì)于這類情況,HDP-SMOTE方法會(huì)通過(guò)最高密度點(diǎn)和類內(nèi)平均距離劃出該聚類的少數(shù)類密集區(qū)來(lái)代替原聚類范圍,如圖2中3)的(d
)區(qū)域所示。對(duì)密集區(qū)進(jìn)行過(guò)濾和過(guò)采樣步驟,通過(guò)計(jì)算找到聚類中的最高密度點(diǎn)(被標(biāo)注下劃線的×),分別以最高密度點(diǎn)和類內(nèi)平均距離為中心和距離繪制密集區(qū),密集區(qū)的IR
()=5/
4達(dá)到閾值t
條件,可以通過(guò)過(guò)濾步驟進(jìn)行過(guò)采樣,以達(dá)到避免潛在新樣本的丟失的目的。.
2節(jié)中的方法來(lái)解決,可能會(huì)引起的樣本重疊問(wèn)題,本節(jié)針對(duì)密集區(qū)內(nèi)的少數(shù)類樣本點(diǎn)較為密集的情況提出解決方案。該方案的生成區(qū)域不再局限于密集區(qū),也包括非密集區(qū)。該方案通過(guò)將該聚類的生成數(shù)分散到密集區(qū)和非密集區(qū)中,來(lái)避免樣本重疊問(wèn)題。該方案與其它方法不同的是在密集區(qū)采用傳統(tǒng)的SMOTE方法進(jìn)行過(guò)采樣,在非密集區(qū)拋棄了傳統(tǒng)的將目標(biāo)樣本分組的思想,采用放射型SMOTE方法,使得在非密集區(qū)域只關(guān)注該聚類中目標(biāo)類樣本的最高密度點(diǎn)和非密集區(qū)的樣本點(diǎn)。該方案如圖2所示,其中(3)-(4)圖的(c)區(qū)域使用了該方案。該方案在前一個(gè)方案的過(guò)濾步驟和過(guò)采樣步驟提出的。具體如下:
首先使用式(9)計(jì)算生成樣本的距離比值,其中x表示非密集區(qū)少數(shù)類樣本點(diǎn),rand(0,1)表示(0,1)之間的隨機(jī)數(shù)。
(9)
其次在非密集區(qū)少數(shù)類樣本點(diǎn)x
與最高密度點(diǎn)x
max_之間的非密集區(qū)內(nèi)做線性插值得到新生成的少數(shù)類樣本x
,如式(10)所示。最后將新生成的少數(shù)類樣本與原始訓(xùn)練樣本合并,構(gòu)成新的訓(xùn)練樣本集。x
=x
+(x
max_-x
)×δ
(10)
兩個(gè)方案是根據(jù)密集區(qū)內(nèi)少數(shù)類樣本的密集程度提出的,它們的思想是一致的,都是從少數(shù)類占比較低的聚類中生成樣本,圍繞最高密度點(diǎn)生成,能更好的改善樣本點(diǎn)的分布,提升分類器的性能。
實(shí)驗(yàn)環(huán)境為Windows Server 2016 操作系統(tǒng)、Intel Xeon E5-2620 V3 2.4GHZ、64GB內(nèi)存,編譯環(huán)境為Python 3.6.5。
實(shí)驗(yàn)數(shù)據(jù)集選用當(dāng)今入侵檢測(cè)系統(tǒng)領(lǐng)域普遍認(rèn)可的NSL-KDD和UNSW-NB15數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。
3.1.1 NSL-KDD數(shù)據(jù)集
NSL-KDD數(shù)據(jù)集是在KDD CUP 99數(shù)據(jù)集基礎(chǔ)上改進(jìn)后的數(shù)據(jù)集。NSL-KDD數(shù)據(jù)集解決了KDD CUP99數(shù)據(jù)集存在的數(shù)據(jù)冗余問(wèn)題,使得分類器在對(duì)訓(xùn)練集的學(xué)習(xí)過(guò)程中不再偏向頻繁出現(xiàn)的記錄。NSL-KDD數(shù)據(jù)集是KDD數(shù)據(jù)集系列中最優(yōu)秀的代表。
表1 NSL-KDD數(shù)據(jù)集
NSL-KDD共包括五種攻擊類型:Normal、Probe、DOS、U2R和R2L。U2R和R2L攻擊數(shù)據(jù)不同于DOS和probe攻擊,它們?cè)诙虝r(shí)間內(nèi)向同一個(gè)目的主機(jī)發(fā)起大量連接,而U2R和R2L攻擊在連接記錄中沒(méi)有明顯的頻繁連續(xù)攻擊模式,這兩種攻擊行為嵌入在報(bào)文的數(shù)據(jù)部分,通常只涉及單個(gè)連接,因此所占比例較少。
由表1可知,訓(xùn)練集的各類攻擊數(shù)據(jù)中,DOS類型數(shù)量為45927,R2L和U2R類型數(shù)量為995和52,相差46和883倍。NSL-KDD訓(xùn)練集數(shù)據(jù)分布存在極度不均衡,分類算法會(huì)偏向于高頻數(shù)據(jù),但占比較少的攻擊類型如U2R攻擊往往對(duì)網(wǎng)絡(luò)的危害更大。
3.1.2 UNSW-NB15數(shù)據(jù)集
NSL-KDD雖然是被目前所普遍使用的數(shù)據(jù)集,但它的基準(zhǔn)數(shù)據(jù)集產(chǎn)生于二十年前,根據(jù)大量的研究表明,NSL-KDD數(shù)據(jù)集不能很好的反映現(xiàn)代網(wǎng)絡(luò)的特點(diǎn)。本文引用了新一代UNSW-NB15數(shù)據(jù)集,它是于2015年由澳大利亞網(wǎng)絡(luò)安全中心Cyber Range實(shí)驗(yàn)室推出的用于評(píng)估網(wǎng)絡(luò)入侵檢測(cè)的綜合數(shù)據(jù)集。在UNSW-NB15數(shù)據(jù)集中存在38.55%的重復(fù)數(shù)據(jù),為了避免生成重復(fù)數(shù)據(jù),影響評(píng)判指標(biāo)的準(zhǔn)確性,在本次實(shí)驗(yàn)中對(duì)UNSW-NB15數(shù)據(jù)集進(jìn)行了去重處理。
由表2可知,訓(xùn)練集的各類攻擊數(shù)據(jù)中,DOS類型數(shù)量為19844,Worms和Shellcode類型數(shù)量為127和1091,相差156和18倍。雖然UNSW-NB15數(shù)據(jù)集的分布也存在不平衡,但優(yōu)于NSL-KDD數(shù)據(jù)集。
表2 UNSW-NB15數(shù)據(jù)集
一般分類方法是以accuracy(準(zhǔn)確率)作為評(píng)價(jià)指標(biāo)。當(dāng)樣本的分布不平衡時(shí),由于少數(shù)類樣本對(duì)整體準(zhǔn)確率的影響較小,即使分類算法將全部樣本都被視為多數(shù)類,仍然可以獲得較高的準(zhǔn)確率,因此僅使用準(zhǔn)確率作為評(píng)價(jià)指標(biāo),很難準(zhǔn)確地反映出不平衡數(shù)據(jù)集的分類性能。
本文使用評(píng)估不平衡數(shù)據(jù)的分類性能時(shí)常用的precision(查準(zhǔn)率)、recall(召回率)、F1-score和G-mean作為評(píng)價(jià)指標(biāo)。
precision是指正確預(yù)測(cè)的正樣本數(shù)占所有預(yù)測(cè)為正樣本的數(shù)量的比值。它只關(guān)注預(yù)測(cè)為正樣本的部分,所有預(yù)測(cè)為正樣本的樣本中有多少是真正的正樣本。定義如下
(11)
recall是指正確預(yù)測(cè)的正樣本數(shù)占真實(shí)正樣本總數(shù)的比值,定義如下
(12)
F1-score綜合考慮了precision(查全率)和recall(召回率),是兩者的一種調(diào)和平均,對(duì)不平衡類別非常有用的一種評(píng)價(jià)指標(biāo),定義如下
(13)
G-means也綜合了查全率(precision)和查全率(recall),是兩者的幾何平均數(shù),定義為
(14)
其中:TP(true positive)為正確識(shí)別的正樣本數(shù),TN(true negative)為正確識(shí)別的負(fù)樣本數(shù),F(xiàn)P(false positive)為錯(cuò)誤識(shí)別的正樣本數(shù),F(xiàn)N(false negative)為錯(cuò)誤識(shí)別的負(fù)樣本數(shù)。
為使模型能達(dá)到最佳效果,需要針對(duì)不同數(shù)據(jù)集確定K-means算法用到的k1值和Smote方法中KNN算法用到的k2值。
對(duì)于K-means聚類中的k1值,本文使用手肘法(Elbow Method)和輪廓系數(shù)法(silhouette coefficient)來(lái)相結(jié)合的方式縮小k1值的取值范圍。k2值一般取一個(gè)比較小的值,這里將(2,3,4,5,6,7)作為候選值。最終采用交叉驗(yàn)證法來(lái)選取最優(yōu)的k1和k2值。
根據(jù)手肘法可確定KDD和UNSW數(shù)據(jù)集的k1值取值范圍分別為(2~12)和(2~9),結(jié)合輪廓系數(shù)法可將取值范圍縮小至(2~9)和(2,4,5)。兩個(gè)數(shù)據(jù)集的k2值取值范圍設(shè)定在(2~7)。采用交叉驗(yàn)證法,最終確定兩個(gè)數(shù)據(jù)集k1,k2的取值范圍為(6,4)和(4,5)。
本文實(shí)驗(yàn)將SMOTE、K-means Smote(表3中簡(jiǎn)稱為KMS)和HDP-SMOTE三種采樣方法分別與經(jīng)典的隨機(jī)森林分類算法相結(jié)合進(jìn)行實(shí)驗(yàn)對(duì)比。為了驗(yàn)證過(guò)采樣的有效性,加入隨機(jī)森林算法未結(jié)合任何采樣方法的分類結(jié)果作為對(duì)比。實(shí)驗(yàn)首先對(duì)數(shù)據(jù)集進(jìn)行數(shù)值化處理,然后采用十折交叉驗(yàn)證作為評(píng)估方法,分別運(yùn)行50次取平均值。兩組數(shù)據(jù)集的實(shí)驗(yàn)結(jié)果如表3和表4所示,分別列出不同算法在各類攻擊數(shù)據(jù)的precision、recall、F1-score和G-mean的值。表中加粗項(xiàng)代表性能最佳的方法。
表3 不同方法在NSL-KDD數(shù)據(jù)集的評(píng)估結(jié)果
表4 不同方法在UNSW-NB15數(shù)據(jù)集的評(píng)估結(jié)果
如3.1節(jié)中提到的HDP_SMOTE方法包括針對(duì)密集區(qū)內(nèi)的少數(shù)類樣本點(diǎn)較為稀疏和較為密集兩種情況的實(shí)現(xiàn)。若密集區(qū)少數(shù)類個(gè)數(shù)與多數(shù)類個(gè)數(shù)的不平衡率達(dá)到閾值t,并且使用式(13)計(jì)算密集區(qū)中少數(shù)類個(gè)數(shù)占聚類中少數(shù)類總數(shù)之比MCP是否超過(guò)閾值t2(默認(rèn)情況下閾值t2為70%,即密集區(qū)中的少數(shù)類個(gè)數(shù)至少占聚類中少數(shù)類總數(shù)的70%),若MCP超過(guò)閾值t2說(shuō)明密集區(qū)內(nèi)的少數(shù)類樣本點(diǎn)過(guò)于密集,可能會(huì)引起樣本重疊的問(wèn)題,選用第二種方案。該方法可以將生成數(shù)量分散到密集區(qū)和非密集區(qū)中來(lái)避免這個(gè)問(wèn)題。若密集區(qū)中少數(shù)類個(gè)數(shù)沒(méi)有超過(guò)閾值t2,則選用第一種方案。
(15)
從表3和表4可以看出,K-means SMOTE方法用于入侵檢測(cè)系統(tǒng)數(shù)據(jù)集的過(guò)采樣效果雖然優(yōu)于原始數(shù)據(jù)集,但效果不如SMOTE方法。本文提出的兩個(gè)方法,均是基于K-means SMOTE方法提出,而效果明顯優(yōu)于其它方法。SMOTE方法對(duì)少數(shù)類樣本不加區(qū)分地進(jìn)行過(guò)采樣,雖然能提升少數(shù)類樣本的評(píng)價(jià)指標(biāo),但整體表現(xiàn)一般,這是因?yàn)镾MOTE方法進(jìn)行插值運(yùn)算時(shí)沒(méi)有考慮到樣本的分布問(wèn)題。K-means SMOTE方法雖然通過(guò)對(duì)整個(gè)數(shù)據(jù)集劃分子類的方式考慮到了子類分布的問(wèn)題,只有當(dāng)聚類中少數(shù)類個(gè)數(shù)達(dá)到閾值t時(shí),對(duì)該聚類中的少數(shù)類使用SMOTE方法進(jìn)行過(guò)采樣;若少數(shù)類的數(shù)量未達(dá)到閾值t時(shí)會(huì)忽略該聚類,造成潛在新樣本的丟失。
本文提出的HDP-SMOTE方法是在K-means SMOTE方法基礎(chǔ)上改進(jìn)得到的。該方法在一定程度上彌補(bǔ)了潛在新樣本的丟失問(wèn)題。針對(duì)不同情況該方法提供了密集和稀疏兩種數(shù)據(jù)過(guò)采樣方案,能夠有針對(duì)性的進(jìn)行新樣本的生成,更好的改善樣本點(diǎn)的分布。在入侵檢測(cè)系統(tǒng)的主流數(shù)據(jù)集上與其它采樣方法相比,該方法有著較為明顯的優(yōu)勢(shì)。本文方法比其它采樣方法能有效地解決數(shù)據(jù)不平衡問(wèn)題,但該方法依然存在噪聲樣本。
如何將欠采樣方法和過(guò)采樣方法有效地結(jié)合起來(lái),剔除破壞樣本分布的噪聲樣本和異常點(diǎn)是今后研究的方向。