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