邢玉鳳++毛艷瓊
摘 要: 針對真實網(wǎng)絡環(huán)境中存在大量干擾噪聲和野值樣本等嚴重影響最小二乘支持向量機算法的性能等問題,提出一種結合協(xié)同量子粒子群優(yōu)化算法和最小二乘支持向量機的網(wǎng)絡流量識別系統(tǒng)。將網(wǎng)絡流量分為12個類型,并進行數(shù)據(jù)采集。使用采集的數(shù)據(jù)對網(wǎng)絡流量識別系統(tǒng)進行訓練和性能測試。為研究提出的基于CQPSO?LSSVM算法的性能,將其與基于CQPSO?LSSVM算法和基于PSO?LSSVM算法進行對比,結果表明基于CQPSO?LSSVM算法具有更快的識別速度以及更好的識別準確率,避免了出現(xiàn)陷入局部最優(yōu)解的情況發(fā)生。
關鍵詞: 有督導機器學習; 網(wǎng)絡流量識別; LSSVM; 協(xié)同量子粒子群優(yōu)化算法
中圖分類號: TN711?34; TP393 文獻標識碼: A 文章編號: 1004?373X(2015)21?0109?04
Network traffic identification system based on supervised machine learning
XING Yufeng, MAO Yanqiong
(School of Humanity and Art, Yunnan College of Business Management, Kunming 650106, China)
Abstract: In the real network environment, a large number of interference noise and outlier samples are existed, which seriously affect on the performance of the least square support vector machine (LSSVM) algorithm. A network traffic identification system combining cooperative quantum particle swarm optimization (CQPSO) algorithm with LSSVM is proposed. The network traffic is divided into 12 types, in which the data of network traffic are collected. The network traffic identification system is conducted with training and performance test by the collected data. To study the performance of the CQPSO?LSSVM based algorithm, the CQPSO?LSSVM based algorithm is compared with the PSO?LSSVM based algorithm. The comparison results show that the CQPSO?LSSVM based algorithm has faster identification speed and better identification accuracy, which can avoid the occurrence that the system is caught in local optimal solution.
Keywords: supervised machine learning; network traffic identification; LSSVM; CQPSO algorithm
0 引 言
隨著隨著互聯(lián)網(wǎng)技術的不斷發(fā)展壯大,不斷涌現(xiàn)出各種各樣的網(wǎng)絡服務和應用類型,這對互聯(lián)網(wǎng)管理提出了更高的要求,同時網(wǎng)絡安全問題日益嚴重,對網(wǎng)絡流量進行實時有效的檢測,具有非常重要的意義[1?2]。
傳統(tǒng)對網(wǎng)絡流量進行分類識別的方式手段主要有:基于端口識別技術的網(wǎng)絡流量分類識別方法;基于數(shù)據(jù)包載荷內(nèi)容的網(wǎng)絡流量分類識別方法。傳統(tǒng)網(wǎng)絡流量分類識別方法雖然具有算法簡單、效率高等優(yōu)點,但是由于其自身局限性已經(jīng)不再適用于當今復雜多樣互聯(lián)網(wǎng)服務類型和應用。
現(xiàn)在應用比較廣泛的網(wǎng)絡流量分類識別方法主要有:基于統(tǒng)計特征的網(wǎng)絡流量分類識別方法;基于有督導機器學習的網(wǎng)絡流量分類識別方法;基于無督導機器學習的網(wǎng)絡流量分類識別方法。有督導機器學習算法又分為基于貝葉斯算法、基于決策樹算法和基于支持向量機算法以及基于神經(jīng)網(wǎng)絡算法等;無督導機器學習算法又分為基于模型方法、基于密度方法以及基于劃分方法等[3?6]。
1 網(wǎng)絡流量識別系統(tǒng)
1.1 網(wǎng)絡流量分類
近年來,P2P技術已經(jīng)得到了非常廣泛的應用,P2P應用類型也隨著其服務類型的增長而增長,因此,過去文獻在對網(wǎng)絡流量識別進行研究時,通常將網(wǎng)絡流量類型分為10個類型。本文根據(jù)P2P服務類型將三種常用應用類型分別考慮,即分為P2P文件共享、音視頻以及即時通信應用服務。因此,本文對網(wǎng)絡流量類型劃分為12個類型,如表1所示[7]。
1.2 基于機器學習的網(wǎng)絡流量識別分類方法
機器學習方法已經(jīng)得了非常成熟廣泛的發(fā)展,將機器學習應用于網(wǎng)絡流量識別技術,能夠有效提高網(wǎng)絡流量識別系統(tǒng)的識別率以及識別速度。機器學習通常分為兩種,即有督導機器學習和無督導機器學習。相比無督導機器學習來說,基于有督導機器學習的網(wǎng)絡流量識別系統(tǒng)具有更好的識別性能。
基于有督導機器學習的網(wǎng)絡流量分類識別方法一般通過大規(guī)模已知類別的網(wǎng)絡流量會話流樣本數(shù)據(jù)對識別系統(tǒng)進行訓練,使得系統(tǒng)具有較強的泛化能力?;谟卸綄C器學習的網(wǎng)絡流量識別分類訓練過程如圖1所示[8]。
圖1 基于有督導機器學習的網(wǎng)絡流量識別分類訓練過程
基于有督導機器學習的網(wǎng)絡流量分類識別方法種類繁多。其中最小二乘支持向量機法因其具有較好的魯棒性和實用性能,得了比較廣泛的應用。最小二乘支持向量機法綜合了神經(jīng)網(wǎng)絡和支持向量機兩種算法的優(yōu)點,摒棄了支持向量機訓練過程復雜、效率低以及神經(jīng)網(wǎng)絡需要大數(shù)據(jù)樣本的缺點。因此最小二乘支持向量機法不僅具有較快的訓練速度,而且具有較強的泛化能力[9]。
但是由于真實網(wǎng)絡環(huán)境中,存在大量干擾噪聲和野值樣本等,嚴重影響了最小二乘支持向量機算法的性能;因此本文提出一種結合協(xié)同量子粒子群優(yōu)化算法和最小二乘支持向量機的網(wǎng)絡流量識別系統(tǒng)。
2 協(xié)同量子粒子群算法
2.1 量子粒子群算法
設粒子群中有[N]個粒子,其中:第[i]個粒子的位置[xi=xi1,xi2,…,xiD;]第[i]個粒子的速度[vi=vi1,vi2,…,viD;]第[i]個粒子的歷史最優(yōu)位置[pi=pi1,pi2,…,piD;]整個粒子群體的歷史最優(yōu)位置是2.2.1 協(xié)同搜索策略
協(xié)同搜索策略的核心思想是,將整個種群分解成多個子群,整個種群使用的是對一個種群進行搜索的策略,而將整個種群分解成多個子群后,能夠成功削弱種群的多樣性在迭代后期降低而產(chǎn)生的早熟問題[11]。
2.2.2 粒子的學習行為
式中:[lcmax]和[lcmin]是學習參數(shù)的最大和最小值;[a]是不小于0的常數(shù)。
協(xié)同量子粒子群算法(簡稱CQPSO),就是使用上面描述的協(xié)同搜索策略的QPSO算法。
2.3 CQPSO?LSSVM的網(wǎng)絡流量識別步驟
步驟1:對網(wǎng)絡流量數(shù)據(jù)進行采集,對數(shù)據(jù)進行處理后,得到網(wǎng)絡流量特征向量。
步驟2:隨機得到[N]個粒子的位置[Xi,]對各個粒子的適應值[fXi]進行計算。
步驟3:將粒子群分成[s]個子群,計算每一個子群適應值的最優(yōu)粒子序號:[k=argmin1≤i≤NsfXsi],那么各個子群的最優(yōu)解為:[pgs=Xsk;][k=argmin1≤i≤sfpgi,][pgpop=pgk,]由基因比率[Rgene]選出子群中適應值最優(yōu)的粒子來組建種群基因庫。
步驟4:對收縮擴張系數(shù)[βt、]子群的[βti1≤i≤s]以及[lc]進行計算,[qi]取決于[lc]與[lrand]關系。
步驟5:對粒子的適應值、子群的[pi、]子群的[pg]以及種群最優(yōu)解[pgpop]進行更新。
步驟6:當?shù)竭_進化的周期后,依據(jù)[Rdead]淘汰子群中劣質粒子,更新種群的基因庫。
步驟7:重復步驟4到步驟6,直到迭代完成。
步驟8:求解[pgpop,]得到網(wǎng)絡流量識別的最優(yōu)特征子集。
步驟9:使用步驟8得到的網(wǎng)絡流量識別的最優(yōu)特征子集建立網(wǎng)絡流量識別模型[12]。
3 實驗分析
3.1 實驗數(shù)據(jù)采集
使用基于Libsvm軟件包的C#程序對網(wǎng)絡流量數(shù)據(jù)進行采集,使用Matlab軟件構建基于PSO?LSSVM、QPSO?LSSVM和CQPSO?LSSVM算法的網(wǎng)絡流量識別模型,對采集的數(shù)據(jù)進行處理。
將采集到的數(shù)據(jù)分為兩組:一組用于對基于三種算法的網(wǎng)絡流量識別模型進行訓練;另一組數(shù)據(jù)測試訓練后的基于三種算法的網(wǎng)絡流量識別模型的識別性能。
3.2 網(wǎng)絡流量分類方法性能評價標準
針對網(wǎng)絡流量識別方法的評價標準,人們通常使用反饋率(recall)、準確率(precision)評估識別方法性能,具體表示為:
[recall=TPTP+FN×100%] (12)
[precision=TPTP+FP×100%] (13)
式中:TP(True Positive)是被系統(tǒng)正確識別的類型A的樣本數(shù)量;FN(False Negative)是未被系統(tǒng)正確識別的類型A的樣本數(shù)量;FP(False Positive)是被系統(tǒng)誤認為是類型A的樣本數(shù)量。
3.3 網(wǎng)絡流量識別流程
基于本文提出的CQPSO?LSSVM網(wǎng)絡流量識別流程如圖2所示[13]。
圖2 網(wǎng)絡流量識別流程
為了研究本文提出的CQPSO算法的優(yōu)化性能,使用QPSO作對比實驗。設定粒子群個數(shù)為20,子群的規(guī)模是5,收縮擴張系數(shù)[β]隨著迭代次數(shù)線性下降,由1.0降至0.5。得到兩種算法在Rosenbrock函數(shù)和Ackley函數(shù)這兩個測試函數(shù)下的性能對比如圖3所示??梢钥闯?,CQPSO算法比QPSO算法具有更快的收斂速度和收斂精度,具有更好的穩(wěn)定性能[14]。
3.4 實驗結果分析
使用本文提出的CQPSO?LSSVM識別算法對實驗數(shù)據(jù)進行識別后,得到表1中各種網(wǎng)絡服務類型與應用的識別準確率和反饋率,見表2。
通過表2的數(shù)據(jù)可以看出,本文研究的CQPSO?LSSVM識別算法對12種類型網(wǎng)絡服務與應用均有較好的識別準確率和反饋率。為了橫向比較本文研究算法的性能,使用基于PSO?LSSVM算法和基于QPSO?LSSVM算法的網(wǎng)絡流量識別系統(tǒng)對同樣的數(shù)據(jù)進行模型訓練和測試,得到了基于三種不同算法的識別系統(tǒng)的識別準確率、反饋率以及識別速度[15?16]。
表2 各個網(wǎng)絡流量類別的準確率與反饋率
[類別\&應用名稱\&反饋率 /%\&準確率 /%\&WWW\&HTTP\&94.9\&95.7\&P2P文件共享\&BitTorrent\&92.9\&93.6\&P2P音頻視頻\&PPlive\&90.1\&91.2\&P2P即時通信\&QQ\&92.3\&92.1\&ATTACK\&Virus\&97.6\&98.1\&GAMES\&Half?life\&95.2\&96.9\&MULTIMEDIA\&Real media player\&86.2\&86.8\&INTERACTIVE\&Telnet\&90.7\&88.8\&DATABASE\&SqLnet\&94.8\&95.1\&BULK\&FTP\&92.5\&90.9\&SERVICES\&DNS\&92.6\&93.9\&MAIL\&Stmp\&98.3\&97.2\&]
圖3 CPSO與CQPSO算法性能對比
CQPSO?LSSVM識別算法的平均識別準確率達到了93.36%,比QPSO?LSSVM算法的平均識別準確率高出5.28%,比PSO?LSSVM算法的平均識別準確率高出10.3%,CQPSO?LSSVM識別算法的平均識別反饋率達到了93.18%,比QPSO?LSSVM算法的平均識別反饋率高出4.32%,比PSO?LSSVM算法的平均識別反饋率高出9.37%??梢哉f明,相比粒子群優(yōu)化算法來說,量子粒子群優(yōu)化算法能夠得到更優(yōu)良的特征子集,因此得到了更好的流量識別效果。另外由于CQPSO?LSSVM識別算法使用了協(xié)同策略,因此避免出現(xiàn)陷入局部最優(yōu)解的情況發(fā)生,因此加快了算法收斂速率,提高了識別準確率[17?18]。
4 結 論
與傳統(tǒng)網(wǎng)絡流量分類方法不同,本文將P2P應用分為三類,即P2P文件共享、P2P音視頻以及P2P即時通信服務,因此本文將網(wǎng)絡流量類型劃分為12個類別進行研究。
將CQPSO算法和QPSO算法在Rosenbrock函數(shù)和Ackley函數(shù)這兩個測試函數(shù)下進行性能測試,結果表明,CQPSO算法比QPSO算法具有更快的收斂速度和收斂精度,具有更好的穩(wěn)定性能。
將本文提出的基于CQPSO?LSSVM算法與基于PSO?LSSVM算法和基于QPSO?LSSVM算法在相同網(wǎng)絡環(huán)境下,使用相同數(shù)據(jù)進行性能測試對比。結果表明基于CQPSO?LSSVM算法具有更快的識別速度以及更好的識別準確率,避免了出現(xiàn)陷入局部最優(yōu)解的情況發(fā)生。
參考文獻
[1] 王濤,余順爭.基于機器學習的網(wǎng)絡流量分類研究進展[J].小型微型計算機系統(tǒng),2012(5):1034?1040.
[2] 鄧河.基于機器學習方法的網(wǎng)絡流量分類研究[D].株洲:湖南工業(yè)大學,2009.
[3] 楊飛虎.特征選擇算法及其在網(wǎng)絡流量識別中的應用研究[D].南京:南京郵電大學,2012.
[4] 楊宜辰.基于機器學習的網(wǎng)絡流量分類技術研究與應用[D].淮南:安徽理工大學,2014.
[5] 儲慧琳,張興明.一種組合式特征選擇算法及其在網(wǎng)絡流量識別中的應用[J].小型微型計算機系統(tǒng),2012(2):325?329.
[6] 陶維天.基于校園網(wǎng)的網(wǎng)絡流量監(jiān)控技術研究與應用[D].蘭州:蘭州大學,2010.
[7] 王程.網(wǎng)絡流量識別分析系統(tǒng)的設計與實現(xiàn)[D].長春:吉林大學,2014.
[8] 許孟晉.基于機器學習的網(wǎng)絡流量分類系統(tǒng)研究與實現(xiàn)[D].長沙:國防科學技術大學,2010.
[9] 顧成杰,張順頤.基于改進SVM的網(wǎng)絡流量分類方法研究[J].儀器儀表學報,2011(7):1507?1513.
[10] 楊子江.基于混沌量子粒子群算法的流水線調(diào)度[D].上海:華東理工大學,2013.
[11] 胡天騏,單劍鋒,宋曉濤.基于改進PSO?LSSVM的模擬電路診斷方法[J].計算機技術與發(fā)展,2015(6):193?196.
[12] 孟凡兵,彭順堂,陳華.一種QPSO優(yōu)化SVM的模擬電路故障診斷方法[J].計算機與數(shù)字工程,2015(6):1149?1151.
[13] 朱大奇,袁義麗,鄧志剛.水下機器人參數(shù)辨識的量子粒子群算法[J].控制工程,2015(3):531?537.
[14] 陳善學,楊政,朱江,等.一種基于累加PSO?SVM的網(wǎng)絡安全態(tài)勢預測模型[J].計算機應用研究,2015(6):1778?1781.
[15] 劉麗霞.基于小波理論與LSSVM的模擬集成電路故障診斷方法[D].西安:西安電子科技大學,2011.
[16] 黃麗,孫玉坤,嵇小輔,等.基于CPSO與LSSVM融合的發(fā)酵過程軟測量建模[J].儀器儀表學報,2011(9):2066?2070.
[17] 劉俊美.網(wǎng)絡流量統(tǒng)計分析系統(tǒng)的設計與實現(xiàn)[D].大連:大連理工大學,2013.
[18] 胡婷.基于神經(jīng)網(wǎng)絡的網(wǎng)絡流量分類方法研究[D].桂林:桂林電子科技大學,2011.