DE-LSSVM网络流量多分类方法

2020-01-07 10:43徐轩姜志侠刘雪亚
关键词:网络流量方根向量

徐轩,姜志侠,刘雪亚

(长春理工大学 理学院,长春 130022)

随着互联网的高速发展,急剧增加的网络流量数据使得网民的上网体验变差,恶意的网络攻击更是威胁着网民的隐私安全。网络流量分类技术是一种根据流量数据的应用协议对网络流量进行分类的技术,它不仅能帮助网络运营商对网络进行有效管理,改善用户体验,也能对网络安全进行检测,从而避免用户隐私泄露。因此,准确有效的对网络流量数据进行分类对人们的生活具有重大的实际意义[1]。

目前,最流行的网络流量分类技术是基于机器学习的方法。在机器学习方法中,支持向量机[2-3](Support Vector Machine,SVM)以其坚实的理论基础和良好的泛化能力深受广大学者青睐。最小二乘支持向量机(Least Squares Support Vector Machine,LSSSVM)是标准SVM的一种改进形式,它以最小二乘线性系统作为损失函数,将标准支持向量机中求解二次规划问题转化为解一组线性方程组的问题,从而加快了模型的求解速度。因此,其被广泛应用于解决非线性和高维模式识别问题中。然而实践证明,SVM中参数的选取严重影响其性能的好坏。如何对SVM中的参数进行合理的选取,依然是学者们关注的重点。例如:王春枝等人[4]利用人工蜂群算法对网络数据中的特征选择问题和支持向量机的参数选择问题进行组合优化,进而提高了支持向量机分类器在网络流量分类中的整体性能;熊凡[5-6]提出利用遗传算法优化支持向量机参数的方法,并利用具有最优参数的支持向量机模型对重构后的网络流量数据进行预测,结果表明该方法不仅训练时间短,而且预测精度高;刘春茂等人[7]将粒子群算法和支持向量机结合,对重构后的网络流量数据进行预测,对比时间序列模型和BP神经网络模型,该方法更能反映网络流量的变化趋势;田海梅[8]提出一种蚁群算法与最小二乘支持向量机结合的网络流量方法,该方法采用随机抽取的方法来引导蚁群进行全局搜索,在局部搜索时对最优蚂蚁邻域内进行小步长搜索,与时间序列模型和GA-LSSVM进行比较,ACO-LSSVM算法提高了网络流量预测精度。以上方法,均采用智能优化算法对支持向量机参数进行动态调节,从而选取最优参数进行分类器的构建。但是这些算法原理和思想比较复杂,控制参数较多,导致实现过程较为艰难。如遗传算法编程艰难且参数居多、蚁群算法搜索时间长、粒子群算法易陷入局部最优等。差分进化算法(Differential Evolution,DE)是一种新兴的进化计算技术[9]。它不仅便于理解与编程,而且具有良好的全局寻优能力。它继承了遗传算法中基于种群的全局搜索策略,采用实数编码、基于差分的简单变异操作和“一对一”的竞争生存策略,降低了进化计算操作的复杂性。将DE算法的全局寻优能力和LSSVM快速求解能力结合,建立分类模型,并将该模型应用于网络流量分类中,实验结果显示,该算法具有更快的收敛速度。

1 LSSVM模型

LSSVM是把标准SVM中的不等式约束转化为等式约束,从而加快了模型的求解速度,因此被广泛地应用于网络流量分类,故障诊断等问题中,并取得了较好的实践效果[10]。

针对二分类问题,设样本集X=[x1,x2,…,xn]T和标签集Y∈{-1,1},LSSVM分类模型构造主要思想如下:

其中,w是权重系数;β是惩罚参数;ζk是松弛因子;φ(xk)为非线性映射函数。

通过拉格朗日函数和KKT条件,可得到如下方程组:

其中,Y=[y1,…,yn]T;θi,j=yiyjφ(xi)Tφ(xj)(i,j=1,…,n);α=[α1,…,αn]T;I是n阶单位矩阵;Ln=[1,…,1]T。

对式(3)进行求解后,得到LSSVM的决策函数:

选取径向基核函数作为LSSVM核函数,具体形式如下:

其中,σ为径向基宽度。由此式(4)可改写为

2 DE算法对LSSVM参数选取

对于LSSVM模型,在确定径向基函数为核函数后,LSSVM模型需要优化的参数有两个:惩罚参数β和核函数参数σ。前者决定了训练误差的大小,后者影响着样本在高维特征空间中分布的复杂程度。由此可见,在构建LSSVM模型时,对这两个参数进行选取对分类器的泛化能力起着决定性的作用。

2.1 DE算法的基本思想

DE算法是由Storn等人于1995年提出的一种基于群体智能理论的优化算法,其基本思想是,在当前进化代数中对种群个体进行变异操作、交叉操作和选择操作,进而产生下一代种群的过程[11-12]。

设xi,G(i=1,2,…,NP)为初始种群,i表示个体在种群中的位置,G表示进化代数,NP表示种群规模。

(1)变异操作:从种群中随机产生两个不同个体,对第G代中的最优个体按式(7)进行变异操作,产生第G+1代新的个体向量vi,G+1:

其中,r1,r2∈{1,2.…,NP}是互不相同且与序号i不同的随机数;xbest,G表示第G代中的最优个体;B为变异算子。

(2)交叉操作:对新个体向量vi,G+1按式(8)进行维度之间的交叉操作,产生实验向量ui,G+1:

其中,uij,G+1是第G+1代中第i个个体的第j个分量;CR为交叉算子;D为种群的维数;rij∈[0,1]是随机数。

(3)选择操作:通过式(9)对实验向量进行保留:

其中,f是适应度函数。

DE算法中变异算子过大或过小将严重影响算法的求解精度和收敛速度,通过引入自适应因子,来降低变异算子所造成的不良影响。定义如下:

其中,B0是初始变异算子;Gm表示最大进化代数。

2.2 基于DE算法的LSSVM参数选取

在采用DE算法优化LSSVM参数时,适应度函数的构建至关重要,为了客观地评价LSSVM多分类模型中参数的好坏,选择能很好的衡量观测值和真值之间偏差的均方根误差(Root Mean Squared Error,RMSE)作为优化算法的适应度函数,定义如下:

其中,n为预测样本总个数;yi是第i个样本的真实值;y͂i是第i个样本的预测值。

DELSSVM模型的基本思想是以DE算法作为优化算法,以LSSVM作为分类模型,将优化算法和分类模型结合得到一种交替结构,即:以分类模型的分类结果作为优化算法的适应度函数,优化得到更优的模型参数,以此参数进行模型的再构建,再分类,再优化,循环交替,使分类结果最好。

具体步骤如下:

(1)初始化参数:设置种群个体数目NP、最大进化代数Gm、种群维度D、变异算子F0、交叉算子CR、误差精度ε和初代模型参数 (β0,σ0),并令g=0。

(2)模型构建和计算适应度值:以参数(β0i,σ0i),i=1,…,NP,构建分类模型,并通过预测样本计算适应度值f0,得到种群中的最优值f0∗和所对应的参数。

(3)判定终止条件:判断f0∗是否达到误差精度ε或g=Gm。若满足其一,则转到步骤(8),否则继续执行。

(4)迭代循环:g=g+1。

(5)变异操作:按式(7)对当前最优个体进行变异操作,产生新的个体向量vi,g。

(6)交叉操作:按式(8)判断第i个个体向量中的第j个分量是否进行交叉操作,产生实验向量ui,g。

(7)选择操作:令 (β0i,σ0i)=ui,g构建分类器,返回步骤(2),计算适应度函数值fu,并按式(9)对每个个体向量进行选择,同时更新最优个体和最优值。

(8)输出最优值:得到最优个体向量即最优参数。

3 实验结果与分析

本次实验使用Moore数据库中的网络流量数据集进行模拟,该数据库包含10组数据子集,每组数据子集包含248个特征向量,文献[13]对该数据中的特征进行了有效的提取,提取出6个主要的特征,本次实验采用文献[13]中提到的6个特征和其中4个数据集进行,4个数据集分别为:entry01,entry02,entry04,entry08。同时,对类别标签进行标号,如:email=1,www=2等。表1显示了数据集及其大小。

表1 数据集及大小

LSSVM原本是解决二分类问题的,而现实问题中避免不了对多类别数据进行分类的情况,SVM实现多分类的方法一般有三种:一对多法,一对一法和层次支持向量机[14]。由于Moore数据类别数较少,故本次实验采用一对一方法,该方法将每两类作为训练样本,构建分类器。实验环境为windows10 Intel Core i7-8700K CPU 3.70GHz 16GB 64位操作系统,利用MATLAB2016b进行编程。初始化DE参数:NP=100;D=2;ε=0.001;Gm=50;F=0.5;β,σ∈[2^(-8),2^8],CR=0.5*(1+rand(0,1))。GA中交叉概率Pc=0.8;变异概率Pm=0.2。PSO中wmax=0.8;wmin=0.4;c1=c2=1.5;vmax=4;vmin=-4。ACO中信息素蒸发系数和转移概率分别为Rho=0.8,P0=0.2。表2和表3分别显示了各智能优化算法寻找到的最优参数以及对应的均方根误差。图1展示了entry01数据集在各优化算法下的寻优过程。

表2 各智能优化算法选取的参数

表3 最优参数下对应的RMSE

通过表3,在entry01数据集中DE算法和PSO算法的均方根误差相同,且明显低于GA和ACO算法;通过图1能看出这四种算法对LSSVM参数进行选取的时候,DE算法比PSO算法具有更快的收敛速度。从整体上来看,DE-LSSVM对网络流量分类后得到的均方根误差明显小于其它几种算法,使得LSSVM分类模型的性能得到了明显的提升。

为了充分比较DE算法优化后的LSSVM对网络流量数据分类的性能,采用文献[15]中提到的四种分类性能评价指标,分别是均方根误差(RMSE)、F1指数(Fscore)、精确度(precision)、召回率(recall)。以entry01为例,优化后的LSSVM(DE行表示)和未优化参数(β=1,σ=0.5)的LSSVM模型(Default行表示)分别对网络流量数据进行模拟,结果如表4所示,其中class1-class6表示类别,Mean表示所有类别的平均值。

从表4中可以看出经过DE算法优化后的模型无论是F1指数还是均方根误差都得到了改善,对于单个类别的精度和召回率也具有一定程度的提升。

图1 适应度函数随进化代数变化曲线

4 结论

针对网络流量分类问题,通过具有自适应因子的DE算法对LSSVM构建的多分类模型进行参数优化,减少了分类模型参数选取的盲目性,降低了网络流量分类中的均方根误差。通过与其它算法的比较,能看出对于网络流量分类问题,DE算法对分类模型参数的选取上,具有更快的收敛速度和更低的均方根误差。但是依然存在以下两方面问题:

表4 参数优化前后各分类指标

(1)虽然DE算法收敛速度快,操作简单,易于实现,但是算法后期个体差异逐渐缩小,容易陷入局部最优。

(2)对于大规模训练样本,LSSVM需要消耗大量的计算内存。

如何有效的改善DE算法后期的全局寻优能力和增强LSSVM对大规模数据的处理能力,依然是未来的研究热点。

猜你喜欢
网络流量方根向量
基于多元高斯分布的网络流量异常识别方法
大数据驱动和分析的舰船通信网络流量智能估计
向量的分解
聚焦“向量与三角”创新题
我们爱把马鲛鱼叫鰆鯃
AVB网络流量整形帧模型端到端延迟计算
均方根嵌入式容积粒子PHD 多目标跟踪方法
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
数学魔术——神奇的速算