劉紀偉, 趙月顯, 趙 楊
(國家電腦網路與資訊安全管理中心河北分中心, 河北 石家莊 050021)
利用網路流量的統計特徵進行流量的分類識別需要從眾多的特徵中選取最優特徵集合, 以避免冗餘和不相關特徵造成的系統模型複雜度過高、分類準確率和效率下降等問題。 針對該問題, 提出一種基於統計排序的網路流量特徵選擇方法。 首先利用基於統計方法定義的特徵選擇係數生成初始特徵子集, 再將基於分類準確率構建的特徵影響係數作為特徵評估排序的依據, 對初始特徵子集進行二次特徵選擇,
網路流量分類;特徵選擇;統計排序;特徵影響
中圖分類號:TP393
文獻標識碼:A
DOI:10.16157/j.issn.0258-7998.172203
中文引用格式: 劉紀偉, 趙月顯, 趙楊. 一種基於統計排序的網路流量特徵選擇方法[J].電子技術應用, 2018, 44(1):84-87.
英文引用格式:Liu Jiwei, Zhao Yuexian, Zhao Yang. A feature selection method of network traffic based on statistic and ranking strategy[J]. Application of Electronic Technique, 2018, 44(1):84-87.
0 引言
網路流量分類是指將混合有各種應用的流量, 按產生這些流量的應用協議進行分類。 網路流量分類既是高性能網路通訊協定設計的基礎, 又是網路運營管理、網路發展規劃的依據, 也是網路攻擊與惡意程式碼檢測的重要手段[1]。
基於網路流量的統計特徵並利用機器學習的方法進行流量的分類識別是當前學術界的研究熱點,
近幾年學術界對此開展了廣泛和深入的研究。
本文在前述學者的研究工作基礎之上, 針對現有網路流量特徵選擇方法存在的問題, 提出一種基於統計排序的特徵選擇方法(Feature Selection based on Statistic and Ranking, FSSR)。 FSSR首先根據特徵選擇係數大小選取類相關性強、類別區分度高的特徵組成初始特徵子集,
1 FSSR方法
1.1 相關定義
為了方便描述, 對文中使用的標記符號說明如下:C={c1, c2, c3, …, ck}表示具有k個類的網路應用集合;T={t1, t2, t3, …, tm}表示具有m個網路流量特徵的集合;X={x1, x2, x3, …, xN}表示樣本數量為N的網路流樣本資料集合, 其中xi形式為以T中元素表徵的特徵向量。
定義1 特徵選擇係數fij
特徵選擇係數fij用來衡量特徵ti和類cj之間的相關性以及ti將cj與其他類區分開來的能力。
根據香農的資訊理論理論, 對於某個特徵t, 如果類c的樣本在這個特徵上的取值越集中, 說明c在t上的不確定性越小,即特徵t與類c相關性越強,利用特徵t能更好地識別類c;如果類c1和類c2的樣本在特徵t上的取值區間沒有交集或者交集很小,則利用特徵t就能很好地區分類c1和類c2。基於此,定義特徵選擇係數如下:
其中,|ti|表示統計所有樣本在特徵ti上全部取值的個數,γinj表示統計類cj在特徵ti上取第n個值的樣本個數占類cj樣本總數的比例。可見,特徵選擇係數大小由類在特徵上取值的集中程度和該類與其他所有類在該特徵上取值區間的差異程度決定。在特徵上的取值越集中,類間的取值區間相差越大,特徵係數越大,相應的特徵和類相關性越強。
定義2 特徵影響係數Ii
特徵影響係數Ii用來衡量特徵ti對分類準確率的影響程度。定義如下:
1.2 演算法原理
FSSR方法的核心思想是基於相關性並利用統計的方法找出既能準確標識網路應用同時又在不同應用類別之間具有明顯分佈差異的網路流量特徵。如果所有目標應用的樣本在某些流量特徵上的分佈都很集中,同時各個應用的分佈之間差異明顯,那麼顯然利用這些特徵能夠很好地區分出各個目標應用。比如,目標應用a的樣本在特徵1上的取值分佈集合是{1,2},在特徵2上的取值分佈集合是{1,2,3,4,5},目標應用b的樣本在特徵1上的取值分佈集合是{9,10},在特徵2上的取值分佈集合是{4,5,6,7,8},比較特徵1和特徵2,顯然利用特徵1能更好地標識和區分目標應用。1.1節中的特徵選擇係數即基於此思想定義。
1.3 演算法描述
FSSR方法主要由特徵選擇係數計算、初始特徵子集生成、特徵影響係數計算和最優特徵子集生成四個部分組成。演算法運行過程分為兩個階段,第一階段生成初始特徵子集,由於初始特徵子集中的特徵數量與網路應用類別數量相等,當網路應用數量較多時,很可能造成選取到冗餘和不相關特徵,因此第二階段對初始特徵子集進行二次選擇,進一步尋優,得到最優特徵子集。在第二階段計算各特徵的特徵影響係數時,採用C4.5決策樹分類演算法評估分類準確率。演算法詳細步驟描述如下:
輸入:網路流樣本訓練資料集X
輸出:最優特徵子集S
(1)初始化初始特徵子集S1,最優特徵子集S為空集;
(2)遍歷訓練集X中的樣本,根據式(1)計算每個網路應用類型對應每個流量特徵的特徵選擇係數fij,其中1≤i≤m,1≤j≤k;
(3)對應用類型cj,掃描集合{fij}(1≤i≤m),計算I=,得到對應的流量特徵tI,放入S1中;如果S1中已有特徵tI,則刪除fij,重新計算;
(4)迴圈執行步驟(3),直到遍歷完所有的應用類型cj(1≤j≤k),得到初始特徵子集S1;
(5)利用初始特徵子集S1,對訓練集X使用10次折疊交叉驗證,採用C4.5決策樹分類演算法,根據式(2),計算S1中每個特徵的特徵影響係數;
(6)查找S1中特徵影響係數最大的特徵順序放入S中,並將該特徵從S1中刪除;
(7)利用特徵子集S,對訓練集X使用10次折疊交叉驗證,採用C4.5決策樹分類演算法,計算分類準確率pS;
(8)重複執行步驟(5)~(7),直到pS取得最大值,此時的特徵子集S即為最優特徵子集;
(9)結束。
2 實驗與分析
2.1 實驗工具與實驗資料集
本文使用的主要實驗工具為Weka 3.8。Weka是紐西蘭懷卡托大學開發的一個基於JAVA環境的開源機器學習以及資料採擷軟體,包含多種機器學習演算法。同時,Weka提供JAVA介面,為開發者提供了一個基於JAVA的二次開發平臺,支持開發者自己編寫代碼進行新學習演算法開發。實驗平臺運行Windows 7作業系統,CPU為Intel Core i5-3470 3.20 GHz,記憶體大小為4 GB。
實驗利用MOORE A W等人在文獻[8]中給出的網路流資料集Moore_set作為實驗測試資料集,這是目前網路流量分類研究中最為權威的測試資料集。Moore_set中包含10個資料子集、377 526個網路流樣本、248個流量特徵屬性(最後一個屬性是目標應用,即指出網路流所屬的應用類型)、12種應用類型(資料子集中應用類型FTP又進一步分為:FTP-CONTROL、FTP-PASV和FTP-DATA)。10個資料子集的採集時間在同一天,按先後順序編號,每個資料子集的採集持續時間約30 min,具體統計資訊如表1~表3所示。
從表1可以看出,Moore_set中INT和GAMES兩種應用類型的樣本數量相對過少,不具有代表性,因此刪除這兩種類型的樣本,保留其餘樣本。
從表3可以看出,DB和MMEDIA兩種應用類型分別在資料子集5、6和資料子集9、10中沒有分佈。為了保證實驗資料集中應用分佈的統一,不選取這4個資料子集作為實驗資料集。經過以上選擇處理後,實驗資料集共包含6個資料子集、205 210個網路流樣本、10種應用類型,6個資料子集分別是entry01、entry02、entry03、entry04、entry07、entry08[8]。
2.2 實驗結果分析
為了有效評價分類效果,Weka給出了分類演算法的總體準確率和按類計算的詳細準確率,詳細準確率包括真正率、假正率、精確率、召回率、F-Measure值等性能指標。文獻[1]中給出了對以上各項性能評價指標的詳細介紹,請參閱。
實驗首先分別在各個資料子集上運行FSSR特徵選擇方法,獲得並記錄從各資料子集選取的初始特徵子集和最優特徵子集以及分別僅包含初始特徵和最優特徵的資料子集;然後為了評價FSSR方法的效果和效率,選擇C4.5演算法構造分類器,使用10次折疊交叉驗證方法分別在初始特徵資料子集、最優特徵資料子集和未進行特徵選擇的全特徵資料子集上執行分類操作,對網路流量進行分類識別。實驗結果對比如表4~表6所示。
由表4可知,經過FSSR方法選擇後的特徵數量明顯減少,將原來的248個特徵平均減少到現在的7.67個,表明FSSR的降維效果明顯。
由表5可知,FSSR方法在6個實驗資料子集上獲得的平均分類總體準確率略高於原始全特徵資料子集的總體準確率,準確率未有較大程度地提升,主要原因是:分類演算法C4.5本身性能很好,對未進行特徵選擇的原始實驗資料集進行分類時總體準確率已經達到了99.6%以上,提升空間有限,並且實驗資料集樣本數量龐大,增加的少量正確分類樣本數對準確率貢獻較小。
由表6可知,雖然FSSR方法在提升分類準確率方面貢獻不大,但由於在特徵集合降維方面效果明顯,降低了分類模型的複雜度,所以在系統建模時間上,利用FSSR方法獲得的最優特徵子集進行分類建模的時間遠遠低於全特徵集合。
表7給出了FSSR在實驗資料集上選取頻率最高的6個特徵,其中序號、識別字參照文獻[8]中的定義。
總的來說,FSSR特徵選擇方法在網路流量分類識別方面取得了較好的效果,在保證分類總體準確率的同時,大幅度地減少了網路流量的統計特徵數目,從而有效降低了後續分類系統模型的複雜度和對系統資源的佔用,提高了分類效率。
3 結論
本文針對機器學習在網路流量分類中面臨的流量統計特徵選擇問題,提出一種基於統計排序的特徵選擇方法,首先利用特徵選擇係數為各網路應用類型選擇相關性強、與其他應用區分度高的特徵,組成初始特徵子集。考慮到網路應用類型過多時仍然可能導致選取到冗餘和不相關的特徵,再將特徵影響係數作為特徵評估排序的依據,對初始特徵子集進行二次特徵選擇,生成最優特徵子集。實驗結果表明,該方法在保證分類整體準確率的同時,有效減少了流量統計特徵的個數,達到了預期的效果。但網路流量存在應用類別分佈不均衡以及概念漂移等問題,在對多類不均衡流量進行分類時,機器學習分類模型往往傾向於多數類,造成少數類召回率較低。目前的特徵選擇方法可以很好地解決維數災難的問題,但在解決上述問題方面還有很多不足,下一步的主要研究方向即為結合機器學習和特徵選擇解決網路流量分類中的多類不均衡和概念漂移問題。
參考文獻
[1] 汪立東,錢麗萍,王大偉,等.網路流量分類方法與實踐[M].北京:人民郵電出版社,2013.
[2] 高文,錢亞冠,吳春明,等.網路流量特徵選擇方法中的分治投票策略研究[J].電子學報,2015,43(4):795-799.
[3] 儲慧琳,張興明.一種組合式特徵選擇演算法及其在網路流量識別中的應用[J].小型微型電腦系統,2012,33(2):325-329.
[4] 潘吳斌,程光,郭曉軍,等.基於選擇性集成策略的嵌入式網路流特徵選擇[J].電腦學報,2014,37(10):2128-2137.
[5] 孫興斌,孫彥贊,鄭小盈,等.面向多類不均衡網路流量的特徵選擇方法[J].電腦應用研究,2017,34(2):568-571.
[6] 孫興斌,芮贇.一種基於統計頻率的網路流量特徵選擇方法[J].小型微型電腦系統,2016,37(11):2483-2487.
[7] 申健,夏靖波,張曉燕,等.基於分治排序策略的流量二次特徵選擇[J].電子學報,2017,45(1):128-133.
[8] MOORE A W,ZUEV D,CROGAN M.Discriminators for use in flow-based classification,RR-05-13[R].London:Queen Mary University of London,2005.
說明c在t上的不確定性越小,即特徵t與類c相關性越強,利用特徵t能更好地識別類c;如果類c1和類c2的樣本在特徵t上的取值區間沒有交集或者交集很小,則利用特徵t就能很好地區分類c1和類c2。基於此,定義特徵選擇係數如下:其中,|ti|表示統計所有樣本在特徵ti上全部取值的個數,γinj表示統計類cj在特徵ti上取第n個值的樣本個數占類cj樣本總數的比例。可見,特徵選擇係數大小由類在特徵上取值的集中程度和該類與其他所有類在該特徵上取值區間的差異程度決定。在特徵上的取值越集中,類間的取值區間相差越大,特徵係數越大,相應的特徵和類相關性越強。
定義2 特徵影響係數Ii
特徵影響係數Ii用來衡量特徵ti對分類準確率的影響程度。定義如下:
1.2 演算法原理
FSSR方法的核心思想是基於相關性並利用統計的方法找出既能準確標識網路應用同時又在不同應用類別之間具有明顯分佈差異的網路流量特徵。如果所有目標應用的樣本在某些流量特徵上的分佈都很集中,同時各個應用的分佈之間差異明顯,那麼顯然利用這些特徵能夠很好地區分出各個目標應用。比如,目標應用a的樣本在特徵1上的取值分佈集合是{1,2},在特徵2上的取值分佈集合是{1,2,3,4,5},目標應用b的樣本在特徵1上的取值分佈集合是{9,10},在特徵2上的取值分佈集合是{4,5,6,7,8},比較特徵1和特徵2,顯然利用特徵1能更好地標識和區分目標應用。1.1節中的特徵選擇係數即基於此思想定義。
1.3 演算法描述
FSSR方法主要由特徵選擇係數計算、初始特徵子集生成、特徵影響係數計算和最優特徵子集生成四個部分組成。演算法運行過程分為兩個階段,第一階段生成初始特徵子集,由於初始特徵子集中的特徵數量與網路應用類別數量相等,當網路應用數量較多時,很可能造成選取到冗餘和不相關特徵,因此第二階段對初始特徵子集進行二次選擇,進一步尋優,得到最優特徵子集。在第二階段計算各特徵的特徵影響係數時,採用C4.5決策樹分類演算法評估分類準確率。演算法詳細步驟描述如下:
輸入:網路流樣本訓練資料集X
輸出:最優特徵子集S
(1)初始化初始特徵子集S1,最優特徵子集S為空集;
(2)遍歷訓練集X中的樣本,根據式(1)計算每個網路應用類型對應每個流量特徵的特徵選擇係數fij,其中1≤i≤m,1≤j≤k;
(3)對應用類型cj,掃描集合{fij}(1≤i≤m),計算I=,得到對應的流量特徵tI,放入S1中;如果S1中已有特徵tI,則刪除fij,重新計算;
(4)迴圈執行步驟(3),直到遍歷完所有的應用類型cj(1≤j≤k),得到初始特徵子集S1;
(5)利用初始特徵子集S1,對訓練集X使用10次折疊交叉驗證,採用C4.5決策樹分類演算法,根據式(2),計算S1中每個特徵的特徵影響係數;
(6)查找S1中特徵影響係數最大的特徵順序放入S中,並將該特徵從S1中刪除;
(7)利用特徵子集S,對訓練集X使用10次折疊交叉驗證,採用C4.5決策樹分類演算法,計算分類準確率pS;
(8)重複執行步驟(5)~(7),直到pS取得最大值,此時的特徵子集S即為最優特徵子集;
(9)結束。
2 實驗與分析
2.1 實驗工具與實驗資料集
本文使用的主要實驗工具為Weka 3.8。Weka是紐西蘭懷卡托大學開發的一個基於JAVA環境的開源機器學習以及資料採擷軟體,包含多種機器學習演算法。同時,Weka提供JAVA介面,為開發者提供了一個基於JAVA的二次開發平臺,支持開發者自己編寫代碼進行新學習演算法開發。實驗平臺運行Windows 7作業系統,CPU為Intel Core i5-3470 3.20 GHz,記憶體大小為4 GB。
實驗利用MOORE A W等人在文獻[8]中給出的網路流資料集Moore_set作為實驗測試資料集,這是目前網路流量分類研究中最為權威的測試資料集。Moore_set中包含10個資料子集、377 526個網路流樣本、248個流量特徵屬性(最後一個屬性是目標應用,即指出網路流所屬的應用類型)、12種應用類型(資料子集中應用類型FTP又進一步分為:FTP-CONTROL、FTP-PASV和FTP-DATA)。10個資料子集的採集時間在同一天,按先後順序編號,每個資料子集的採集持續時間約30 min,具體統計資訊如表1~表3所示。
從表1可以看出,Moore_set中INT和GAMES兩種應用類型的樣本數量相對過少,不具有代表性,因此刪除這兩種類型的樣本,保留其餘樣本。
從表3可以看出,DB和MMEDIA兩種應用類型分別在資料子集5、6和資料子集9、10中沒有分佈。為了保證實驗資料集中應用分佈的統一,不選取這4個資料子集作為實驗資料集。經過以上選擇處理後,實驗資料集共包含6個資料子集、205 210個網路流樣本、10種應用類型,6個資料子集分別是entry01、entry02、entry03、entry04、entry07、entry08[8]。
2.2 實驗結果分析
為了有效評價分類效果,Weka給出了分類演算法的總體準確率和按類計算的詳細準確率,詳細準確率包括真正率、假正率、精確率、召回率、F-Measure值等性能指標。文獻[1]中給出了對以上各項性能評價指標的詳細介紹,請參閱。
實驗首先分別在各個資料子集上運行FSSR特徵選擇方法,獲得並記錄從各資料子集選取的初始特徵子集和最優特徵子集以及分別僅包含初始特徵和最優特徵的資料子集;然後為了評價FSSR方法的效果和效率,選擇C4.5演算法構造分類器,使用10次折疊交叉驗證方法分別在初始特徵資料子集、最優特徵資料子集和未進行特徵選擇的全特徵資料子集上執行分類操作,對網路流量進行分類識別。實驗結果對比如表4~表6所示。
由表4可知,經過FSSR方法選擇後的特徵數量明顯減少,將原來的248個特徵平均減少到現在的7.67個,表明FSSR的降維效果明顯。
由表5可知,FSSR方法在6個實驗資料子集上獲得的平均分類總體準確率略高於原始全特徵資料子集的總體準確率,準確率未有較大程度地提升,主要原因是:分類演算法C4.5本身性能很好,對未進行特徵選擇的原始實驗資料集進行分類時總體準確率已經達到了99.6%以上,提升空間有限,並且實驗資料集樣本數量龐大,增加的少量正確分類樣本數對準確率貢獻較小。
由表6可知,雖然FSSR方法在提升分類準確率方面貢獻不大,但由於在特徵集合降維方面效果明顯,降低了分類模型的複雜度,所以在系統建模時間上,利用FSSR方法獲得的最優特徵子集進行分類建模的時間遠遠低於全特徵集合。
表7給出了FSSR在實驗資料集上選取頻率最高的6個特徵,其中序號、識別字參照文獻[8]中的定義。
總的來說,FSSR特徵選擇方法在網路流量分類識別方面取得了較好的效果,在保證分類總體準確率的同時,大幅度地減少了網路流量的統計特徵數目,從而有效降低了後續分類系統模型的複雜度和對系統資源的佔用,提高了分類效率。
3 結論
本文針對機器學習在網路流量分類中面臨的流量統計特徵選擇問題,提出一種基於統計排序的特徵選擇方法,首先利用特徵選擇係數為各網路應用類型選擇相關性強、與其他應用區分度高的特徵,組成初始特徵子集。考慮到網路應用類型過多時仍然可能導致選取到冗餘和不相關的特徵,再將特徵影響係數作為特徵評估排序的依據,對初始特徵子集進行二次特徵選擇,生成最優特徵子集。實驗結果表明,該方法在保證分類整體準確率的同時,有效減少了流量統計特徵的個數,達到了預期的效果。但網路流量存在應用類別分佈不均衡以及概念漂移等問題,在對多類不均衡流量進行分類時,機器學習分類模型往往傾向於多數類,造成少數類召回率較低。目前的特徵選擇方法可以很好地解決維數災難的問題,但在解決上述問題方面還有很多不足,下一步的主要研究方向即為結合機器學習和特徵選擇解決網路流量分類中的多類不均衡和概念漂移問題。
參考文獻
[1] 汪立東,錢麗萍,王大偉,等.網路流量分類方法與實踐[M].北京:人民郵電出版社,2013.
[2] 高文,錢亞冠,吳春明,等.網路流量特徵選擇方法中的分治投票策略研究[J].電子學報,2015,43(4):795-799.
[3] 儲慧琳,張興明.一種組合式特徵選擇演算法及其在網路流量識別中的應用[J].小型微型電腦系統,2012,33(2):325-329.
[4] 潘吳斌,程光,郭曉軍,等.基於選擇性集成策略的嵌入式網路流特徵選擇[J].電腦學報,2014,37(10):2128-2137.
[5] 孫興斌,孫彥贊,鄭小盈,等.面向多類不均衡網路流量的特徵選擇方法[J].電腦應用研究,2017,34(2):568-571.
[6] 孫興斌,芮贇.一種基於統計頻率的網路流量特徵選擇方法[J].小型微型電腦系統,2016,37(11):2483-2487.
[7] 申健,夏靖波,張曉燕,等.基於分治排序策略的流量二次特徵選擇[J].電子學報,2017,45(1):128-133.
[8] MOORE A W,ZUEV D,CROGAN M.Discriminators for use in flow-based classification,RR-05-13[R].London:Queen Mary University of London,2005.