基于改进BP神经网络的路由器流量预测方法*
2018-08-03任师涛史志才钟亚洲陈珊珊陈计伟
任师涛, 史志才, 吴 飞, 钟亚洲, 陈珊珊, 陈计伟
(上海工程技术大学 电子电气工程学院,上海 201620)
0 引 言
路由器节能的方法有很多种,但一些方法可能会增加额外开销。现阶段,很多研究都在寻求一种更加有效的流量预测方案,也提出了一些常用的预测方法。文献[1]提出卡尔曼滤波模型是一个可以预测实时动态数据的模型,但路由器流量具有很大的有随机性和突发性,模型量化能力差,并不是有效的网络流量预测方法。文献[2]提出反向传播(back propagation,BP)神经网络模型能够较好克服网络流量的非线性和不确定性因素,但传统BP神经网络并不能解决网络流量的多尺度性和突发性,因此需要对传统BP神经网络模型进行改进以提高预测精度[3~5]。
本文提出了一种加入学习率自适应算法的BP神经网络流量预测方法,为一种非常智能且效率很高的路由器节能方法。该策略通过感知用户的相关参数,通过BP神经网络模型对参数进行预测处理,输出的结果为路由器发射功率的调节提供依据[6~10]。本文进行大量实验,并与其他方法详细对比,结果表明:在加入学利率自适应算法之后,BP神经网络在学习过程中误差下降很快,且容易编程实现,提高了BP神经网络的训练速度和预测精度。
1 网络流量预测原理
网络流量预测就是通过总结过去时间的流量特征,从而推算出未来时间点的流量特征。对模型的预测精度要求较高。可以用如式(1)函数表示,一般原理如图1所示。
(1)
图1 网络流量预测原理
2 传统BP神经网络模型的建立
2.1 BP神经网络参数的选择
1)输入层节点数确定方法。主要根据数据流的维数决定输入层的节点个数。选择维数时,要根据所要描述的输入流的特征是否吻合。在BP神经网络进行训练之前,应该输入数据进行全面采集,并对比分析总结出代表性的特征。
2)隐含层节点数确定方法。需要通过大量的实验,以估算出最佳的节点数目。
2.2 BP神经网络的结构设计
将采集的流量数据设为X(t),t=0,1,…N-1,N=24。将一维的流量数据重构为多维的流量数据,文中将采集到流量数据每24 h作为网络的自变量,即输入节点设定为24,当前时段的流量数据作为唯一输出。通过前24 h的流量数据,来预测下一时刻的流量数据,可获得网络的输出详情。BP神经网络的数学模型为式(2),基本结构如图2所示
(2)
式中xj(j=1,2,3,…,N)为神经元的输入信号;wij为连接权重;ui为输入信号混合的输出,也是神经元i的纯输入;θi为神经元的阈值;vi为经阈值调整后的值,f(·)为神经元的激活函数。
图2 BP神经网络的神经元结构
拥有一个隐含层的前馈网络,可以实现 BP 神经网络的基本功能。但过多隐含层个数会提高网络的复杂度,使训练时间变长,效率变低。为提高误差精度,可以通过增加隐含层的节点数目实现。
3 改进学习率的BP神经网络流量预测模型
3.1 改进学习率的BP神经网络激活函数
S型函数为包括域值在(0,1)区间的S函数和域值在(-1,1)的正切函数。函数表达式
f(x)=(1+e-αx)-1
(3)
3.2 改进学习率的BP神经网络权值
假定初始权值在 [-0.5,0.5]和[-1,1]的区间内取随机数值,实验发现:如果初始权值选取过大,即各初始权值间的差别很大,在训练中权值的修正过程中容易产生突变现象。并且亦导致神经元趋于饱和。所以最终训练权值在[-5,5]的范围最佳。在网络结构学习率等因素一定的条件下,普遍认为权值初始值的范围应该在 ±0.8左右。
3.3 改进BP神经网络学习率自适应算法
学习率ε是决定权重调整量Δwij(n)大小的关键因素[11~13]。在学习过程中利用梯度下降法使权重沿误差曲面的负梯度方向调整
(4)
为了探究学习率与网络的收敛能力及训练速度之间的关系,取不同的学习率值,计算出相应的学习时间,如图3。
图3 不同学习率对比
从图中看出,如果学习率选取过小则网络的收敛速度较差;学习率选取过大则会导致网络不能收敛,发生振荡的现象。因此,学习率取值范围为[0.25,0.45]。
4 实验与结果分析
4.1 数据获取与处理
编写相关程序定时获取路由器的流量数据,每隔1 h获得一次流量,连续获取30天,本文以收集到120个流量时间序列数据为例进行实验处理。
在训练之前对流量数据进行归一化处理,去除由数据差异引起的干扰。将所有的数据归一到[0.1,0.9],即
(5)
将获取数据分成两部分,前100 h作为网络训练样本,后20 h作为网络测试样本,采用BP神经网络和改进的BP神经网络训练样本进行学习,并对测试样本进行预测。
4.2 结果分析
图4所示为通过采用改进BP神经网络和传统BP神经网络对网络流量预测的对比。从图中可以看出:改进的BP神经网络模的预测结果较传统BP神经网络的预测结果精确度更高。改进BP神经网络的预测值和实际值的曲线比较吻合,虽然与实际值相比还是有略微的偏差,但与传统的方法相比,训练速度更快,预测精度亦明显提高,是一种很好的网络流量预测模型。
图4 实验结果对比
5 结 论
本文提出改进的BP神经网络预测模型,通过加入学利率自适应算法使得模型对网络流量预测的精度和速度都明显提高,是一种值得深入研究的网络流量预测方法。