APP下载

一种基于差分进化的BP神经网络学习算法

2011-09-19王晓敏刘宏伟李石妍

电子设计工程 2011年15期
关键词:网络流量差分向量

王晓敏,刘宏伟,李石妍

(河北工程大学 机电工程学院,河北 邯郸 056038)

随着计算机网络的快速发展,网络应用已经深入到生活的各个角落。必须加强多网络的研究,以缓解网络发展与网络应用不相适应的矛盾。除了提高硬件技术来解决矛盾,加强网络流量研究是急需解决的工程。新一代网络管理的核心包括网络业务管理及其支持的QoS、优化网络配置和流量工程、有效提高网络运行速度和利用率,其中网络流量预测是业务管理的关键问题。20世纪70年代,网络业务性能单一,人们主要基于泊松过程,指数分布等建立模型来进行网络流量的预测。90年代初期,leland等证实了局域网流量中存在自相似性[1],paxson等证明了WWW广域网流量的自相似性和突发性[2]。学者开始使用自相似性模型进行网络流量的预测研究。网络流量预测的精确性、实时性直接关系到业务管理的效率和性能。目前BP神经网络是应用最为广泛的神经网络之一。BP神经网络结构简单、可塑性强,然而它却存在易陷入局部收敛和收敛速度慢等特点[3]。差分进化(Differential Evolution,DE)算法[4]有很强的全局最优能力,不需借助问题的特征信息,并且收敛速度很快,本文利用改进的DE算法弥补BP的不足,进行网络流量预测研究。

1 BP神经网络模型

1.1 BP神经网络

BP(Back Propagtion)神经网络由 Rumelhart,McClelland于1985年最早提出,实现了Minsky的多层网络设想。BP神经网络学习算法是一种多层网络的“逆推”学习算法。基本思想是,学习过程由信号的正向传播和学习逆向反馈组成。BP神经网络的非线性拟合能力强,精度高,并且算法简单易懂,应用广泛。但BP神经网络存在局限。国内外学者针对BP神经网络的不足进行改进。

1.2 BP神经网络的标准学习算法

BP神经网络的学习算法如下:步骤1:网络初始化。Xk(k=1,2,...,N)为输入向量。N为训练样本的个数。WMI(n)为第 n次迭代时输入层与隐含层I之间的权值向量。WIJ(n)为第n次迭代时隐含层I与输出层之间的权值。YK(n)为第n次迭代时网络的实际输出。 dK为期望输出;步骤 2:给 WMI(n),WIJ(n)各一个较小的随机非零值,n=0;步骤3:随机输入样本Xk;步骤4:对输入样本Xk前向计算BP神经网络每层神经元的输入信号u和输出信号v;步骤5:由期望输出dk和上一步求得的实际输出YK(n)计算误差E(n)判断其是否满足要求,若满足转至步骤8,不满足转至步骤6;步骤6:判断n+1是否大于最大迭代次数,若大于转至步骤8,若不大于,对输入样本Xk,反向计算每层神经元的局部梯度δ;步骤7:计算权值修正量Δw,并修正权值;n=n+1,转至步骤4;步骤8:判断是否学习完所有的训练样本,是则结束,否则转步骤3。

2 差分进化算法

差分进化是一种新颖的进化计算方法,最初的设想是解决切比雪夫多项式问题,后来发现差分进化解决复杂优化问题的优越性,并已应用与多个学科和工程领域[5-6]。它从当前种群中提取差分信息,然后指导进一步搜索,不需要借助问题的特征信息,具有较强的全局收敛能力和鲁棒性。

2.1 差分进化算法的基本步骤

步骤4:交叉。为了增加干扰参数向量的多言性,引入交叉操作。向量变为(i=1,2,...,NP;j=1,2,...,D)

步骤 6:G=G+1,重复步骤 2到步骤 5,直到满足算法的终止条件或G>Gmax。以上是最基本的DE操作程序。

2.2 差分进化算法的其他形式

实际应用中还发展了差分进化的几个变形形式,并用符号DE/x/y/z加以区分,其中:x限定当前被变异的向量是 “随机的”或“最佳的”;y是所利用的差向量的个数;z指示交叉程序的操作方法。

式中,ri为随机整数,表示个体在种群中的序号,r1、r2、r3、r4和r5互不相同。

2.3 控制参数的选择

控制参数对一个全局优化算法的影响很大,差分进化的控制变量选择也有一些经验规则[7]。

1)种群数量 种群数量NP的合理选择在5D~10D之间,必须满足NP≥4以确保DE具有足够的不同的变异向量。

2)变异算子 变异算子F∈[0,2]是一个实常数因数,它决定偏差向量的放大比例。研究表明,小于0.4和大于1的,值仅偶尔有效,F=0.5通常是一个较好的初始选择。若种群过早收敛,那么F或NP应该增加。

3)交叉算子 交叉算子CR是一个在[0,1]的实数,它控制着一个试验向量参数来自于随机选择的变异向量而不是原来向量的概率。CR的一个较好的选择是0.1,但较大的CR通常加速收敛,为了看是否可能获得一个快速解,可以首先尝试CR=0.9或 CR=1.0。

4)最大进化代数 它表示遗传算法运行结束条件的一个参数,表示差分进化算法运行到指定的进化代数之后就停止运行,并将当前群体中的最佳个体作为所求问题的最优解输出。一般取值范围为100~200。

5)终止条件 除最大进化代数可作为差分进化的终止条件,还需要其他判定准则。一般当目标函数值小于阀值时程序终止,阀值常选为10-6。上述参数中F,CR与NP一样,在搜索过程中是常数,一般F和CR影响搜索过程的收敛速度和鲁棒性,它们的优化值不仅依赖于目标函数的特性,还与NP有关。通常可通过在对不同值做一些试验之后利用试验和结果误差找到F,CR和A的合适值。

3 网络流量预测方法

差分进化算法在搜索过程中F取一个0到2之间的固定实数,F不好确定成了差分进化的一个缺点。若取值太大,最优解易遭到破坏,求出最优解的概率下降。若取值太小,种群的多样性低,出现“早熟”收敛现象。本文采用变化的变异因子F。

其中gmax为最大迭代次数,g为当前进化代数,a的取值在 0.2~0.6之间。本文设计的差分进化的BP网络学习算法,其伪代码如下:步骤1:初始化BP网络隐层神经元个数s、最大迭代次数Nmax、群体数目N、交叉概率CR、变异因子F。

步骤3:把最优参向量XG作为BP网络最佳连接权值。

步骤4:BP神经网络前项传播,进行预测,计算误差。

4 实验与结果分析

本 文 把 http://newsfeed -0.progon.net/innreport/收 集 的2006年3月1日到3月16日共16天的访问流量,作为本文的数据源与流量文库。其中,3月1日到3月15日的数据作为训练数据;3月16日的数据作为预测数据。数据做归一化处理,归一化公式如下:

BP神经网络的输入层为5个节点,隐含层为10个节点,输出层为1个节点。训练是把5日每小时的流量作为输入,第6日的流量作为期望输出。当训练完成。最终预测3月16日全天流量数据。

为了验证基于改进的差分进化的训练BP神经网络预测的有效性。笔者做了3个实验。实验1采用BP神经网络作为模型;实验2采用差分进化训练BP神经网络作为模型;实验3采用改进的差分进化训练BP神经网络作为模型。在3次试验中,目标误差均为0.001,训练的最大迭代次数为20000次,实验结果如图 1,2,3所示。

从图1~3可以看出:图1采用BP神经网络作为模型的误差收敛,其最终误差比较大;图2采用差分进化训练BP神经网络模型误差,其最终误差比较小;图3采用本文改进的差分进化训练BP神经网络模型误差,其最终误差最小。另外,改进的差分进化精度提高很多,但是收敛速度比差分进化训练BP神经网络模型的稍微慢一些。

5 结束语

本文使用一种改进差分进化算法来训练BP神经网络,弥补了BP神经网络易陷入局部收敛和收敛速度慢的不足。实验结果表明,本文方法能得到较高的网络流量预测精度,具有较好的应用价值。

图1 BP神经网络模型误差Fig.1 Model error of BP neural network

图2 差分进化训练BP神经网络模型误差Fig.2 Model error of BP neural network with differential evolution training

图3 改进的差分进化训练BP神经网络模型误差Fig.3 Model error of BP neural network with novel differential evolution training

[1]Leland,Taqqu M S,Willinger W,et al.On the self-similar nature of ethernet traffic (extended version)[J].IEEE Trans on Networking,2009,32(3):1-15.

[2]Paxson V,Fbyd S.Wide-area traffic:the failure of Poisson.modeIing[J].IEEE/ACM Transaction on Networking,2009,32(5):226-244.

[3]高隽.人工神经网络原理及仿真实例[M].北京:机械工业出版社,2009.

[4]Price K,Storn R,Lampinen J.Differential evolution:a practical approach to global optimization[M].Berlin:Springer,2005.

[5]MAYER D G,KINGHORN B P,ARCHER A A.Differential evolution:an easy and efficient evolutionary algorithm for model optimisation[J].Agricultural Systems,2004,83 (5):315-328.

[6]姚峰,杨卫东,张明.改进自适应变空间差分进化算法[J].控制理论与应用,2010,27(1):32-38.

YAO Feng,YANG Wei-dong,ZHANG Ming.Improved spaceadaptive-based differential evolution algorithm [J].Control Theory&Applications,2010,27(1):32-38.

[7]周艳平,顾幸生.差分进化算法研究进展[J].化工自动化及仪表,2007,34(3):12-19.

ZHOU Yan-ping,GU Xing-sheng.Development of differential evolution algorithm[J].Control and Instruments in Chemical Industry,2007,34(3):12-19.

猜你喜欢

网络流量差分向量
RLW-KdV方程的紧致有限差分格式
基于多元高斯分布的网络流量异常识别方法
向量的分解
数列与差分
基于神经网络的P2P流量识别方法
聚焦“向量与三角”创新题
AVB网络流量整形帧模型端到端延迟计算
向量垂直在解析几何中的应用
向量五种“变身” 玩转圆锥曲线
基于差分隐私的大数据隐私保护