龐興龍,朱國(guó)勝,楊少龍,李修遠(yuǎn)
(湖北大學(xué)計(jì)算機(jī)與信息工程學(xué)院,湖北 武漢 430062)
網(wǎng)絡(luò)流量分類離不開數(shù)據(jù)集的標(biāo)簽,其中監(jiān)督學(xué)習(xí)和半監(jiān)督學(xué)習(xí)最具有代表性,并且具有較高的準(zhǔn)確率。目前大多數(shù)研究人員利用現(xiàn)有的公開數(shù)據(jù)集或者自主采集的數(shù)據(jù)集,經(jīng)過(guò)人工周密的標(biāo)記達(dá)到分類的目的,但一般都建立在無(wú)噪聲環(huán)境影響的前提下,而現(xiàn)實(shí)情況中的網(wǎng)絡(luò)流量通常攜帶或多或少的外部噪聲。研究人員將外部噪聲分為2類:標(biāo)簽噪聲和特征噪聲。標(biāo)簽噪聲是指在分類過(guò)程中被用于訓(xùn)練的目標(biāo)標(biāo)簽與數(shù)據(jù)集本身對(duì)應(yīng)的標(biāo)簽存在差異,例如,在標(biāo)簽標(biāo)記時(shí)將某條數(shù)據(jù)歸屬于其他標(biāo)簽,標(biāo)簽名稱拼寫錯(cuò)誤等情況都會(huì)導(dǎo)致出現(xiàn)標(biāo)簽噪聲;特征噪聲通常指訓(xùn)練集樣本的特征與實(shí)際樣本訓(xùn)練特征的差異,例如人為注入的高斯噪聲。以上2種噪聲均會(huì)對(duì)分類性能造成一定的影響,并且許多科研工作者論證得出標(biāo)簽噪聲造成的影響會(huì)更加顯著的結(jié)論。Frénay等人[1]對(duì)這一類型的噪聲進(jìn)行了充分的描述,Quinlan[2]對(duì)2種噪聲的影響進(jìn)行了分析并得出了類似的結(jié)論:相對(duì)于特征噪聲,標(biāo)簽噪聲對(duì)分類器的影響更大。因此,本文著重分析標(biāo)簽噪聲問(wèn)題對(duì)分類性能的影響。
標(biāo)簽噪聲在分類問(wèn)題中對(duì)分類性能具有較大的影響,通常直接表現(xiàn)為分類能力大幅度下降、模型的復(fù)雜度增加和預(yù)測(cè)能力下降等。目前對(duì)于標(biāo)簽噪聲的處理方法大致歸為2種:(1)標(biāo)簽修復(fù);(2)標(biāo)簽剔除。二者的目的都是減少錯(cuò)誤標(biāo)簽對(duì)分類性能的影響,但本質(zhì)上的區(qū)別在于標(biāo)簽剔除僅僅只是刪除了被認(rèn)為錯(cuò)誤標(biāo)記的數(shù)據(jù),對(duì)于錯(cuò)誤標(biāo)簽極少且剔除性能較高的算法,會(huì)有較好的分類結(jié)果,但通過(guò)剔除達(dá)到除噪目的的方法在各種網(wǎng)絡(luò)流量數(shù)據(jù)集上不一定有較好的適用性能,而標(biāo)簽修復(fù)在這種情況下具有更好的通用性。
目前,對(duì)于標(biāo)簽的修復(fù)有2種處理方法:(1)對(duì)分類算法本身進(jìn)行提升,如提升算法對(duì)噪聲的魯棒性、設(shè)計(jì)對(duì)標(biāo)簽噪聲不敏感的算法等。文獻(xiàn)[3]提出的自適應(yīng)投票噪聲校正算法,通過(guò)考慮潛在標(biāo)簽噪聲的數(shù)量和概率創(chuàng)建多個(gè)弱分類器,來(lái)精確識(shí)別和校正潛在的噪聲標(biāo)簽。Nettleton等人[4]通過(guò)對(duì)不同分類器在不同噪聲比例下的穩(wěn)定性進(jìn)行對(duì)比,評(píng)判各個(gè)分類器對(duì)噪聲的敏感度;Manwani等人[5]探討了分類器的耐噪音學(xué)習(xí),使用有、無(wú)噪聲數(shù)據(jù)學(xué)習(xí),使得分類器具有耐噪抗噪性能;Abelln等人[6]提出一種袋裝信條決策樹,來(lái)提高帶噪數(shù)據(jù)集的分類性能,并且使用雙變量誤差分解分析驗(yàn)證了該算法具有較高的性能;Wang等人[7]則提出一種抗噪聲統(tǒng)計(jì)流量分類方法,將噪聲消除和可靠性估計(jì)技術(shù)引入流量分類中,在構(gòu)建分類器之前,估計(jì)剩余訓(xùn)練數(shù)據(jù)的可靠性。通過(guò)在2個(gè)真實(shí)流量數(shù)據(jù)集上的大量分類實(shí)驗(yàn)得出,該方法能夠有效地解決訓(xùn)練數(shù)據(jù)的錯(cuò)誤標(biāo)注問(wèn)題。然而,這類算法對(duì)于數(shù)據(jù)集標(biāo)簽具有一定的依賴性,當(dāng)標(biāo)簽噪聲數(shù)目較多時(shí),該算法所訓(xùn)練出的分類模型會(huì)受到顯著影響。并且由于不同數(shù)據(jù)集自身特性的差異,該算法在各類數(shù)據(jù)集上的表現(xiàn)也存在差異。(2)在數(shù)據(jù)集層面上的修復(fù),這類方法主要作為一種預(yù)處理手段來(lái)對(duì)數(shù)據(jù)集中帶噪標(biāo)簽進(jìn)行檢測(cè)。文獻(xiàn)[8]利用屬性之間以及屬性和類之間的相互依賴性,使用其余屬性和類值預(yù)測(cè)該屬性的值。通過(guò)識(shí)別每個(gè)實(shí)例中可能存在的噪聲屬性或類,并用更合適的值替換這些值來(lái)處理訓(xùn)練數(shù)據(jù)中的噪聲,最終證明了這是一種可行的降噪和矯正方法。Arazo等人[9]提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)的標(biāo)簽噪聲下的訓(xùn)練方法,將生成的模型用于實(shí)現(xiàn)動(dòng)態(tài)自舉損失,并將這種動(dòng)態(tài)自舉與混合數(shù)據(jù)增強(qiáng)相結(jié)合,實(shí)現(xiàn)了一種非常穩(wěn)健的損失校正方法。
可以發(fā)現(xiàn),與基于算法層面的方法相比,基于數(shù)據(jù)層面的方法能從根本上改善數(shù)據(jù)集中的噪聲含量,并且在噪聲比例較高情況下能實(shí)現(xiàn)標(biāo)簽修復(fù)和分類,具有較高的挑戰(zhàn)性和實(shí)用性。本文考慮從噪聲根源出發(fā),致力在數(shù)據(jù)與噪聲標(biāo)簽之間挖掘新的聯(lián)系,對(duì)噪聲標(biāo)簽進(jìn)行識(shí)別和修復(fù)。
本文將K-means聚類算法和隨機(jī)森林算法相結(jié)合, 提出了基于標(biāo)簽噪聲修復(fù)的網(wǎng)絡(luò)流量分類方法。K-means聚類算法作為典型的無(wú)監(jiān)督算法,在沒有可用標(biāo)簽的情況下,參與數(shù)據(jù)集預(yù)處理過(guò)程,為訓(xùn)練集訓(xùn)練出相應(yīng)標(biāo)簽集。隨機(jī)森林算法作為少數(shù)較優(yōu)算法,對(duì)標(biāo)簽噪聲不敏感[10],能有效提高分類性能,因此本文實(shí)驗(yàn)將采用隨機(jī)森林算法作為最終的分類模型。
本文方法考慮將權(quán)重值與聚類相結(jié)合,K-means聚類算法作為無(wú)監(jiān)督學(xué)習(xí)技術(shù),在分類中不會(huì)將標(biāo)簽作為分類的依據(jù),因此在進(jìn)行多次聚類后生成多組聚類的標(biāo)簽,然后調(diào)用CalcWeights算法[11]對(duì)聚類生成的多組標(biāo)簽計(jì)算權(quán)重,通過(guò)簇內(nèi)具有優(yōu)勢(shì)值的標(biāo)簽來(lái)統(tǒng)計(jì)權(quán)重,原理是具有優(yōu)勢(shì)值的標(biāo)簽在簇內(nèi)會(huì)表現(xiàn)出最優(yōu)的標(biāo)簽類型。然而,CalcWeights算法依賴于訓(xùn)練集樣本標(biāo)簽種類數(shù)目,因此只能處理正確標(biāo)簽被錯(cuò)誤標(biāo)記情況下的噪聲,而無(wú)法識(shí)別由于錯(cuò)誤拼寫出現(xiàn)的新標(biāo)簽類型,這給權(quán)重值計(jì)算帶來(lái)的影響較大。本文將標(biāo)簽錯(cuò)誤拼寫同時(shí)作為標(biāo)簽噪聲產(chǎn)生的又一特殊情況,并改善了CalcWeights算法無(wú)法識(shí)別“新標(biāo)簽”的不足。首先對(duì)輸入的訓(xùn)練集數(shù)據(jù)進(jìn)行標(biāo)簽類型識(shí)別,設(shè)定標(biāo)簽數(shù)量閾值作為評(píng)判該標(biāo)簽類型是否為拼寫錯(cuò)誤的依據(jù)。圖1展示了本文提出的帶噪標(biāo)簽修復(fù)的網(wǎng)絡(luò)流量分類方法的流程圖:本文方法在對(duì)訓(xùn)練集進(jìn)行標(biāo)簽類型和數(shù)量的統(tǒng)計(jì)后會(huì)將標(biāo)簽類型對(duì)應(yīng)的數(shù)目與自定義閾值進(jìn)行比較,并更新訓(xùn)練集中的標(biāo)簽和對(duì)應(yīng)數(shù)量,再將K-means算法與CalcWeight算法循環(huán)執(zhí)行a次,根據(jù)每次聚類生成的標(biāo)簽分布情況,為標(biāo)簽集賦予權(quán)重累加并輸出最大權(quán)重值對(duì)應(yīng)的標(biāo)簽類型,最后將標(biāo)簽集作為隨機(jī)森林算法的輸入。
Figure 1 Network traffic classification method based on label noise repair圖1 基于標(biāo)簽噪聲修復(fù)的網(wǎng)絡(luò)流量分類方法
K-means聚類算法是目前應(yīng)用最為廣泛的聚類算法之一,具有算法簡(jiǎn)單、容易收斂的特性,目的是將未標(biāo)注的數(shù)據(jù)集通過(guò)計(jì)算樣本項(xiàng)之間的相似度(也稱為樣本間的距離),按照數(shù)據(jù)內(nèi)部存在的數(shù)據(jù)特征將其劃分為不同的類別,使類內(nèi)數(shù)據(jù)相似,類間數(shù)據(jù)差異大。
K-means聚類算法的基本流程如算法1所示。
算法1K-means聚類算法
輸入:樣本集D={x1,x2,…,xn},聚類的簇?cái)?shù)k。
輸出:簇劃分結(jié)果C={C1,C2,…,Ck}。
步驟1從樣本集D中隨機(jī)抽取k個(gè)樣本作為聚類的質(zhì)心向量,表示為{μ1,μ2,…,μk}。
步驟2以下步驟迭代n次:
(1)初始化各個(gè)簇類:Cm≠?,m=1,2,…,k;
(4)如果所有的k個(gè)質(zhì)心向量都不再發(fā)生變化,則聚類過(guò)程結(jié)束。
步驟3輸出簇劃分結(jié)果C={C1,C2,…,Ck}。
CalcWeights算法是由Nicholson等人[11]提出的,本文根據(jù)該算法原理進(jìn)行調(diào)整,其基本流程如算法2所示。
算法2CalcWeights算法
輸入:循環(huán)次數(shù)N,標(biāo)簽類型對(duì)應(yīng)數(shù)量num,更新的標(biāo)簽集y1及聚類后的簇C。
輸出:重新調(diào)整的標(biāo)簽集yw。
步驟1 forj=0 toNdo//N由數(shù)據(jù)集行數(shù)與設(shè)定的聚類次數(shù)共同決定
(1)計(jì)算第j類標(biāo)簽數(shù)numj在總數(shù)num中的占比:u=numj/num;
(2)計(jì)算縮放因子:multiplier=min (lg(|Cj|),2);
(3)計(jì)算第j簇的標(biāo)簽分布。
步驟2計(jì)算每個(gè)數(shù)據(jù)樣本xi(i=1,2,…,n)在各類標(biāo)簽中的權(quán)重結(jié)果,并存放在ins_weights[i]中。
步驟3將每個(gè)數(shù)據(jù)樣本經(jīng)過(guò)權(quán)重計(jì)算之后選取在各類標(biāo)簽中權(quán)重最大的作為該樣本的標(biāo)簽;
步驟4輸出最終的標(biāo)簽集合yw。
為了檢驗(yàn)本文所提方法適用性,本文選取具有代表性的入侵檢測(cè)數(shù)據(jù)集NSL-KDD[12]和MOORE[13]進(jìn)行實(shí)驗(yàn),下面簡(jiǎn)單地對(duì)2個(gè)數(shù)據(jù)集進(jìn)行介紹。
(1)NSL-KDD數(shù)據(jù)集。
NSL-KDD數(shù)據(jù)集是由Tavallaee等人[12]從KDDCUP99數(shù)據(jù)集中篩選而得的,作為改進(jìn)的數(shù)據(jù)集,NSL-KDD在特征性能上更具有代表性。
該數(shù)據(jù)集擁有41維特征向量和1個(gè)被標(biāo)記好的樣本數(shù)據(jù)標(biāo)簽,其中有3個(gè)特征為字符型特征,分別為:protocol_type、flag和service。表1展示了該數(shù)據(jù)集的特征。
NSL-KDD數(shù)據(jù)集包括KDDTrain訓(xùn)練集和KDDTrain測(cè)試集,由于測(cè)試集與訓(xùn)練集的標(biāo)簽類型不相同,為了分析本文方法在帶噪標(biāo)簽下的分類性能,因此只選取測(cè)試集作為本文實(shí)驗(yàn)的數(shù)據(jù)集。然而KDDTrain訓(xùn)練集有12種標(biāo)簽類型,每種類型數(shù)據(jù)差異較大,為了保證在注入不同比例噪聲后不影響實(shí)驗(yàn)結(jié)果,選取實(shí)例數(shù)大于2 000的標(biāo)簽類型作為本次實(shí)驗(yàn)的對(duì)象,如表2所示。在對(duì)所選數(shù)據(jù)集進(jìn)行預(yù)處理時(shí),考慮到非數(shù)值型特征之間是否存在關(guān)聯(lián),本文在將其轉(zhuǎn)換為數(shù)值型時(shí)使用one-hot編碼,以保留屬性中所攜帶的數(shù)學(xué)性質(zhì),即映射為(1,0,0),(0,1,0)和(0,0,1)的形式,一共有80個(gè)特征,最終41維特征向量轉(zhuǎn)換成118維特征。此外,對(duì)剩余的38種數(shù)值特征采取標(biāo)準(zhǔn)方法進(jìn)行等比例縮放,轉(zhuǎn)換的公式為x′=(x-u)/σ,其中,x表示原始數(shù)據(jù),u表示均值,σ表示標(biāo)準(zhǔn)差。最后隨機(jī)選取數(shù)據(jù)集中70%的數(shù)據(jù)作為訓(xùn)練集,剩余30%作為測(cè)試集。
Table 1 Characteristics of NSL-KDD dataset表1 NSL-KDD數(shù)據(jù)集特征
Table 2 Six tag types with more than 2 000 instances表2 6個(gè)實(shí)例超過(guò)2 000的標(biāo)簽類型
(2)MOORE數(shù)據(jù)集。
MOORE數(shù)據(jù)集是目前應(yīng)用最為廣泛的網(wǎng)絡(luò)流量分類數(shù)據(jù)集,它是由Moore等人[13]通過(guò)高性能網(wǎng)絡(luò)監(jiān)控器采集而得的,采集的數(shù)據(jù)分為10個(gè)數(shù)據(jù)流文檔,一共377 526條數(shù)據(jù),如表3所示,是相對(duì)較為完善的網(wǎng)絡(luò)流特征集。
MOORE數(shù)據(jù)集的每種標(biāo)簽類型的數(shù)量比重差異很大,因此為了達(dá)到實(shí)驗(yàn)要求,同樣選取實(shí)例數(shù)大于2 000的標(biāo)簽類型作為實(shí)驗(yàn)對(duì)象,如表4所示。由于MOORE數(shù)據(jù)集定義了248種網(wǎng)絡(luò)數(shù)據(jù)流特征,為了避免MOORE數(shù)據(jù)集存在冗余現(xiàn)象以及分類相關(guān)性較小的特征,本文經(jīng)過(guò)分析該數(shù)據(jù)集的特征,最終選取11種特征屬性作為流量分類的特征,如表5所示。在選取分類特征后,仍然對(duì)數(shù)據(jù)集進(jìn)行標(biāo)準(zhǔn)化處理,最后隨機(jī)選取70%的數(shù)據(jù)作為訓(xùn)練集,剩余30%作為測(cè)試集。
Table 3 Ten document information of MOORE dataset表3 MOORE數(shù)據(jù)集10個(gè)文檔信息
Table 5 Features selected in this paper for classification表5 本文選取的用于分類的特征
本文將帶噪標(biāo)簽的修復(fù)指標(biāo)作為評(píng)判模型分類性能的關(guān)鍵,修復(fù)指標(biāo)包括標(biāo)簽修復(fù)力度、模型輸出結(jié)果質(zhì)量和AUC。其中,標(biāo)簽修復(fù)力度是根據(jù)標(biāo)簽修復(fù)后的新標(biāo)簽與真實(shí)標(biāo)簽進(jìn)行相似性對(duì)比來(lái)判定,本文使用調(diào)整蘭德系數(shù)ARI(Adjusted Rand index)來(lái)計(jì)算標(biāo)簽修復(fù)力度。調(diào)整蘭德系數(shù)是改進(jìn)了的蘭德系數(shù),調(diào)整蘭德系數(shù)假設(shè)模型的超分布為隨機(jī)模型,即類和簇的劃分為隨機(jī)的,那么各類別和各簇的數(shù)據(jù)點(diǎn)數(shù)目是固定的。模型輸出結(jié)果質(zhì)量是指在校正的數(shù)據(jù)集上訓(xùn)練分類器,并在測(cè)試集上進(jìn)行分類預(yù)測(cè)而獲得的分類精度。本文在最終分類環(huán)節(jié)采用性能較優(yōu)的隨機(jī)森林分類模型計(jì)算分類的質(zhì)量;AUC代表ROC曲線下覆蓋的面積。由于ROC曲線的取值一般在0.5~1.0,值越接近1.0,檢測(cè)的真實(shí)性就越高。
本文選擇Python作為編程語(yǔ)言,使用jupytyer-lab作為模型訓(xùn)練工具。首先對(duì)未添加噪聲的NSL-KDD數(shù)據(jù)集和MOORE數(shù)據(jù)集直接使用隨機(jī)森林進(jìn)行分類。為了防止分類過(guò)程中出現(xiàn)欠擬合或過(guò)擬合現(xiàn)象,因此使用隨機(jī)森林的學(xué)習(xí)曲線得到最佳n_estimators值,以降低實(shí)驗(yàn)的不合理性。n_estimators是隨機(jī)森林的重要參數(shù),表示森林中基評(píng)估器的數(shù)量,即樹的數(shù)量。當(dāng)n_estimators為181時(shí),NSL-KDD數(shù)據(jù)集上的分類達(dá)到99.872%的準(zhǔn)確率;當(dāng)n_estimators為44時(shí),MOORE數(shù)據(jù)集上的分類達(dá)到99.573%的準(zhǔn)確率。隨后在訓(xùn)練集中通過(guò)選取10%,20%,30%,40%,50%,55%,60%,65%,70%的數(shù)據(jù)將正確標(biāo)簽類型錯(cuò)誤標(biāo)注,錯(cuò)誤標(biāo)注的方式采取將正確標(biāo)簽錯(cuò)誤分配和標(biāo)簽錯(cuò)誤拼寫來(lái)實(shí)現(xiàn)噪聲的注入。隨后將STC (Self-Training Correction)算法[14]、CC (Cluster-based Correction)算法[14]和ADE(Automatic Data Enhancement)算法[15]與隨機(jī)森林算法相結(jié)合與本文方法進(jìn)行對(duì)比,并使用上文提到的標(biāo)簽修復(fù)力度、模型輸出結(jié)果質(zhì)量和AUC來(lái)評(píng)估本本算法的性能。
(1)標(biāo)簽精度。
不同算法的標(biāo)簽修復(fù)力度實(shí)驗(yàn)結(jié)果如圖2所示,圖中橫坐標(biāo)代表噪聲比例,縱坐標(biāo)代表算法修復(fù)力,即標(biāo)簽精度,圖2a和圖2b分別代表各算法在NSL-KDD數(shù)據(jù)集和MOORE數(shù)據(jù)集上的修復(fù)情況。將每種噪聲比例下的修復(fù)值繪制成折線,可直觀地看出不同噪聲下各個(gè)算法的修復(fù)情況。
Figure 2 Repair power of each algorithm on NSL-KDD and MOORE with noisy data 圖2 各算法在帶噪數(shù)據(jù)集KSL-KDD 和MOORE上的修復(fù)力
由圖2a可看出,對(duì)比修復(fù)算法STC在噪聲比例不大于20%時(shí)具有較強(qiáng)的修復(fù)力,在最佳情況下比本文提出的算法、CC算法和ADE算法,分別高出0.043,0.075和0.030;而在MOORE數(shù)據(jù)集上,則分別高出0.057,0.098和0.023,但當(dāng)噪聲比例大于20%時(shí),噪聲修復(fù)力呈明顯下降趨勢(shì),算法穩(wěn)定性表現(xiàn)較差;當(dāng)噪聲比在20%~55%時(shí),ADE算法、CC算法和本文提出的算法都具有較好的穩(wěn)定性,并且在標(biāo)簽修復(fù)的精確率上本文的算法要比ADE算法和CC算法表現(xiàn)好一些,并在NSL-KDD數(shù)據(jù)集上表現(xiàn)最明顯;當(dāng)噪聲比達(dá)到55%時(shí),4種算法的修復(fù)力度都呈下降趨勢(shì),但整體情況本文算法的修復(fù)力度仍然要高于其他3種算法的。
(2) 模型輸出結(jié)果質(zhì)量。
模型輸出結(jié)果質(zhì)量通過(guò)使用經(jīng)STC、CC、ADE和本文方法中的修復(fù)算法修復(fù)后的標(biāo)簽作為分類模型的輸入,利用分類器對(duì)標(biāo)簽質(zhì)量進(jìn)行預(yù)測(cè)。圖3展示了在NSL-KDD數(shù)據(jù)集和MOORE數(shù)據(jù)集上各算法的分類結(jié)果質(zhì)量,圖中橫坐標(biāo)表示當(dāng)前標(biāo)簽所攜帶的噪聲比例,縱坐標(biāo)則表示最終分類準(zhǔn)確率,即模型輸出結(jié)果質(zhì)量。
Figure 3 Classification results of each algorithm on KSL-KDD and MOORE with noisy data 圖3 各算法在帶噪數(shù)據(jù)集KSL-KDD 和MOORE上的分類性能
實(shí)驗(yàn)使用隨機(jī)森林分別對(duì)帶噪數(shù)據(jù)集與標(biāo)簽被修復(fù)的數(shù)據(jù)集進(jìn)行分類后對(duì)比,可看出帶噪數(shù)據(jù)集隨著噪聲比例的增加,分類準(zhǔn)確率呈明顯下降趨勢(shì),表明了標(biāo)簽噪聲對(duì)分類器分類性能的危害是較嚴(yán)重的。前文提到,在有噪聲的環(huán)境中,隨機(jī)森林算法對(duì)含噪數(shù)據(jù)集具有一定的容忍性,因此本文選用隨機(jī)森林算法作為4種修復(fù)算法的分類器,從理論上可得到較優(yōu)的分類準(zhǔn)確率。從圖3可以看出,當(dāng)噪聲比例不大于20%時(shí),STC算法相比其他3種算法具有更高的分類準(zhǔn)確率;同時(shí)可觀察到在NSL-KDD數(shù)據(jù)集上,在噪聲比例達(dá)到15%左右時(shí),本文提出的修復(fù)算法在最終的分類效果上要比ADE算法表現(xiàn)好,但在MOORE數(shù)據(jù)集上,當(dāng)噪聲比例不大于20%時(shí),本文算法的分類性能比ADE算法的要低;當(dāng)噪聲比例大于20%時(shí),STC算法的分類性能呈明顯下降趨勢(shì),并且隨著噪聲比例增大,下降幅度也增加。此時(shí)本文提出的修復(fù)算法、CC算法和ADE算法在噪聲比例到達(dá)55%之前都能使修復(fù)后的標(biāo)簽在分類性能上具有較好的穩(wěn)定性。除此之外,本文的修復(fù)算法在標(biāo)簽修復(fù)后的分類準(zhǔn)確率上要高于ADE算法的,在NSL-KDD數(shù)據(jù)集上同樣表現(xiàn)最明顯。而CC算法雖然也使修復(fù)后的標(biāo)簽保持著較好的分類穩(wěn)定性,但在分類性能上略遜于這2種算法的;當(dāng)噪聲比例不小于55%時(shí),4種算法所修復(fù)的標(biāo)簽在最終的分類器性能上都呈下降趨勢(shì)。而在帶噪的MOORE數(shù)據(jù)集上,本文提出的修復(fù)算法的分類性能表現(xiàn)較為穩(wěn)定。整體上本文提出的修復(fù)算法在2個(gè)數(shù)據(jù)集上的總體性能都優(yōu)于其他3種對(duì)比算法。
(3)AUC。
AUC指的是每個(gè)類型下的ROC曲線所形成的面積大小,由于網(wǎng)絡(luò)流量一般屬于多類別的數(shù)據(jù)集,因此將修復(fù)后的噪聲數(shù)據(jù)直接訓(xùn)練得到的模型的平均AUC值,作為該模型的AUC性能指標(biāo)。圖4展示了4種算法在不同噪聲比例下在2個(gè)數(shù)據(jù)集上的AUC指標(biāo)情況。由圖4a可看出,在噪聲比不大于20%時(shí),STC算法的AUC仍然略高于本文算法的AUC,ADE算法的AUC整體低于上述2種算法但高于CC算法的AUC;當(dāng)噪聲比例大于20%時(shí),STC算法的AUC開始呈明顯下降趨勢(shì),此時(shí)本文算法相比ADE算法和CC算法有更高的穩(wěn)定性;當(dāng)噪聲比例不小于60%時(shí),4種算法的AUC值都呈下降趨勢(shì),并且在NSL-KDD數(shù)據(jù)集上呈現(xiàn)得較為明顯。
Figure 4 AUC values of each algorithm on KSL-KDD and MOORE with noisy data 圖4 各算法在帶噪數(shù)據(jù)集KSL-KDD 和MOORE上的AUC值
(4)運(yùn)行時(shí)間。
圖5為修復(fù)算法運(yùn)行的時(shí)間對(duì)比結(jié)果。從圖中可以清晰地看出,本文所提算法和CC算法在NSL-KDD數(shù)據(jù)集和MOORE數(shù)據(jù)集上所消耗的時(shí)間都呈現(xiàn)較好的穩(wěn)定性,計(jì)算時(shí)間分別在1 s~4 s和在2 s~7 s。STC算法和ADE算法在2個(gè)數(shù)據(jù)集上所耗費(fèi)的時(shí)間大體隨著噪聲比例的提升有一定的增加,其中ADE算法在2個(gè)數(shù)據(jù)集上的計(jì)算時(shí)間都高于其他3種算法的,在NSL-KDD數(shù)據(jù)集上耗時(shí)最高達(dá)到了256.49 s左右,在MOORE數(shù)據(jù)集上計(jì)算耗時(shí)達(dá)到88.06 s左右。
Figure 5 Calculation time of each algorithm on KSL-KDD and MOORE with noisy data 圖5 各算法在帶噪數(shù)據(jù)集KSL-KDD 和MOORE上的計(jì)算時(shí)間
由于本文在預(yù)處理階段從NSL-KDD數(shù)據(jù)集和MOORE數(shù)據(jù)集中選取的特征數(shù)量不同,NSL-KDD數(shù)據(jù)集在預(yù)處理后得到118維特征,其中有80維是由原特征中的字符特征轉(zhuǎn)換而得的,MOORE則根據(jù)實(shí)驗(yàn)需求選取11維特征。因此,猜測(cè)不同的算法計(jì)算耗時(shí)可能會(huì)受到數(shù)據(jù)集維度的影響,其中,ADE算法受到維度過(guò)高時(shí)的影響較大,當(dāng)維度減小時(shí),其所耗費(fèi)的時(shí)間也明顯減少;STC算法的計(jì)算時(shí)間也會(huì)根據(jù)維度的減小而減少。但是,無(wú)論如何,本文所提出的算法相對(duì)其它三者都呈現(xiàn)出更好的穩(wěn)定性,對(duì)不同維度的數(shù)據(jù)集具有一定的適應(yīng)性和穩(wěn)定性。
本文提出的基于標(biāo)簽噪聲修復(fù)的網(wǎng)絡(luò)流量分類方法,是根據(jù)不同類型噪聲對(duì)采用的權(quán)重算法進(jìn)行改進(jìn),實(shí)現(xiàn)對(duì)正確標(biāo)簽錯(cuò)誤標(biāo)記和標(biāo)簽的錯(cuò)誤拼寫2種情況的標(biāo)簽修復(fù)。本文在2個(gè)網(wǎng)絡(luò)流量數(shù)據(jù)集上驗(yàn)證了本文算法的合理性和穩(wěn)定性,與其他文獻(xiàn)中的標(biāo)簽修復(fù)算法對(duì)比結(jié)果表明,本文所提修復(fù)算法能更好地對(duì)含不同比例噪聲的數(shù)據(jù)集進(jìn)行修復(fù),并在最終的分類結(jié)果上保持較好的性能,有更好的執(zhí)行效率、穩(wěn)定性、精確度和適應(yīng)性。