(長春理工大學 理學院,長春 130022)
隨著網(wǎng)絡技術(shù)的日益發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為人們獲取和共享信息資源的非常重要的方式。但同時由于互聯(lián)網(wǎng)的飛速發(fā)展,互聯(lián)網(wǎng)的用戶規(guī)模、網(wǎng)絡應用種類以及網(wǎng)絡流量數(shù)據(jù)也隨之急劇增長,使得網(wǎng)絡結(jié)構(gòu)愈加復雜,這就對網(wǎng)絡管理、維護和檢測技術(shù)提出更高的要求。
網(wǎng)絡流量分類是指按照各個應用的屬性將大量的混合網(wǎng)絡流量數(shù)據(jù)進行歸類的過程[1]。但是由于互聯(lián)網(wǎng)的用戶對各種網(wǎng)絡應用的使用頻率不同,使得各個網(wǎng)絡應用的數(shù)據(jù)出現(xiàn)了不平衡現(xiàn)象。如劍橋大學Moore等提供的數(shù)據(jù)集,共包括10個數(shù)據(jù)集,涵蓋了12類的網(wǎng)絡流量數(shù)據(jù),共377526個樣本[3]。但是Moore數(shù)據(jù)集卻是一個數(shù)據(jù)不均衡數(shù)據(jù)集,其中大類別(WWW類)占總樣本的85%以上,而小類別(ATTACK、INTERACTIVE類等)在總樣本中所占比例不足1%,故對網(wǎng)絡流量數(shù)據(jù)進行分類時,得到的分類模型對大類別效果更好,而對小類別效果欠佳,因此關(guān)注點不能只是整體的分類準確率,應對各個類別的召回率考慮更加重視。如直接對Moore數(shù)據(jù)集分類時,由于WWW類別樣本的個數(shù)較多,其召回率也高達90%以上,但是由于ATTACK類別樣本數(shù)量小,其召回率只達50%左右。
盡管有些類別的樣本量小,但是并不能忽略其重要性,如P2P類型的網(wǎng)絡流量數(shù)據(jù)對于合理分配網(wǎng)絡寬帶具有指導意義;而ATTACK類型的網(wǎng)絡流量屬于網(wǎng)絡攻擊,準確地識別出此類型的流量也是十分重要的。所以為了最大可能地減弱各類數(shù)據(jù)不均衡問題的影響,需要在保證分類準確的基礎(chǔ)上,提高小類的召回率。
在網(wǎng)絡流量分類問題中,每個樣本都具有248個特征,特征屬性繁多且許多特征之間存在強相關(guān)性,這增加了網(wǎng)絡流量分類問題中建模的復雜度,并且會降低分類的準確率。因此需要在保證其分類準確性的前提下對網(wǎng)絡流量進行特征選擇,剔除一些具有冗余性和相關(guān)性極小的特征,以提高各個類別的召回率。
相關(guān)領(lǐng)域的各國學者針對網(wǎng)絡流量數(shù)據(jù)分類問題進行了分析研究,近些年來對于網(wǎng)絡流量分類的研究中基于統(tǒng)計方法和機器學習的方法成為熱點。Lei等[3]利用統(tǒng)計的方法計算出各個特征的卡方值并選擇前k個,之后利用遺傳算法和C4.5決策樹對所選出的前k個特征再進行選擇;褚慧琳等[4]提出了過濾型和封裝型相結(jié)合的特征選擇算法;孫興斌等[5-6]先是提出了基于統(tǒng)計頻率的特征選擇方法,根據(jù)樣本的頻率計算特征選擇系數(shù),選擇特征與類別相關(guān)性較強的特征,接著又提出基于相對不確定性和對稱不確定性的Hybrid型特征選擇方法,利用信息熵理論對特征進行選擇;劉紀偉等[7]提出基于統(tǒng)計排序的網(wǎng)絡流量特征方法,基于統(tǒng)計方法定義特征選擇系數(shù)和特征影響系數(shù)對特征進行二次選擇。
本文針對網(wǎng)絡流量不均衡問題提出一種基于卡方方法及對稱不確性的特征選擇方法(Chi-square method and symmetric uncertain network traffic feature selection,CHI-SU),CHI-SU方法首先計算出所有特征和各個類別之間的卡方值,接著引入信息熵對所計算得到卡方值進行加權(quán)排序,選擇出候選特征子集后再進行最優(yōu)特征子集的搜索。最終通過所構(gòu)造的特征集利用C4.5決策樹對網(wǎng)絡流量進行分類,在分類準確率較高的情況下,可以提高各個類別的召回率。
卡方統(tǒng)計量可以衡量特征t與類別c的相關(guān)程度,假設t(共p個)和c(共q個)之間符合具有一階自由度的卡方分布,則特征t對于類別c的χ2值的計算公式為:
其中,N:總樣本的個數(shù);Ni?j:有特征ti且屬于類cj的樣本個數(shù);:有特征ti但不屬于類cj的樣本個數(shù);:沒有特征ti但是屬于類cj的樣本個數(shù);:沒有特征ti也不屬于類cj的樣本個數(shù);Nj:屬于類cj的樣本個數(shù);Njˉ:不屬于類cj的樣本數(shù)。
從(1)式可以得到,特征ti與類別cj相關(guān)性大時,χ2值也會較大,計算所有特征ti與所有類別的χ2值,可以計算得到χ2矩陣,記為K,則K為:
QIU Y.F等[8]已經(jīng)證明,用卡方方法對特征進行選擇效果顯著,但是從(1)式可看出所計算的χ2值僅體現(xiàn)在特征與類之間的相關(guān)性,χ2值較大時表示此特征含有較多類別的信息,反之亦然,這種方法在處理各類別樣本數(shù)目相當時具有良好的效果,但是對于各類數(shù)據(jù)不均衡時卡方方法具有一些偏差。所以對于處理不均衡的數(shù)據(jù)集,以往的卡方特征選擇方法存在著不足之處,為了解決這一問題,綜合考慮特征在每個類別中的具體分布,對各類別數(shù)據(jù)不均衡和特征選擇問題進行處理,在卡方統(tǒng)計方法上融合信息熵[9],計算加權(quán)的χ2統(tǒng)計量,可以較好地表示出特征對類的區(qū)分能力,更好地解決不均衡數(shù)據(jù)集下特征選擇問題。
對特征ti與類別cj計算出的卡方值進行加權(quán),加權(quán)后的卡方統(tǒng)計量記為SUχ2(ti,cj),加權(quán)后的卡方統(tǒng)計量考慮了特征與類別之間的相關(guān)性又衡量在數(shù)據(jù)集不均衡的情況下特征對不同類別的區(qū)分能力,利用對稱不確定性來衡量某個特征對總體類別C的區(qū)分能力[10],對稱不確定性的定義為:
其中:
則:
p(cj|ti,k):cj類在特征ti離散化后的第k個取值條件下出現(xiàn)的概率;
Nti:特征ti離散化后的取值個數(shù);
p(ti,k):特征ti離散化后第k個取值出現(xiàn)的概率;
H(ti):特征ti的信息熵;
H(C|ti)為總體類別C在特征ti下的條件熵;
IG(C|ti):總體類別C在特征ti下的信息增益。
對稱不確定性可以用來衡量特征ti和類別C之間提供的信息量,為0表示特征ti和類別C相互獨立,如果,則表示特征ti能更容易地區(qū)分不同類別的樣本。對于不均衡的數(shù)據(jù)集,首先根據(jù)卡方統(tǒng)計量可以看出一些特征含有較多的區(qū)分信息,再根據(jù)其信息熵、信息增益以及對稱不確定性,對各個類別的權(quán)重加以調(diào)整,使得最終分類時提高其整體和小類別的召回率,對χ2統(tǒng)計矩陣進行加權(quán)得到矩陣K′:
基于卡方特征選擇方法首先根據(jù)公式(3)計算出的加權(quán)卡方矩陣(4)選擇與每個類相關(guān)性較高的k個特征,去掉重復的特征后再選擇,構(gòu)成候選特征子集;再從已經(jīng)構(gòu)成的候選特征集中依次選擇特征,利用C4.5決策樹對數(shù)據(jù)集進行分類,同時記錄結(jié)果,根據(jù)分類結(jié)果確定最優(yōu)特征子集。步驟如下:
步驟1.對于每個類cj,由(1)式計算出χ2(ti,cj);對于每個特征ti,由(2)式計算得到SU(ti,C);根據(jù)公式(3)計算 SUχ2(ti,cj) ,得到加權(quán)χ2矩陣K′,按照矩陣(4)的列即對于每個類cj的每個特征ti排序,選擇前l(fā)個加權(quán)χ2值大的特征。
步驟2.對于每個特征集合Tj,去除Tj中屬于T1,T2,…,Tj-1的特征,將集合中所有特征按照其SU值降序排列,保留前k個特征,過濾其余特征,得到q個特征集合Tj(j=1,2,…,q)。
步驟3.搜索最優(yōu)特征子集,初始化特征集合T′為空集,對于每個特征集合Tj,從中選擇一個特征放入T′集合中。
步驟4.對數(shù)據(jù)集訓練集S、測試集D進行預處理,保留T′集合中的特征,得到處理后的訓練集S′和測試集D′,用C4.5決策樹分類器對S′進行訓練,并利用D′進行測試,記錄分類效果;
步驟5.重復步驟3,直到完全搜索整個特征空間,選擇分類效果最好的特征集合輸出。
實驗數(shù)據(jù)集采用的為Moore數(shù)據(jù)集[3],該數(shù)據(jù)集共包含了10個數(shù)據(jù)集,分為了12個類型的網(wǎng)絡流量數(shù)據(jù),每條數(shù)據(jù)均有249個流特征,其中最后一項為類別特征。但是由于GAMES、INTERACTIVE、DATABASE和MUTIMEDIA這四個類型的網(wǎng)絡流量數(shù)據(jù)并不是在每個子數(shù)據(jù)集中都存在,故對過濾掉四類數(shù)據(jù)集進行分類預測,過濾之后的樣本數(shù)及比例如表1所示。
表1 Moore數(shù)據(jù)集詳細信息
實驗使用的主要實驗工具為Matlab R2012b和Weka 3.8,實驗平臺運行Windows 8操作系統(tǒng),CPU為Iterl Core i5-4200 1.6GHz,內(nèi)存大小為4.00GB。
實驗的算法流程圖如圖1所示。
圖1 實驗的基本流程圖
表2 三種方法所選的特征符號及物理意義
孫興斌等人在文獻[6]中提出了FFS方法即基于統(tǒng)計頻率的網(wǎng)絡流量特征選擇方法,在文獻[7]中提出了FSMID方法即面向多類不均衡網(wǎng)絡流量的特征選擇方法,這兩種方法都是討論網(wǎng)絡流量數(shù)據(jù)不均衡性,且使用的實驗數(shù)據(jù)集均為Moore數(shù)據(jù)集,評價指標使用的均為準確率以及召回率,故將CHI-SU方法和FFS方法、FSMID方法進行對比分析,利用三種方法所選擇的流量特征的序號[11]如表2所示。
傳統(tǒng)的分類器評價標準是分類的精確率,可增加召回率這一指標來共同衡量所選特征集合的優(yōu)劣。其中精確率和召回率可由二分類混合矩陣得出,二分類混合矩陣如表3所示。
表3 二分類混合矩陣
根據(jù)表3定義正類的Precision(精確率)和Recal(l召回率):
由表1可以看到,ATTACK類別的網(wǎng)絡流量數(shù)據(jù)占比為0.442%,數(shù)量相對較少,但是其在識別網(wǎng)絡攻擊時的重要性卻遠超于其他類別。故對網(wǎng)絡流量進行分類時,會對大類別如WWW類別的網(wǎng)絡流量數(shù)據(jù)更有利,而小類別的數(shù)據(jù)極易被誤分。
利用三種不同的方法得到的特征對少數(shù)類ATTACK類型的流量數(shù)據(jù)分類后的精確率如表4所示。
表5是通過三種不同的方法得到的特征對少數(shù)類ATTACK類型的流量數(shù)據(jù)分類后的召回率,可以得到在精確率都在90%以上的情況下,CHI-SU方法明顯也提高了小類ATTACK的召回率。
表4 三種方法在每個數(shù)據(jù)集中ATTACK類的精確率
表5 三種方法在每個數(shù)據(jù)集中ATTACK類的召回率
對網(wǎng)絡流量進行分類時,數(shù)據(jù)不均衡問題時常出現(xiàn),故對網(wǎng)絡流量數(shù)據(jù)不均衡問題的研究是一項熱門的問題,提出的基于卡方方法及對稱不確定性的網(wǎng)絡流量特征選擇方法對比于其他方法,準確率并沒有明顯的提高,但是在小類別召回率有明顯提高。如何簡單迅速地選擇出合適的特征集合,在保證整體分類準確率以及各類別準確率的同時,大幅度地提高其召回率及其他的一些指標,是未來研究的一個方向。