何繼玲,于威威
(上海海事大學,上海 201306)
隨著信息科學技術的不斷進步,網絡在信息交換中發揮著舉足輕重的作用,同時也使網絡數據和流量數量呈爆炸性增長。網絡流量分類常用于信息識別檢測系統中,以自動識別檢測各類流量所包含的信息。因此,對網絡流量進行正確分類成為了一個熱門的研究領域。目前主流的網絡流量分類有四種方法[1],分別是基于端口號的分類、基于主機行為的分類、基于有效負載的分類以及基于機器學習的分類。
文中使用機器學習中的集成特征選擇結合支持向量機算法對網絡流量進行分類。集成特征選擇的過程包括數據集的劃分、特征子集的產生以及特征子集的集成。基于以上步驟,比較了三種集成策略以及三種特征選擇方法。除此之外,網絡流量具有類別不平衡的特點,為了解決該問題,在特征選擇階段使用基于最小最大模塊化的集成特征選擇。
網絡流量是將網絡數據按照[源IP地址、源端口號、目的IP地址、目的端口號、IP協議]五元組的格式提取的[2]。通過五元組,可以將網絡流量映射到傳輸層的TCP流和UDP流。網絡流量分類的目的是將各網絡流量對應到應用層中相應的應用類型。
網絡流量具有數據量龐大、結構復雜、類別多樣和類別不平衡等特點。在目前互聯網高速發展的時代,流量數據以驚人的速度增長,導致流量分類的實時性和準確性受到了極大挑戰。同時,網絡流量類型通常以HTTP、P2P等為主,從而導致嚴重的類別不平衡現象以及新型流量預測等問題。為了解決上述問題,Liu Z等[3]提出了COFS算法用于解決不平衡問題,Zhang J等[4]提出了一種對未知流量預測的方法。
由于P2P網絡的發展,傳統的基于端口號的分類方法只能用于正確地區分擁有常用端口號的流量。而出于安全性的考慮,大部分流量都會對傳輸層加密,使得基于有效負載或主機行為的分類同樣受到限制。為了解決上述方法存在的問題,基于機器學習的方法成為了目前的研究熱點。
基于統計理論和機器學習的方法使用的流量特征主要是流量數據的統計量,比如包的長度、包到達時間等。該方法首先將網絡數據進行統計理論分析,篩選出原始的統計特征作為初始特征集;再進行特征選擇篩選出重要特征;最后使用分類或聚類等方法得到最終預測結果。即根據流集合、屬性集和類別集,將所有流量映射到對應的類別中。
Moore A等[5]提取出249維原始特征,使用機器學習的方法對流量進行分類,文中使用樸素貝葉斯作為分類算法;隨后Jeffery Erman等[6]使用聚類方法(K-Means,DBSCAN和EM)對網絡流量進行分類;Wang Y等[7]使用AdaBoost集成分類方法提高了分類準確率。除了分類算法,研究者們在特征選擇算法中也進行了改進。Zhou W等[8-9]使用FCBF特征選擇算法結合神經網絡對流量進行分類;Kaur J等[10]使用了CFS和CON特征選擇算法結合C4.5、多重感知機、貝葉斯網絡等分類算法進行分類;而文中則使用網絡流量分類方法對流量進行分類。
為了得到更好的特征子集并解決類別不平衡問題以提高分類性能,在機器學習過程中的特征選擇階段采用基于最小最大模塊化集成特征選擇對網絡流量進行分類。特征選擇算法分別使用Fisher、Relief[11]和POSS[12],分類算法選擇支持向量機。
集成特征選擇包括三個階段[13]:第一,數據集的劃分,即由原始數據集通過一定的方法產生多個數據子集;第二,特征選擇,即對每一個數據子集使用特征選擇算法,從而產生多個特征選擇結果;第三,結果的集成,即對所有數據子集產生的特征子集使用某種方法進行集成,得到最終的特征子集。
2.1.1 集成策略
文中對比了最小最大策略、投票法[14]、K-中心點法[15]三種集成策略,本節主要介紹投票法和K-中心點法,最小最大策略將在下文詳細介紹。
投票法是將特征選擇器的結果先轉化為特征子集,然后統計每個特征被選中的頻率,將出現頻率最高的M個特征作為最終的集成輸出:
sp=(sp,1,sp,2,…,sp,d)
(1)
sp,i∈{0,1},i=1,2,…,d
(2)
(3)
其中,sp第p個基特征選擇器上的特征子集輸出;S為每個特征被選擇的頻率,最終輸出頻率最高的前M個特征作為特征子集。
K中心點聚類集成主要是利用聚類的思想,從多個基特征選擇器中選擇出具有代表性的結果作為最終輸出。文中K取1,即選擇出一個中心點作為最終輸出:
Wmediod=1_Mediod({w1,w2,…,wB})
(4)
2.1.2 特征選擇方法
使用POSS特征選擇與其他兩種常用的特征選擇算法(Relief、Fisher)進行比較。
Fisher特征選擇算法應用廣泛。它將每個特征的費希爾值作為權重,主要思想是對每一個特征在不同樣本上的均值相差越大,方差之和越小,則被賦予的權重越大。
Relief特征選擇算法是根據樣本在不同特征上的假設間隔為它們賦予不同的權重。其假設間隔是指保持樣本分布不變的情況下決策面所能移動的最大距離。對于每個特征而言,樣本的假設間隔越大,則該特征被賦予的權重越大。
POSS特征選擇算法是基于帕雷托優化子集的方法以及改進,從而獲得相對最優的特征子集[12]。大致思想為:假設給定數據集V={X1,X2,…,Xn}(n表示特征數量),定義判別函數f以及正整數k。為了尋找一個特征子集S?V,并在約束條件|S|≤k的情況下,判別函數能夠取得最優值。其中|·|表示數據集的大小。其定義如式(5)所示:

(5)

在該算法中,使用n維二元向量s={0,1}n來表示某一個特征是否被選中,稱s為特征選擇的一種解。即當si=1,表示第i個特征將會被選到特征子集S中;當si=0,表示第i個特征不出現在S中。接著,為所有可能的解s定義兩個屬性o1,o2。前者表示評價標準值,后者表示稀疏度,具體如下所示:
(6)
s.o2=|s|
(7)
當o1的值趨向于+∞時,說明該方案效果較差,可予以舍棄。然后引入一個隔離函數I:{0,1}n→R[16]。該函數確定是否允許兩個解比較:只有當它們具有相同的隔離函數值時,它們才是可比較的。若隔離函數值相等,對于方案s'和方案s,若s'.o1≤s.o1,則說明s'弱支配s。若s'.o2≤s.o2且s'.o1s.o1,則s'支配s。但是如果s既不支配s',s'也不支配s,則說明它們之間不可比較。具體算法如下:
算法1:POSS方法。
輸入:V={X1,X2,…,Xn},判別函數f和正整數k
參數:迭代次數T和隔離函數I:{0,1}n→R
算法過程:
s={0}n和P={s}
t=0
Whilet 均勻隨機地從P中抽取s 對s中的每一位以1/n的概率翻轉(若當前為0,則變成1;反之也成立),產生s' if?z?P,若I(z)=I(s')并且((z.o1s'.o1∧z.o2s'.o2)or(z.o1≤s'.o1∧z.o2≤s'.o2)) 則Q={z∈P|I(z)=I(s')∧s'.o1≤z.o1∧s'.o2≤z.o2}P=(PQ)∪{s'} end if t=t+1 endwhile 為了提高分類算法對大規模數據的處理能力,Lu等提出了最小最大模塊化的集成[17],并結合各個分類器用以解決文本分類、專利分類、人臉識別等領域的問題。將該方法與特征選擇結合應用到網絡流量分類中,既能得到更好的特征子集又能解決類別不平衡問題,從而達到更好的分類效果。 根據集成特征選擇的步驟,基于M3的集成特征選擇同樣分為三個步驟:首先,將原始數據根據它們的類別信息劃分成多個相對較小的平衡數據子集;然后,在每個數據子集上進行特征選擇,得到不同的特征選擇結果;最后,對多個特征選擇結果采用最小最大規則進行集成。 2.2.1 任務分解 在任務分解階段,對于一個K類的分解問題,首先采用“一對一”的策略將其分解為K(K-1)個二分類問題[1]。假設K類的訓練數據集表示為: (8) 通過“一對一”的策略,第i類樣本和第j類樣本的訓練數據集可以表示為: (9) 如果兩類問題的規模較大或者是不平衡性,可以進一步將它們劃分成規模更小的較為平衡的子問題[18]。由于要求每一個數據子集中樣本個數幾乎一致,使得每個組合的二類問題中的類別都是平衡的,故M3可以有效地解決類別不平衡的問題,在網絡流量分類中具有一定的實用性。 2.2.2 集成結果 根據上述劃分策略,得到N+×N-個不同類別之間相對平衡、規模較小的樣本子集,然后在每個樣本子集上使用某種特征選擇算法,從而得到N+×N-個特征選擇結果。對這些結果使用MIN-MAX規則。 MIN規則:對擁有相同正類訓練樣本集和不同負類訓練樣本集的分類結果取最小值; MAX規則:對擁有相同負類訓練樣本集和不同正類訓練樣本集的分類結果取最大值。 具體過程如下: Wi,j=F(Ti,j),i=1,2,…,N+,j=1,2,…,N- (10) 其中,F(·)表示特征選擇器;Wi,j表示在樣本子集Ti,j上進行特征選擇的結果。 Wi=Min(Wi,1,Wi,2,…,Wi,N-),i=1,2,…,N+ (11) W=Max(W1,…,W-) (12) 其中,Wi表示對包含相同正類樣本、不同負類樣本的數據子集的特征選擇結果采用MIN規則,MIN規則是取每個特征在不同特征選擇結果中的最小權重作為輸出;W表示對上一步輸出的N+個特征選擇結果使用MAX規則,MAX規則是取每個特征在不同特征選擇結果中的最大權重作為輸出。 最小最大策略的集成特征選擇流程如圖1所示。 圖1 最小最大策略的集成特征選擇模型 該算法描述如下: 算法2:基于最小最大規則的特征選擇集成算法。 輸入:訓練集x,正類樣本劃分個數N+,數據劃分方法P,特征選擇算法F 輸出:特征權重W (1)數據劃分階段。 統計x中正類和負類樣本個數l+,l- 計算負類樣本劃分的塊數 將X按正類、負類分為x+,x- fori=1:N+ forj=1:N- end for end for (2)最小最大集成階段。 fori=1:N+ forj=1:N- Wi,j=F(Ti,j) end for Wl=Min(Wi,1,Wi,2,…,Wi,N-) end for W=Max(W1,W2,…,WN+) 通過實驗驗證基于最小最大模塊化集成特征選擇篩選出的特征在網絡流量分類中的分類性能,及其處理類別不平衡的能力。主要對比了三種集成策略、三種特征選擇算法以及兩種處理類別不平衡的方法。 實驗數據集[5]包含20 000條樣本,在原始數據集內進行訓練集和測試集以及驗證集的劃分。Moore A等在文獻[5]中提取了249個初始特征,這些特征大致可分為單向流特征和雙向流特征,單向流為客戶端或服務端單方發送的數據包的統計,雙向流則為兩個方向均發送的數據包的統計。 根據需要,文中選取29個關鍵特征,其數據集中共有六種流量類型,每類流量的個數,所占比例,在實驗中的類別標簽以及使用M3時每個類別分塊的個數如表1所示。 表1 流量類型及描述 為了去除各個屬性定義域的區別對分類效果的影響,采用0-1歸一化的方法將數據縮放到0到1的閉區間內;原始數據集中包含部分缺失值,采用拉格朗日插值法填補缺失值。 采用的分類器算法是支持向量機。實驗采用10折交叉驗證法計算分類準確率。在支持向量機中,采用高斯核函數,其sigmoid值設置為2,損失函數C設置為32,采用SMO算法來計算其參數。 對于類別不平衡的問題,常用的評價準則有ROC曲線、F-Measure[19]、G-Mean[20]等,文中使用F-Measure度量方法[21]。該方法能考慮到每個類別上的分類準確率,并將每個類別的準確率同等對待,解決了忽略不平衡數據集少樣本重要性的缺陷。F-Measure的計算方法為: (13) precision=TP/(TP+FP) (14) recall=TP/(TP+FN) (15) 其中,recall表示正類樣本的分類準確率;precision表示負類樣本的分類準確率;TP表示被正確分類的正類樣本數量;FN表示被錯誤分類的正類樣本數量;TN表示被正確分類的負類樣本數量;FP表示被錯誤分類的負類樣本數量。 在預處理之后,先對原始數據集使用超平面劃分正負類樣本。對于多分類問題,采用“一對一”的策略將其轉換成二分類問題進行劃分。后續步驟僅考慮二分類情況。 對每一塊數據子集使用同樣的特征選擇算法。分別采用了POSS、Fisher和Relief算法,得到特征排序;根據特征排序,對每一個特征子集分別使用投票法、K-中心點法以及最小最大策略三種方法各自的特征子集。將權重排名前6,8,10,12,14,16,18,20個特征的數據子集進行訓練與測試;將得到的特征子集使用支持向量機預測得到分類結果,計算其F-Measure值。 3.2.1 特征選擇算法的結果對比 該實驗首先使用超平面劃分(HP)和三種集成方法。比較結果如圖2~4所示。 圖2 POSS在不同的集成策略算法的結果比較 圖3 Fisher在不同的集成策略算法結果的比較 圖4 Relief在不同的集成策略算法的結果比較 可以看出在集成策略方面,隨著特征數量的變化,三種方法均有較好的表現。從整體來看,基于M3的集成策略效果優于其他兩種方法。并且在選擇15到18維特征時分類效果較好,在特征數到20維時,結果趨于穩定或下滑。 如圖5所示,在大部分情況下,當選取18個特征時,三種特征選擇算法的性能可以達到最好。從不同特征選擇對比的情況來看,POSS特征選擇算法在大多數情況下的性能都優于其他算法。 圖5 三種不同特征選擇算法的結果比較 3.2.2 不同的采樣策略比較 為了比較處理數據不平衡的能力,使用經典的處理不平衡數據的方法-1∶1隨機欠采樣和1∶1.5隨機欠采樣策略[22]選取數據子集,并使用POSS算法和支持向量機算法與基于M3的策略進行比較。 圖6比較了三種策略處理不平衡數據的能力,在特征選擇階段均選擇權重排名前16的特征作為訓練樣本。結果表明,1∶1.5的采樣雖然能保持比1∶1更好的完整性,但效果略次于1∶1,而基于M3可同時處理大規模數據和不平衡數據,既能保持完整性,也能保持相對較高的準確性,在處理不平衡數據時效果最佳。 圖6 不同采樣方法的比較 文中將集成方法與POSS特征選擇算法相結合的集成特征選擇方法應用到網絡流量分類領域,比較了三種不同集成方法以及三種不同的特征選擇算法的分類效果,同時比較了M3處理類別不平衡的能力,并且將用于解決二分類的M3方法拓展到了解決多分類問題,從而對流量進行分類。實驗結果表明,基于M3的劃分和POSS方法在大部分情況下優于其他劃分與集成的策略和方法,在處理不平衡數據時同樣優于其他兩種方法。在流量分類領域中能取得良好的效果,能有效地對其進行分類。 [1] NAMDEV N,AGRAWAL S,SILKARI S.Recent advancement in machine learning based internet traffic classification[J].Procedia Computer Science,2015,60:784-791. [2] KATRIS C,DASKALAKI S.Comparing forecasting approaches for Internet traffic[J].Expert Systems with Applications,2015,42(21):8172-8183. [3] LIU Z,WANG R,TAO M,et al.A class-oriented feature selection approach for multi-class imbalanced network traffic datasets based on local and global metrics fusion[J].Neurocomputing,2015,168:365-381. [4] ZHANG J, CHEN C, XIANG Y, et al. An effective network traffic classification method with unknown flow detection[J].IEEE Transactions on Network and Service Management,2013,10(2):133-147. [5] MOORE A,ZUEV D,CROGAN M.Discriminators for use in flow-based classification[M].[s.l.]:[s.n.],2005. [6] ERMAN J,ARLITT M,MAHANTI A.Traffic classification using clustering algorithms[C]//Proceedings of the 2006 SIGCOMM workshop on mining network data.[s.l.]:ACM,2006:281-286. [7] WANG Y,XIANG Y,YU S.Internet traffic classification using machine learning: a token-based approach[C]//IEEE 14th international conference on computational science and engineering.[s.l.]:IEEE,2011:285-289. [8] ZHOU W,DONG L,BIC L,et al.Internet traffic classification using feed-forward neural network[C]//International conference on computational problem-solving.[s.l.]:IEEE,2011:641-646. [9] HU L T,ZHANG L J.Real-time internet traffic identification based on decision tree[C]//World automation congress.[s.l.]:IEEE,2012:1-3. [10] KAUR J,AGRAWAL S,SOHI B S.Internet traffic classification for educational institutions using machine learning[J].International Journal of Intelligent Systems and Applications,2012,4(8):37-45. [11] ROBNIK-SIKONJA M,KONONENKO I.Theoretical and empirical analysis of ReliefF and RReliefF[J].Machine Learning,2003,53(1-2):23-69. [12] YU Y,YAO X,ZHOU Z H.On the approximation ability of evolutionary optimization with application to minimum set cover[C]//Proceedings of the twenty-third international joint conference on artificial intelligence.Beijing:AAAI Press,2012:3190-3194. [13] AWADA W,KHOSHGOFTAAR T M,DITTMAN D,et al.A review of the stability of feature selection techniques for bioinformatics data[C]//13th international conference on information reuse and integration.[s.l.]:IEEE,2012:356-363. [14] LI Y,GAO S Y,CHEN S.Ensemble feature weighting based on local learning and diversity[C]//Proceedings of the twenty-sixth AAAI conference on artificial intelligence.Toronto,Canada:AAAI Press,2012. [15] WOZNICA A,NGUYEN P,KALOUSIS A.Model mining for robust feature selection[C]//Proceedings of the 18th ACM SIGKDD international conference on knowledge discovery and data mining.[s.l.]:ACM,2012:913-921. [16] ZHAO Z,GUO S,XU Q,et al.G-means:a clustering algorithm for intrusion detection[C]//Proceedings of the 15th international conference on advances in neuro-information processing - volume part I.Auckland,New Zealand:Springer-Verlag,2009:563-570. [17] LU B L,ITO M.Task decomposition and module combination based on class relations: a modular neural network for pattern classification[J].IEEE Transactions on Neural Networks,1999,10(5):1244-1256. [18] CHU X L,MA C,LI J,et al.Large-scale patent classification with min-max modular support vector machines[C]//International joint conference on neural networks.[s.l.]:IEEE,2008:3973-3980. [19] HUANG Y J,POWERS R,MONTELIONE G T.Protein NMR recall,precision,and F-measure scores (RPF scores):structure quality assessment measures based on information retrieval statistics[J].Journal of the American Chemical Society,2005,127(6):1665-1674. [20] KUBAT M,MATWIN S.Addressing the curse of imbalanced training sets:one-sided selection[C]//Proceedings of the fourteenth international conference on machine learning.Stanford,USA:ICML,2000:179-186. [21] LI Y,FENG L L.Integrating feature selection and min-max modular SVM for powerful ensemble[C]//International joint conference on neural networks.[s.l.]:IEEE,2012:1-8. [22] SEIFFERT C,KHOSHGOFTAAR T M,VAN HULSE J,et al.RUSBoost:a hybrid approach to alleviating class imbalance[J].IEEE Transactions on Systems,Man and Cybernetics,Part A,2010,40(1):185-197.
2.2 基于最小最大規則(M3)的集成特征選擇方法




3 實 驗
3.1 數據集

3.2 實驗結果分析





4 結束語