邢玉凤++毛艳琼
摘 要: 针对真实网络环境中存在大量干扰噪声和野值样本等严重影响最小二乘支持向量机算法的性能等问题,提出一种结合协同量子粒子群优化算法和最小二乘支持向量机的网络流量识别系统。将网络流量分为12个类型,并进行数据采集。使用采集的数据对网络流量识别系统进行训练和性能测试。为研究提出的基于CQPSO?LSSVM算法的性能,将其与基于CQPSO?LSSVM算法和基于PSO?LSSVM算法进行对比,结果表明基于CQPSO?LSSVM算法具有更快的识别速度以及更好的识别准确率,避免了出现陷入局部最优解的情况发生。
关键词: 有督导机器学习; 网络流量识别; LSSVM; 协同量子粒子群优化算法
中图分类号: 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 引 言
随着随着互联网技术的不断发展壮大,不断涌现出各种各样的网络服务和应用类型,这对互联网管理提出了更高的要求,同时网络安全问题日益严重,对网络流量进行实时有效的检测,具有非常重要的意义[1?2]。
传统对网络流量进行分类识别的方式手段主要有:基于端口识别技术的网络流量分类识别方法;基于数据包载荷内容的网络流量分类识别方法。传统网络流量分类识别方法虽然具有算法简单、效率高等优点,但是由于其自身局限性已经不再适用于当今复杂多样互联网服务类型和应用。
现在应用比较广泛的网络流量分类识别方法主要有:基于统计特征的网络流量分类识别方法;基于有督导机器学习的网络流量分类识别方法;基于无督导机器学习的网络流量分类识别方法。有督导机器学习算法又分为基于贝叶斯算法、基于决策树算法和基于支持向量机算法以及基于神经网络算法等;无督导机器学习算法又分为基于模型方法、基于密度方法以及基于划分方法等[3?6]。
1 网络流量识别系统
1.1 网络流量分类
近年来,P2P技术已经得到了非常广泛的应用,P2P应用类型也随着其服务类型的增长而增长,因此,过去文献在对网络流量识别进行研究时,通常将网络流量类型分为10个类型。本文根据P2P服务类型将三种常用应用类型分别考虑,即分为P2P文件共享、音视频以及即时通信应用服务。因此,本文对网络流量类型划分为12个类型,如表1所示[7]。
1.2 基于机器学习的网络流量识别分类方法
机器学习方法已经得了非常成熟广泛的发展,将机器学习应用于网络流量识别技术,能够有效提高网络流量识别系统的识别率以及识别速度。机器学习通常分为两种,即有督导机器学习和无督导机器学习。相比无督导机器学习来说,基于有督导机器学习的网络流量识别系统具有更好的识别性能。
基于有督导机器学习的网络流量分类识别方法一般通过大规模已知类别的网络流量会话流样本数据对识别系统进行训练,使得系统具有较强的泛化能力。基于有督导机器学习的网络流量识别分类训练过程如图1所示[8]。
图1 基于有督导机器学习的网络流量识别分类训练过程
基于有督导机器学习的网络流量分类识别方法种类繁多。其中最小二乘支持向量机法因其具有较好的鲁棒性和实用性能,得了比较广泛的应用。最小二乘支持向量机法综合了神经网络和支持向量机两种算法的优点,摒弃了支持向量机训练过程复杂、效率低以及神经网络需要大数据样本的缺点。因此最小二乘支持向量机法不仅具有较快的训练速度,而且具有较强的泛化能力[9]。
但是由于真实网络环境中,存在大量干扰噪声和野值样本等,严重影响了最小二乘支持向量机算法的性能;因此本文提出一种结合协同量子粒子群优化算法和最小二乘支持向量机的网络流量识别系统。
2 协同量子粒子群算法
2.1 量子粒子群算法
设粒子群中有[N]个粒子,其中:第[i]个粒子的位置[xi=xi1,xi2,…,xiD;]第[i]个粒子的速度[vi=vi1,vi2,…,viD;]第[i]个粒子的历史最优位置[pi=pi1,pi2,…,piD;]整个粒子群体的历史最优位置是2.2.1 协同搜索策略
协同搜索策略的核心思想是,将整个种群分解成多个子群,整个种群使用的是对一个种群进行搜索的策略,而将整个种群分解成多个子群后,能够成功削弱种群的多样性在迭代后期降低而产生的早熟问题[11]。
2.2.2 粒子的学习行为
式中:[lcmax]和[lcmin]是学习参数的最大和最小值;[a]是不小于0的常数。
协同量子粒子群算法(简称CQPSO),就是使用上面描述的协同搜索策略的QPSO算法。
2.3 CQPSO?LSSVM的网络流量识别步骤
步骤1:对网络流量数据进行采集,对数据进行处理后,得到网络流量特征向量。
步骤2:随机得到[N]个粒子的位置[Xi,]对各个粒子的适应值[fXi]进行计算。
步骤3:将粒子群分成[s]个子群,计算每一个子群适应值的最优粒子序号:[k=argmin1≤i≤NsfXsi],那么各个子群的最优解为:[pgs=Xsk;][k=argmin1≤i≤sfpgi,][pgpop=pgk,]由基因比率[Rgene]选出子群中适应值最优的粒子来组建种群基因库。
步骤4:对收缩扩张系数[βt、]子群的[βti1≤i≤s]以及[lc]进行计算,[qi]取决于[lc]与[lrand]关系。
步骤5:对粒子的适应值、子群的[pi、]子群的[pg]以及种群最优解[pgpop]进行更新。
步骤6:当到达进化的周期后,依据[Rdead]淘汰子群中劣质粒子,更新种群的基因库。
步骤7:重复步骤4到步骤6,直到迭代完成。
步骤8:求解[pgpop,]得到网络流量识别的最优特征子集。
步骤9:使用步骤8得到的网络流量识别的最优特征子集建立网络流量识别模型[12]。
3 实验分析
3.1 实验数据采集
使用基于Libsvm软件包的C#程序对网络流量数据进行采集,使用Matlab软件构建基于PSO?LSSVM、QPSO?LSSVM和CQPSO?LSSVM算法的网络流量识别模型,对采集的数据进行处理。
将采集到的数据分为两组:一组用于对基于三种算法的网络流量识别模型进行训练;另一组数据测试训练后的基于三种算法的网络流量识别模型的识别性能。
3.2 网络流量分类方法性能评价标准
针对网络流量识别方法的评价标准,人们通常使用反馈率(recall)、准确率(precision)评估识别方法性能,具体表示为:
[recall=TPTP+FN×100%] (12)
[precision=TPTP+FP×100%] (13)
式中:TP(True Positive)是被系统正确识别的类型A的样本数量;FN(False Negative)是未被系统正确识别的类型A的样本数量;FP(False Positive)是被系统误认为是类型A的样本数量。
3.3 网络流量识别流程
基于本文提出的CQPSO?LSSVM网络流量识别流程如图2所示[13]。
图2 网络流量识别流程
为了研究本文提出的CQPSO算法的优化性能,使用QPSO作对比实验。设定粒子群个数为20,子群的规模是5,收缩扩张系数[β]随着迭代次数线性下降,由1.0降至0.5。得到两种算法在Rosenbrock函数和Ackley函数这两个测试函数下的性能对比如图3所示。可以看出,CQPSO算法比QPSO算法具有更快的收敛速度和收敛精度,具有更好的稳定性能[14]。
3.4 实验结果分析
使用本文提出的CQPSO?LSSVM识别算法对实验数据进行识别后,得到表1中各种网络服务类型与应用的识别准确率和反馈率,见表2。
通过表2的数据可以看出,本文研究的CQPSO?LSSVM识别算法对12种类型网络服务与应用均有较好的识别准确率和反馈率。为了横向比较本文研究算法的性能,使用基于PSO?LSSVM算法和基于QPSO?LSSVM算法的网络流量识别系统对同样的数据进行模型训练和测试,得到了基于三种不同算法的识别系统的识别准确率、反馈率以及识别速度[15?16]。
表2 各个网络流量类别的准确率与反馈率
[类别\&应用名称\&反馈率 /%\&准确率 /%\&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%。可以说明,相比粒子群优化算法来说,量子粒子群优化算法能够得到更优良的特征子集,因此得到了更好的流量识别效果。另外由于CQPSO?LSSVM识别算法使用了协同策略,因此避免出现陷入局部最优解的情况发生,因此加快了算法收敛速率,提高了识别准确率[17?18]。
4 结 论
与传统网络流量分类方法不同,本文将P2P应用分为三类,即P2P文件共享、P2P音视频以及P2P即时通信服务,因此本文将网络流量类型划分为12个类别进行研究。
将CQPSO算法和QPSO算法在Rosenbrock函数和Ackley函数这两个测试函数下进行性能测试,结果表明,CQPSO算法比QPSO算法具有更快的收敛速度和收敛精度,具有更好的稳定性能。
将本文提出的基于CQPSO?LSSVM算法与基于PSO?LSSVM算法和基于QPSO?LSSVM算法在相同网络环境下,使用相同数据进行性能测试对比。结果表明基于CQPSO?LSSVM算法具有更快的识别速度以及更好的识别准确率,避免了出现陷入局部最优解的情况发生。
参考文献
[1] 王涛,余顺争.基于机器学习的网络流量分类研究进展[J].小型微型计算机系统,2012(5):1034?1040.
[2] 邓河.基于机器学习方法的网络流量分类研究[D].株洲:湖南工业大学,2009.
[3] 杨飞虎.特征选择算法及其在网络流量识别中的应用研究[D].南京:南京邮电大学,2012.
[4] 杨宜辰.基于机器学习的网络流量分类技术研究与应用[D].淮南:安徽理工大学,2014.
[5] 储慧琳,张兴明.一种组合式特征选择算法及其在网络流量识别中的应用[J].小型微型计算机系统,2012(2):325?329.
[6] 陶维天.基于校园网的网络流量监控技术研究与应用[D].兰州:兰州大学,2010.
[7] 王程.网络流量识别分析系统的设计与实现[D].长春:吉林大学,2014.
[8] 许孟晋.基于机器学习的网络流量分类系统研究与实现[D].长沙:国防科学技术大学,2010.
[9] 顾成杰,张顺颐.基于改进SVM的网络流量分类方法研究[J].仪器仪表学报,2011(7):1507?1513.
[10] 杨子江.基于混沌量子粒子群算法的流水线调度[D].上海:华东理工大学,2013.
[11] 胡天骐,单剑锋,宋晓涛.基于改进PSO?LSSVM的模拟电路诊断方法[J].计算机技术与发展,2015(6):193?196.
[12] 孟凡兵,彭顺堂,陈华.一种QPSO优化SVM的模拟电路故障诊断方法[J].计算机与数字工程,2015(6):1149?1151.
[13] 朱大奇,袁义丽,邓志刚.水下机器人参数辨识的量子粒子群算法[J].控制工程,2015(3):531?537.
[14] 陈善学,杨政,朱江,等.一种基于累加PSO?SVM的网络安全态势预测模型[J].计算机应用研究,2015(6):1778?1781.
[15] 刘丽霞.基于小波理论与LSSVM的模拟集成电路故障诊断方法[D].西安:西安电子科技大学,2011.
[16] 黄丽,孙玉坤,嵇小辅,等.基于CPSO与LSSVM融合的发酵过程软测量建模[J].仪器仪表学报,2011(9):2066?2070.
[17] 刘俊美.网络流量统计分析系统的设计与实现[D].大连:大连理工大学,2013.
[18] 胡婷.基于神经网络的网络流量分类方法研究[D].桂林:桂林电子科技大学,2011.