布谷鸟搜索算法优化BP神经网络的网络流量预测

布谷鸟搜索算法优化BP神经网络的网络流量预测

摘 要: 为了提高预测精度,提出一种布谷鸟搜索算法优化BP神经网络的网络流量预测模型(Cuckoo Search BP neural network Flow Prediction,CS-BPNN)。根据混沌理论建立网络流量学习样本,采用BP神经网络对学习样本进行训练,将模型参数当一个鸟巢,通过模拟布谷鸟寻窝产卵的行为找到最优模型参数,最后采用网络流量数据进行仿真实验,测试模型性能。仿真实验表明:所提出模型较好的解决了BP神经参数优化问题,能够获得更加理想的网络流量预测结果。
关键词: 布谷鸟搜索算法;网络流量;神经网络;参数优化
随着网络业务种类的增加,如何提高网络流量预测精度具有十分重要的意义[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进行分析可以看出,CS算法的性能均优于粒子群算法(PSO)算法,对比结果表明,CS算法加快算法收敛速度,在一定程度上防止多峰问题易陷入局部最优的不足,提高了算法的搜索能力,获得了更优的结果。


2.2 布谷鸟算法优化BP神经网络参数步骤
(1)初始化鸟巢数n、Pa及最大迭代次数Nmax等参数。
(2)随机产生n个鸟巢的初始位置,它们与BP神经网络初始阈值和连接权值相对应,BP神经网络根据参数值对训练集进行训练,并计算预测结果。

3 CS-BPNN在网络流量预测中的应用
3.1 数据来源
为了测试CS-BPNN的有效性,选择行内的标准数据:/~news/2013的8月1日到8月30日的每小时流量作为仿真对象,具体。选择620个数据进作为训练集,用CS-BPNN进行训练,建立网络流量预测模型;其余100个数据作为测试集,测试模型性能。



3.2 对比模型及评价标准
由于粒子群算法(PSO)在BPNN参数应用比较广泛,为了使CS-BPNN预测结果具有可比性,选择粒子群算法优化(PSO-BPNN)进行对比实验,模型性能优劣采用均方根误差(RMSE)和平均绝对百分误差(MAPE)进行评价。
3.3 学习样本构建

首先采用耦合簇方法C-C(Coupled Cluster method)计算网络流量最优的延迟时间τ,具体,其中横坐标表示延迟时间,纵坐标表示关联积分。从图3可知,最优延迟时间τ=4,然后利用Cao方法[15]求嵌入维数,结果,其中横坐标表示延迟时间,纵坐标表示最大熵值。从图4可知,网络流量时间序列相空间重构的最小嵌入维数m=5,采用τ=4和m=5重构网络流量,得到CS-BPNN的学习样本。

3.4 结果与分析
采用PSO、CS找到的BPNN最优参数,建立基于PSO-BPNN、CS-BPNN的网络流量预测模型,然后用测试集进行预测,各模型的预测结果。从图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模型的鲁棒性,采用一个含有噪声网络流量进行仿真实验,以测试模型的鲁棒性,含噪的网络流量数据。对含噪的网络流量数据进行建模与预测,不同模型的网络流量预测结果。从图7和表3可知,相对于比模型,CS-BPNN获得了更加理想的预测结果,这表明CS-BPNN具有较强鲁棒性,具有一定的抗噪能力。


5 结束语
由于影响因素复杂、多变,导致网络流量具有非线性、混沌性,传统方法难建立准确的预测模型,而BP神经网络也受到参数的不利影响。为了获得理想的预测结果,本文提出了一种网络流量预测模型CS-BPNN,并通过具体仿真实验测试模型性能。结果表明,CS-BPNN解决了BP神经网络参数优化问题,建立了预测精度高、效果好的网络流量预测模型,同时为其他非线性时间序列提供了一种预测建模新思路。

相关文档
最新文档