文献标识码:A
文章编号: 0258-7998(2015)03-0082-04
随着网络业务种类的增加,如何提高网络流量预测精度具有十分重要的意义[1]。网络流量预测传统模型主要包括:线性回归、泊松过程、时间序列等[2-3],它们可以对短期的网络流量数据进行预测,但现代网络流量变化规律相当复杂,因此传统预测模型的精度有待进一步提高。
随着非线性理论发展,出现了以BP神经网络(BP neural network,BPNN)为代表的网络流量非线性预测模型,其具有较好的非线性预测能力,可以对网络流量变化特点进行准确跟踪,提高了网络流量的预测精度[4]。然而,在实际应用过程中,BP神经网络的预测性能与其参数密切相关[5]。为此,有学者提出采用人工鱼群算法、遗传算法、人工萤火虫算法、粒子群算法、蚁群算法等对BP神经网络参数进行优化[6-8],一定程度较好解决BP神经参数优化的难题,但是这些算法均有各自不同程度的不足[9]。布谷鸟搜索(cuckoo search,CS)算法是一种新型群体智能算法,具有简单、高参数少、易于实现的特点,在模式识别、组合优化等领域得到了广泛的应用[10]。
为了提高网络流量预测精度,针对BP神经网络参数优化的难题,本文提出一种CS-BPNN的网络流量预测模型。仿真实验表明,本文模型获得更加理想的网络流量预测结果。
1 相空间重构和BP神经网络
作为CS-BPNN算法的研究基础,本节主要描述下相空间重构与BP神经网络的基础知识,这些知识在相关的文献都有详细的介绍[11]。
1.1 相空间重构
式中,子为延迟时间、m为嵌入维数;X(i)表示重构后的相点[12]。
1.2 BP神经网络算法
设一个网络流量动力系统的输入为式(1),则构造输出函数为y(i)=x(i+1),BP神经网络的输入节点数是网络流量的嵌入维数m、隐层节点数是p、输出个数是1,通过f:Rn→R构建映射[13]。隐层各节点的输入是:
式中,vj表示从隐层到输出层的连接权值;表示输出层的阈值。
2 CS-BPNN的网络流量预测模型
2.1 布谷鸟搜索算法
2009年,YANG等模拟布谷鸟寻窝产卵的行为方式,提出布谷鸟搜索(Cuckoo Search,CS)算法[14]。设x为第i个鸟巢在第k代的鸟巢位置,L(λ)为Levy随机搜寻路径,则布谷鸟寻巢的路径和位置更新方式为:
采用3个准测试函数对布谷鸟CS算法和粒子群算法PSO(Particle Swarm Optimization)的性能进行对比测试,各测试函数的数学表达式如表1所示。两种算法的运行结果如图1所示。对图1进行分析可以看出,CS算法的性能均优于粒子群算法(PSO)算法,对比结果表明,CS算法加快算法收敛速度,在一定程度上防止多峰问题易陷入局部最优的不足,提高了算法的搜索能力,获得了更优的结果。
2.2 布谷鸟算法优化BP神经网络参数步骤
(1)初始化鸟巢数n、Pa及最大迭代次数Nmax等参数。
(2)随机产生n个鸟巢的初始位置,它们与BP神经网络初始阈值和连接权值相对应,BP神经网络根据参数值对训练集进行训练,并计算预测结果。
3 CS-BPNN在网络流量预测中的应用
3.1 数据来源
为了测试CS-BPNN的有效性,选择行内的标准数据:http://newsfeed.ntcu.net/~news/2013的8月1日到8月30日的每小时流量作为仿真对象,具体如图2所示。选择620个数据进作为训练集,用CS-BPNN进行训练,建立网络流量预测模型;其余100个数据作为测试集,测试模型性能。
3.2 对比模型及评价标准
由于粒子群算法(PSO)在BPNN参数应用比较广泛,为了使CS-BPNN预测结果具有可比性,选择粒子群算法优化(PSO-BPNN)进行对比实验,模型性能优劣采用均方根误差(RMSE)和平均绝对百分误差(MAPE)进行评价。
3.3 学习样本构建
首先采用耦合簇方法C-C(Coupled Cluster method)计算网络流量最优的延迟时间τ,具体如图3所示,其中横坐标表示延迟时间,纵坐标表示关联积分。从图3可知,最优延迟时间τ=4,然后利用Cao方法[15]求嵌入维数,结果如图4所示,其中横坐标表示延迟时间,纵坐标表示最大熵值。从图4可知,网络流量时间序列相空间重构的最小嵌入维数m=5,采用τ=4和m=5重构网络流量,得到CS-BPNN的学习样本。
3.4 结果与分析
采用PSO、CS找到的BPNN最优参数,建立基于PSO-BPNN、CS-BPNN的网络流量预测模型,然后用测试集进行预测,各模型的预测结果如图5所示。从图5可知,相对于PSO-BPNN,CS-BPNN提高了网络流量的预测精度,预测偏差更小,对比结果,CS-BPNN融合CS算法的全局搜索能力和BPNN的非线性预测,可以对网络流量变化趋势准确跟踪,预测结果更加稳定、可靠。
PSO-BPNN、CS-BPNN的网络流量预测结果的MAPE和RMSE见表2。从表2可知,相对于PSO-BPNN,CS-BPNN预测误差更小,预测精度更高,对比结果表明,CS-BPNN建立了预测精度更高的网络流量预测模型。
4 含噪网络流量的测试
为了测试CS-BPNN模型的鲁棒性,采用一个含有噪声网络流量进行仿真实验,以测试模型的鲁棒性,含噪的网络流量数据如图6所示。对含噪的网络流量数据进行建模与预测,不同模型的网络流量预测结果如图7和表3所示。从图7和表3可知,相对于比模型,CS-BPNN获得了更加理想的预测结果,这表明CS-BPNN具有较强鲁棒性,具有一定的抗噪能力。
5 结束语
由于影响因素复杂、多变,导致网络流量具有非线性、混沌性,传统方法难建立准确的预测模型,而BP神经网络也受到参数的不利影响。为了获得理想的预测结果,本文提出了一种网络流量预测模型CS-BPNN,并通过具体仿真实验测试模型性能。结果表明,CS-BPNN解决了BP神经网络参数优化问题,建立了预测精度高、效果好的网络流量预测模型,同时为其他非线性时间序列提供了一种预测建模新思路。
参考文献
[1] SILVA C G.Time series forecasting with a nonlinear model and the scatter search meta-heuristic[J].Information Sciences,2008,178(16):3288-3299.
[2] 姜明,吴春明,胡大民,等.网络流量预测中的时间序列模型比较研究[J].电子学报,2009,37(11):2353-2358.
[3] 高波,张钦宇,梁永生,等.基于EMD及ARMA的自相似网络流量预测[J].通信学报,2011,32(4):47-56.
[4] 刘百芬,熊南.基于动态加权LS-SVM的网络流量混沌预测[J].电视技术,2013,37(7):87-90.
[5] ESTE A,GRINGOLI F,SALGARELLI L.Support vector machines for TCP traffic classification[J].Computer Networks,2009,53(14):2476-2490.
[6] QI H L,ZHAO H,LIU W W,ZHANG H B.Parameters optimization and nonlinearity analysis of grating eddy currentdisplacement sensor using neural network and genetic algo-rithm[J].Journal of Zhejiang University Science A,2009,10(8):1205-1212.
[7] CALLADO A,KEU R J,SADOK D,et a1.Better network traffic identification through the independent combination of techniques[J].Journal of Network and Computer Applica-tions,2010,33(4):433-446.
[8] 刘渊,戴悦,曹建华.基于小波神经网络的流量混沌时间
序列预测[J].计算机工程,2008,34(16):105-106.
[9] 赵振江.基于PSO-BP神经网络的网络流量预测与研究[J].计算机应用与软件,2009,26(1):218-211.
[10] YANG X S,DEB S.Engineering optimization by cuckoo search[J].International Journal of Mathematical Modeling and Numerical Optimization,2010,1(4):330-343.
[11] 高述涛.CS算法优化BP神经网络的短时交通流量预测,计算机工程与应用,2013,49(9):106-109.
[12] 王升辉,裘正定.结合多重分形的网络流量非线性预测[J].通信学报,2007,28(2):45-50.
[13] 李松,罗勇,张铭锐.遗传算法优化BP神经网络的混沌时间序列预测[J].计算机工程与应用,2011,47(29):52-55.
[14] 王凡,贺兴时,王燕,等.基于CS算法的Markov模型及收敛性分析[J].计算机工程,2012,38(11):180-182,185.
[15] CAO L J.Support vector machines experts for time series forecasting[J].Neurocomputing,2003,51:321-339.