劉 丹 ,姚立霜 ,王云鋒 ,裴作飛
(1. 重慶郵電大學(xué)通信與信息工程學(xué)院,重慶400065; 2. 移動(dòng)通信技術(shù)重慶市重點(diǎn)實(shí)驗(yàn)室(重慶郵電大學(xué)),重慶400065)
近年來(lái),隨著網(wǎng)民規(guī)模和互聯(lián)網(wǎng)普及率的增長(zhǎng),網(wǎng)絡(luò)流量分類在網(wǎng)絡(luò)管理和網(wǎng)絡(luò)安全等領(lǐng)域的重要性不斷凸顯[1]。傳統(tǒng)基于端口號(hào)的流量分類技術(shù)[2-3]存在很大的局限性,在動(dòng)態(tài)端口、偽裝端口等技術(shù)出現(xiàn)之后,分類準(zhǔn)確率很低?;谔卣髯侄蔚牧髁糠诸惣夹g(shù)通過(guò)分析數(shù)據(jù)包的有效載荷來(lái)達(dá)到分類的目的,雖然擺脫了對(duì)端口號(hào)的依賴,但卻沒辦法處理加密流量,同時(shí)有可能會(huì)侵犯?jìng)€(gè)人隱私[4]?;趥鬏攲又鳈C(jī)行為的流量分類技術(shù),不依賴于端口號(hào)和報(bào)文載荷,但傳輸層主機(jī)行為對(duì)網(wǎng)絡(luò)環(huán)境異常敏感,分類效果不夠穩(wěn)定。因此,研究人員逐漸把網(wǎng)絡(luò)流量分類的研究重點(diǎn)放在基于機(jī)器學(xué)習(xí)的方法上[5-6]。
2005 年,Moore 等[7]首次將樸素貝葉斯(Naive Bayes,NB)用于網(wǎng)絡(luò)流量分類,并系統(tǒng)地描述了網(wǎng)絡(luò)流量的特征,為后來(lái)的研究提供了重要的依據(jù);而且利用該數(shù)據(jù)集也證實(shí)了將貝葉斯神經(jīng)網(wǎng)絡(luò)用于流量分類的有效性[8]。徐鵬等[9]引入C4.5決策樹方法來(lái)處理流量分類問(wèn)題,避免了NB方法過(guò)分依賴于樣本空間分布的問(wèn)題,在分類穩(wěn)定性上具有明顯的優(yōu)勢(shì)。Chung 等[10]定義了一種兩階段的流量分類算法,利用基于余弦的流相似度函數(shù)進(jìn)行分類,可以在非對(duì)稱路由環(huán)境下取得較高的分類精度。楊哲等[11]采用基于最短劃分距離的方法構(gòu)建決策樹分類,能夠在分類準(zhǔn)確性和系統(tǒng)開銷上取得較好的效果。張震等[12]提出了“用戶相似度”的概念,通過(guò)定義基于信息熵的“用戶行為模式”,對(duì)用戶行為子簇進(jìn)行了業(yè)務(wù)標(biāo)簽映射,實(shí)現(xiàn)了流量分類的目的。丁要軍等[13]提出一種基于互信息理論的選擇聚類集成方法,以提高流量分類的精度。Punitha 等[14]提出一種基于增量學(xué)習(xí)的兩級(jí)混合分類模型用于用戶數(shù)據(jù)報(bào)協(xié)議(User Datagram Protocol,UDP)流量的分類,與現(xiàn)有的傳統(tǒng)學(xué)習(xí)方法相比,該方法能提高混合分類器的分類精度。
文獻(xiàn)[7-14]中方法的分類精確率都能達(dá)到較高的值,但是它們的分類性能大多在多數(shù)類(大類)上表現(xiàn)良好,忽視了分類器在少數(shù)類(小類)的預(yù)測(cè)精度,這就是類不平衡所帶來(lái)的問(wèn)題[15]。在網(wǎng)絡(luò)流量分類領(lǐng)域,類不平衡問(wèn)題可以表述為流量數(shù)據(jù)在各應(yīng)用類別上的樣本數(shù)量存在數(shù)量級(jí)的差距,導(dǎo)致分類器被多數(shù)類淹沒,忽略了少數(shù)類。然而,人們?cè)谏钪型ǔ8鼮殛P(guān)注小類的分類效果,錯(cuò)誤識(shí)別小類別的代價(jià)往往很大,如入侵檢測(cè)[16]。Shi 等[17]將深度學(xué)習(xí)與特征選擇結(jié)合,提出了一種特征優(yōu)化算法,能有效應(yīng)對(duì)類別不平衡問(wèn)題。同時(shí),傳統(tǒng)分類方法存在難以實(shí)現(xiàn)頻繁、及時(shí)更新的問(wèn)題,一旦要求更新,需要重新訓(xùn)練所有的數(shù)據(jù),增加了時(shí)間和資源開銷。
針對(duì)上述問(wèn)題,本文提出一種基于集成學(xué)習(xí)的網(wǎng)絡(luò)流量分類模型(Internet Traffic Classification Model based on Ensemble Learning,ELTCM),借助特征選擇、增量學(xué)習(xí)、早期漂移檢測(cè)以及集成學(xué)習(xí)方式提升模型的泛化能力以及在小類別上的分類性能。為驗(yàn)證本文模型的有效性,利用Moore 公開數(shù)據(jù)集[7]進(jìn)行仿真,實(shí)驗(yàn)結(jié)果表明該模型能夠在整體精確率、小類召回率、小類準(zhǔn)確率和F1 值四個(gè)指標(biāo)上均表現(xiàn)出較好的效果。
基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類技術(shù)利用網(wǎng)絡(luò)流量在傳輸過(guò)程中表現(xiàn)出的統(tǒng)計(jì)特征(如數(shù)據(jù)包的數(shù)量、流的持續(xù)時(shí)間和數(shù)據(jù)包到達(dá)時(shí)間)區(qū)分網(wǎng)絡(luò)類型[18]。
如圖1 所示,一般基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類系統(tǒng)包含三個(gè)步驟:數(shù)據(jù)生成、學(xué)習(xí)過(guò)程和分類過(guò)程。數(shù)據(jù)生成階段通過(guò)確定性策略以流形式對(duì)應(yīng)用程序包進(jìn)行手工標(biāo)記,在計(jì)算、整合數(shù)據(jù)流信息之后得到流量統(tǒng)計(jì)特征,所得特征一般是多維的;學(xué)習(xí)階段采用特征選擇方法減少特征的維數(shù),從整個(gè)特征集中選擇最佳子集進(jìn)行機(jī)器學(xué)習(xí),通過(guò)一系列測(cè)試和評(píng)估選擇合適的算法,訓(xùn)練生成分類器;分類過(guò)程則利用訓(xùn)練好的分類器分類未知流量。
圖1 基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)流量分類系統(tǒng)結(jié)構(gòu)Fig. 1 Structure of Internet traffic classification system based on machine learning
在實(shí)際的網(wǎng)絡(luò)流量分類中,將所有的流量特征都放入模型中進(jìn)行訓(xùn)練是不明智的。一方面,某些特征可能和特定的應(yīng)用程序無(wú)關(guān),或者特征之間存在冗余關(guān)系,選擇所有的特征進(jìn)行模型的構(gòu)建,可能會(huì)降低分類模型的準(zhǔn)確性;另一方面,模型構(gòu)建過(guò)程中選擇過(guò)多的特征進(jìn)行訓(xùn)練,會(huì)導(dǎo)致系統(tǒng)效率的巨大消耗,如需要從M個(gè)特征中選出m個(gè)特征組成特征子集,則存在種可能,當(dāng)M的值很大時(shí),存在的特征子集數(shù)目就很大,若單純地使用窮舉法,會(huì)浪費(fèi)大量的時(shí)間和資源。為了對(duì)特征集合進(jìn)行降維,獲得最佳的系統(tǒng)性能,特征選擇至關(guān)重要。
特征選擇的流程如圖2 所示,它主要包含生成特征子集(搜索策略)、評(píng)價(jià)準(zhǔn)則、停止準(zhǔn)則和結(jié)果驗(yàn)證[19]四個(gè)基本步驟。特征選擇方法在原始特征集合中利用特定的搜索策略得到備選子集,并根據(jù)某種評(píng)價(jià)指標(biāo)對(duì)選出的備選子集進(jìn)行評(píng)價(jià),由最優(yōu)評(píng)估值的特征集合取代次優(yōu)特征集合,并根據(jù)停止準(zhǔn)則結(jié)束搜索,保證算法的有窮性,最后使用人工數(shù)據(jù)集或真實(shí)數(shù)據(jù)集測(cè)試所選子集的有效性。
圖2 特征選擇流程Fig. 2 Flowchart of feature selection
基于集成學(xué)習(xí)的網(wǎng)絡(luò)流量分類模型(ELTCM)系統(tǒng)結(jié)構(gòu)如圖3 所示。初始時(shí),在預(yù)先獲取的數(shù)據(jù)集上進(jìn)行訓(xùn)練,得到一個(gè)基分類器;通過(guò)增量學(xué)習(xí)的方式,將新增的網(wǎng)絡(luò)流量及其通過(guò)基分類器所得的分類結(jié)果作為新的數(shù)據(jù)子集;若新的數(shù)據(jù)子集與前一階段的數(shù)據(jù)集相比,發(fā)生了概念漂移并達(dá)到一定程度時(shí),采用新的數(shù)據(jù)集訓(xùn)練得到新的基分類器,并將新增基分類器加入集成分類系統(tǒng),參與預(yù)測(cè)下一階段的網(wǎng)絡(luò)流量的分類結(jié)果。這樣,當(dāng)模型需要更新時(shí),只需要利用少量的新樣本進(jìn)行訓(xùn)練,提高了模型更新訓(xùn)練的靈活性,縮短了模型更新的時(shí)間間隔。在訓(xùn)練基分類器時(shí),提出一種基于加權(quán)對(duì)稱不確定性(Weighted Symmetric Uncertainty,WSU)和近似馬爾可夫毯(Approximate Markov Blanket,AMB)的特征選擇算法,充分考慮特征與類別間、特征與特征之間的相關(guān)性,在刪除不相關(guān)特征和冗余特征的同時(shí),選出易于識(shí)別小類別的特征,減少類不平衡問(wèn)題帶來(lái)的影響。
圖3 基于集成學(xué)習(xí)的網(wǎng)絡(luò)流量分類模型系統(tǒng)結(jié)構(gòu)Fig. 3 Structure of Internet traffic classification model based on ensemble learning
WSU_AMB算法的總體結(jié)構(gòu)如圖4所示,它主要包含兩個(gè)步驟:確定候選特征集合和獲取最優(yōu)特征子集。在第一步中,根據(jù)類別分布信息定義偏向于小類別的特征度量,使得識(shí)別小類別的特征更容易被選擇出來(lái),通過(guò)計(jì)算特征與類別間的加權(quán)對(duì)稱不確定性,利用特征排序算法刪除不相關(guān)特征,充分考慮特征與類別間、特征與特征之間的相關(guān)性,利用AMB 刪除冗余特征,確定候選特征子集。在第二步中,采用基于相關(guān)性度量的特征評(píng)估準(zhǔn)則函數(shù)和序列搜索算法進(jìn)一步降低特征維數(shù),獲取最優(yōu)特征子集。
圖4 WSU_AMB算法的總體結(jié)構(gòu)Fig. 4 Structure of WSU_AMB algorithm
2.1.1 加權(quán)對(duì)稱不確定性(WSU)
加權(quán)對(duì)稱不確定性可以用來(lái)衡量特征與類別以及特征與特征之間的相關(guān)性,它是在加權(quán)信息熵的基礎(chǔ)上計(jì)算出來(lái)的[20],可以表示為:
其中:
其中:p(ci,fj)表示類別 C 與特征 F 的聯(lián)合概率;p(ci)表示類別C 的先驗(yàn)概率;p( fj)表示是特征 F 的先驗(yàn)概率;p(ci| fj)是 F 發(fā)生的條件下C的后驗(yàn)概率。
權(quán)值wi可以表示一個(gè)事件的重要性,根據(jù)類別分布信息,可以把權(quán)值定義為:
其中:ni表示屬于類別ci的樣本數(shù);N表示樣本總量。2.1.2 近似馬爾可夫毯(AMB)
假設(shè)屬性類別為C,特征集合為F,對(duì)于給定的特征fi? F和特征子集M ? F( fi? M),若有:
則稱能滿足上述條件的特征子集M 為fi的馬爾可夫毯。形象一點(diǎn)表述就是存在隨機(jī)變量X、集合A 和B,且有X ∪A ∪B =U,X ∩ A ∩ B = ?,U 為全集,如果在給定集合A 的情況下,變量X與集合B沒有任何關(guān)系,則稱集合A為變量X的馬爾可夫毯。在式(5)中,集合M 即為所說(shuō)的集合A,集合{F - M -{ fi},C}即為所說(shuō)的集合B。
在特征集合F 中,由于在特征fi的馬爾可夫毯M 條件下,fi與其他非馬爾可夫毯變量獨(dú)立,因此,對(duì)于特征fi而言,所有非馬爾可夫毯變量都是冗余的。但是馬爾可夫毯的條件過(guò)于嚴(yán)格,現(xiàn)實(shí)數(shù)據(jù)難以達(dá)到要求,需要對(duì)該條件進(jìn)行近似假設(shè)。
特征fi是特征fj的AMB(i ≠j),需要滿足以下條件:
特征與類別之間的WSU 可由式(5)得到,特征與特征之間的WSU 的計(jì)算方法略有差別,此時(shí)需要將其中一個(gè)特征看成類別屬性。在一個(gè)特征空間中,目標(biāo)特征的所有信息均包含在它的AMB 中,非AMB 就可以看作目標(biāo)特征的冗余特征,通過(guò)刪除這些目標(biāo)特征的冗余特征,就可以降低特征空間的維數(shù)。
2.1.3 相關(guān)性特征度量
在充分考慮特征的相關(guān)性的前提下,有效減少特征維數(shù),提出一種特征準(zhǔn)則評(píng)估函數(shù):
增量學(xué)習(xí)對(duì)于流量數(shù)據(jù)的學(xué)習(xí)有重要意義,因?yàn)檫@些數(shù)據(jù)隨著時(shí)間的變化在不斷變化,且增長(zhǎng)速度快。增量學(xué)習(xí)與人類學(xué)習(xí)過(guò)程相似,是指系統(tǒng)可以不斷地從新數(shù)據(jù)中學(xué)習(xí)到新的知識(shí),并能保存以前學(xué)過(guò)的舊知識(shí)。每當(dāng)有新的數(shù)據(jù)到達(dá)時(shí),模型不需要對(duì)所有的數(shù)據(jù)重新進(jìn)行訓(xùn)練,僅僅需要對(duì)由于新增數(shù)據(jù)所引起的變化進(jìn)行更新,其流程如圖5 所示。利用增量學(xué)習(xí)思想,分類模型進(jìn)行小的改動(dòng)就能對(duì)新的數(shù)據(jù)進(jìn)行訓(xùn)練,以較小的時(shí)間損耗達(dá)到模型更新的目的。
圖5 增量學(xué)習(xí)流程Fig. 5 Flowchart of incremental learning
概念漂移普遍存在于機(jī)器學(xué)習(xí)領(lǐng)域,它是指隨著時(shí)間的推移,目標(biāo)概念的統(tǒng)計(jì)特性隨著環(huán)境的變化而發(fā)生變化,導(dǎo)致模型的預(yù)測(cè)精度明顯降低的現(xiàn)象[21]。在分類問(wèn)題中,概念漂移體現(xiàn)為樣本的屬性特征與樣本的類標(biāo)識(shí)之間的映射關(guān)系的變化。從流樣本X 到類標(biāo)識(shí)C 之間的映射關(guān)系可以用映射函數(shù)H:X → C表示,即:
其中:P(C|X)為X發(fā)生的條件下C的后驗(yàn)概率;P(C)表示類別C 的先驗(yàn)概率;P(xi|C)為C 發(fā)生的條件下xi的后驗(yàn)概率;P(X)表示流樣本X 的先驗(yàn)概率。由式(10)可以看出,P(C)、P(X)和P(xi|C)任何一個(gè)的變化,都會(huì)引起P(C|X)的變化,從而影響分類器的分類結(jié)果。
引入早期概念漂移檢測(cè)方法(Early Drift Detection Method,EDDM)[22],設(shè)定警示水平和漂移水平,結(jié)合錯(cuò)誤分類之間的距離和錯(cuò)誤分類的次數(shù)來(lái)判斷系統(tǒng)的穩(wěn)定性。
某個(gè)類別被錯(cuò)誤分類的標(biāo)準(zhǔn)方差可以根據(jù)式(12)計(jì)算:
其中:pi′表示該類別被錯(cuò)誤分類的概率。pi′可根據(jù)式(13)計(jì)算:
其中:DT(C)表示被錯(cuò)誤識(shí)別的類別C的數(shù)量;T(C)表示數(shù)據(jù)集中類別C的數(shù)量。
當(dāng)分類誤差率(即錯(cuò)誤分類概率pi′及其標(biāo)準(zhǔn)差si′之間的距離)明顯增長(zhǎng)時(shí),表明樣本分布出現(xiàn)了變化,已經(jīng)不穩(wěn)定,先前訓(xùn)練好的模型已經(jīng)不適用于當(dāng)前的樣本。當(dāng)pi′+ 2si′達(dá)到最大值時(shí),pmax′+ 2smax′為分類錯(cuò)誤分布距離最大的點(diǎn),系統(tǒng)會(huì)存儲(chǔ)值 pmax′和 smax′。
若存在:
稱α 為警示水平。超出此級(jí)別之后,表明系統(tǒng)可能發(fā)生概念漂移,系統(tǒng)將在此時(shí)存儲(chǔ)樣本。
當(dāng):
稱β 為漂移水平。一旦超過(guò)這個(gè)水平,就表示系統(tǒng)發(fā)生了概念漂移。系統(tǒng)將利用在警示觸發(fā)時(shí)存儲(chǔ)的樣本訓(xùn)練新的模型,并重置pmax′和 smax′。
具體地,當(dāng)模型至少發(fā)生30 個(gè)分類錯(cuò)誤時(shí),系統(tǒng)會(huì)根據(jù)之前設(shè)定好的漂移水平去檢測(cè)模型是否發(fā)生了概念漂移,而在30 個(gè)分類錯(cuò)誤發(fā)生的期間,系統(tǒng)可能已經(jīng)存儲(chǔ)大量樣本。這里將分類錯(cuò)誤次數(shù)設(shè)置為30 的原因是因?yàn)橐浪銉蓚€(gè)連續(xù)錯(cuò)誤之間的距離分布并將其與未來(lái)的分布進(jìn)行對(duì)比,以此發(fā)現(xiàn)樣本分布的變化。其中,pmax′+ 2smax′表示了95%的特征分布區(qū)間,α和β分別被設(shè)置為0.95和0.90。
在概念漂移的情況下,若用固定的模型去學(xué)習(xí)變化中的流樣本,其分類精度定然不高,故本文采用以權(quán)值取代平均值的方式對(duì)基分類器進(jìn)行集成[23]。集成分類器的計(jì)算公式如下:
其中:|Sn|表示流樣本的數(shù)目為樣本(x,c)被錯(cuò)誤分類的概率表示樣本被正確分類的概率。
;1- f c
i(x)
假設(shè)分類器隨機(jī)進(jìn)行預(yù)測(cè),實(shí)例x被分為c類的概率等于c的類分布p(x),則分類器的隨機(jī)均方誤差為:
由于隨機(jī)模型不包含關(guān)于數(shù)據(jù)的有用知識(shí),因此使用MSEr,即隨機(jī)分類器的錯(cuò)誤率作為加權(quán)分類器的閾值。也就是說(shuō),丟棄誤差等于或大于隨機(jī)均方誤差的分類器。分類器的權(quán)值計(jì)算公式如下:
為了驗(yàn)證本文基于集成學(xué)習(xí)的網(wǎng)絡(luò)流量分類模型的可行性,使用Moore 數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)環(huán)境為Intel Core i5-7400 CPU @3.00 GHz,8.00 GB RAM,Windows 10 操作系統(tǒng),Weka3.8.3,Python 3.6.5。
Moore 數(shù)據(jù)集由 Moore 等[7]整理,特征維數(shù)高,數(shù)據(jù)量大,能依據(jù)統(tǒng)計(jì)信息準(zhǔn)確判定網(wǎng)絡(luò)流量所屬的類別,是目前被用于網(wǎng)絡(luò)流量分類研究最為權(quán)威的數(shù)據(jù)集,它的統(tǒng)計(jì)信息如表1所示。該數(shù)據(jù)集采集于擁有1 000名左右工作人員的研究機(jī)構(gòu),通過(guò)對(duì)該機(jī)構(gòu)的研究設(shè)施進(jìn)行24 h 全雙工跟蹤得到10 個(gè)原始數(shù)據(jù)集,每次記錄時(shí)間約為28 min。Moore 數(shù)據(jù)集共有377 526 條流量樣本,包含12 個(gè)類,每一條樣本數(shù)據(jù)包括248個(gè)特征屬性以及該網(wǎng)絡(luò)流量所屬類別的類別信息。
表1 實(shí)驗(yàn)數(shù)據(jù)集的統(tǒng)計(jì)信息Tab. 1 Statistics of experimental dataset
從表1可以看出,Moore 數(shù)據(jù)集各類別樣本數(shù)量之間的差距非常大,大類(WWW 類)的樣本占比高于85%,小類(例如FTP-PASV 類、ATTACK 類)的樣本占比不足1%,是一個(gè)典型的類不平衡數(shù)據(jù)集。由于DATABASE、INTERACTIVE 和GAMES 這三類在某些數(shù)據(jù)子集中的樣本條數(shù)為0,故在實(shí)驗(yàn)過(guò)程中刪除了這三種類別的所有樣本。
在實(shí)驗(yàn)中,使用整體精確率(Accuracy)、準(zhǔn)確率(Precision)、召回率(Recall)、F1 值和G-mean 值作為算法的性能評(píng)價(jià)指標(biāo)。整體精確率反映了多分類模型的綜合預(yù)測(cè)能力,準(zhǔn)確率、召回率、F1值和G-mean值則可以反映多分類模型對(duì)單個(gè)應(yīng)用的預(yù)測(cè)能力。
3.3.1 WSU_AMB算法所選特征數(shù)目
WSU_AMB 特征選擇算法的停止準(zhǔn)則是找到滿足合適維度的特征子集。特征數(shù)太少,可能漏選網(wǎng)絡(luò)流量的典型特征;特征數(shù)太多,會(huì)造成資源的浪費(fèi),且有可能會(huì)把個(gè)性當(dāng)成共性來(lái)學(xué)習(xí),出現(xiàn)“過(guò)擬合”現(xiàn)象。一般來(lái)說(shuō),在對(duì)網(wǎng)絡(luò)流量進(jìn)行分類時(shí),4~8個(gè)特征就可以很好地區(qū)分流量類型。利用Moore數(shù)據(jù)集的10 個(gè)子集進(jìn)行實(shí)驗(yàn)仿真,發(fā)現(xiàn)有相似的變化趨勢(shì),故只選取兩個(gè)數(shù)據(jù)集進(jìn)行展示(Entry1、Entry2),如圖6 所示,當(dāng)所選特征數(shù)L= 6時(shí),模型可以取得較好的分類精度。
3.3.2 ELTCM基分類器的選擇
樸素貝葉斯(Naive Bayes,NB)算法學(xué)習(xí)和預(yù)測(cè)的效率很高,是一種常用的分類方法;邏輯斯蒂回歸模型(Logistic Regression,LR)運(yùn)算速度快、魯棒性較好,是經(jīng)典的分類方法;支持向量機(jī)(Support Vector Machines,SVM)具有較好的魯棒性,可以有效解決分類情景中的高維問(wèn)題;C4.5 決策樹(Decision Tree,DT)能夠處理多輸出的問(wèn)題,是多分類的常用算法。
利用 Moore 數(shù)據(jù)集的10 個(gè)子集(Entry1~Entry10)進(jìn)行實(shí)驗(yàn)仿真,選擇NB、LR、SVM和C4.5作為基分類器,以測(cè)試不同機(jī)器學(xué)習(xí)算法對(duì)ELTCM的分類精度的影響。
在Entry1 上,利用四種算法作為基分類器進(jìn)行模型的訓(xùn)練,用訓(xùn)練好的模型對(duì)Entry2~Entry10 進(jìn)行分類,其分類精度如表2所示。從表2中可以看出,NB算法的分類精度不高,平均分類精度只有85.52%,LR 算法的分類精度高于NB 算法,但低于 SVM 和 C4.5;SVM 和 C4.5 分類精度較高,均能達(dá)到90%以上,且穩(wěn)定性好,分類精度的波動(dòng)幅度較小,但相較于C4.5算法,SVM 算法無(wú)法直接用于多分類且不適用于大規(guī)模數(shù)據(jù)的訓(xùn)練,建模時(shí)間很長(zhǎng),會(huì)增加模型更新時(shí)間,故選擇C4.5算法作為本文模型的基分類器。
圖6 L值對(duì)分類模型的影響Fig.6 Impact of L value on classification model
3.3.3 分類模型的對(duì)比
文獻(xiàn)[8]中提出的模型首次將貝葉斯神經(jīng)網(wǎng)絡(luò)(Bayesian Neural Network,BNN)引入流量分類領(lǐng)域,可以獲得較好的分類效果,給研究人員帶來(lái)了巨大的啟發(fā);基于C4.5 決策樹的分類模型(Internet Traffic Classification based on C4.5 Decision Tree,DTITC)[9]在處理大規(guī)模流量分類問(wèn)題時(shí),具有較好的優(yōu)勢(shì);基于流量統(tǒng)計(jì)特征的分類模型(Internet traffic classification based on Flows’Statistical Properties with Machine Learning,F(xiàn)SPML)[18]能夠識(shí)別新的應(yīng)用,可以得到較高的分類準(zhǔn)確率;基于錯(cuò)誤率的概念漂移檢測(cè)分類模型(Classification model for concept Drift Detection based on Error Rate,ERCDD)能降低概念漂移帶來(lái)的影響,提升模型的分類性能。
將本文模型 ELTCM 與 BNN、DTITC、FSPML 和ERCDD 進(jìn)行對(duì)比,利用Entry1 按照訓(xùn)練集和測(cè)試集為7∶3 的比例生成分類器,用基于Entry1 生成的分類器對(duì)Entry1~Entry10 進(jìn)行分類。
各模型的分類整體精確率如圖7 所示,可以看出,五種模型的整體精確率均超過(guò)98%,ELTCM 的平均整體精確率最高,可以達(dá)到99.62%。各模型在Entry1上都能得到較高的整體精確率,而BNN、DTITC 和FSPML 模型在Entry2~Entry10 上的分類整體精確率卻出現(xiàn)了下降,且隨著時(shí)間的推移,模型分類精度下降趨勢(shì)越來(lái)越明顯,說(shuō)明概念漂移對(duì)模型的分類性能有較大影響,即在一個(gè)數(shù)據(jù)集上訓(xùn)練得到分類器,利用該分類器對(duì)該數(shù)據(jù)集進(jìn)行分類時(shí),能得到較好的分類結(jié)果;而利用該分類器去分類時(shí)間上相鄰的其他數(shù)據(jù)集時(shí),分類精度會(huì)出現(xiàn)下降的趨勢(shì)。ERCDD 模型的平均整體精確率為99.26%,僅次于ELTCM,整體精確率的波動(dòng)小于BNN、FSPML 和DTITC 三種模型,說(shuō)明該模型能在一定程度上減少概念漂移的影響,但其波動(dòng)幅度大于ELTCM。ELTCM 的整體精確率在9 個(gè)數(shù)據(jù)集上達(dá)到最高,整體精確率的波動(dòng)幅度不超過(guò)0.13%,具有較高的穩(wěn)定性,說(shuō)明該模型能有效應(yīng)對(duì)概念漂移現(xiàn)象。
從 3.1 節(jié)可以得知,刪除 DATABASE、INTERACTIVE 和GAMES 三類之后,F(xiàn)TP-CONTROL(簡(jiǎn)稱 FTP-C)、FTP-PASV(簡(jiǎn)稱FTP-P)、ATTACK、P2P、MULTIMEDIA(簡(jiǎn)稱MULT)和SERVICES(簡(jiǎn)稱SERV)這6 類網(wǎng)絡(luò)流量在數(shù)據(jù)集樣本中所占比例不足1%,相較于WWW 所占的86.905%,這6 種類型均屬于小類。選擇這6 類應(yīng)用對(duì)五種分類模型在小類別上的性能進(jìn)行分析,考察不同分類模型對(duì)小類別的預(yù)測(cè)能力。
同樣的,利用Entry1 按照訓(xùn)練集和測(cè)試集為7∶3 的比例生成分類器,用基于Entry1生成的分類器對(duì)Entry1~Entry10進(jìn)行分類,可以得到各模型在每個(gè)應(yīng)用類別上的分類性能,對(duì)10個(gè)子集取平均值,結(jié)果如圖8所示。
圖7 不同分類模型的整體精確率對(duì)比Fig. 7 Comparison of overall accuracy between different classification models
Precision 表示被預(yù)測(cè)為類別C 的樣本中,實(shí)際屬于類別C的比例,從圖 8(a)可以看出,ELTCM 在 5 個(gè)小類別上的平均Precision 均高于對(duì)比算法,MULT 類的平均準(zhǔn)確率也僅比ERCDD 模型低0.07%,說(shuō)明ELTCM 能更為精準(zhǔn)地識(shí)別小類別。Recall 衡量了某個(gè)類別的所有樣本被正確識(shí)別的比例,從圖8(b)可以看出,ELTCM 在小類別上有較好的查全率。F1值是Precision 和Recall 的綜合評(píng)價(jià)指標(biāo),更高的F1 值表示更好的分類效果,從圖8(c)可以看出,ELTCM在6種小類別上的F1 值均有所提升,說(shuō)明ELTCM 的分類效果更好。G-mean 值是衡量不平衡分類問(wèn)題的有效指標(biāo),G-mean 值越大,表明分類效果越好,從圖8(d)可以看出,ELTCM 可以取得較高的G-mean 值,能有效應(yīng)對(duì)類不平衡問(wèn)題。相較于對(duì)比算法,ELTCM 在絕大多數(shù)小類別的分類性能上都存在明顯優(yōu)勢(shì),這是因?yàn)?BNN、FSPML、DTITC 和 ERCDD 模型以整體分類精度為目標(biāo),多數(shù)類在分類過(guò)程中占優(yōu)勢(shì),忽略了小類別的分類性能,且BNN、FSPML 和DTITC 模型未考慮概念漂移現(xiàn)象,ERCDD 模型僅僅基于錯(cuò)誤率進(jìn)行概念漂移檢測(cè),不能很好地應(yīng)對(duì)漸變型概念漂移。綜上,ELTCM 在綜合評(píng)價(jià)指標(biāo)和單個(gè)應(yīng)用的評(píng)價(jià)指標(biāo)上取得了較好的結(jié)果,均優(yōu)于對(duì)比模型,驗(yàn)證了本文模型的有效性。
圖8 不同分類模型的小類別分類性能對(duì)比Fig.8 Comparison of classification performance of minority classes among different classification models
本文通過(guò)對(duì)傳統(tǒng)基于機(jī)器學(xué)習(xí)的流量分類模型的分析,針對(duì)傳統(tǒng)模型難以實(shí)現(xiàn)頻繁、及時(shí)的更新,忽略了網(wǎng)絡(luò)流量樣本分布不平衡的問(wèn)題,提出了一種基于集成學(xué)習(xí)的網(wǎng)絡(luò)流量分類模型。該模型引入了偏向于小類別的特征度量——加權(quán)對(duì)稱不確定性,利用基于WSU_AMB 的特征選擇算法選擇最優(yōu)特征子集,將所選特征輸入集成分類器系統(tǒng),采用增量學(xué)習(xí)的方式進(jìn)行網(wǎng)絡(luò)流量分類訓(xùn)練,提升模型的泛化能力,并對(duì)模型進(jìn)行早期概念漂移檢測(cè),優(yōu)化網(wǎng)絡(luò)流量分類模型性能。利用公開數(shù)據(jù)進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果表明本文提出的分類模型能有效減小概念漂移問(wèn)題帶來(lái)的影響,可以在保證整體分類準(zhǔn)確度的前提下,提高小類別的識(shí)別率。如何識(shí)別加密流量以及運(yùn)用未標(biāo)注流量進(jìn)行分類是下一步的主要研究?jī)?nèi)容。