遗传算法优化BP神经网络的 网络流量预测
2014-08-15刘春
【摘要】为了提高网络流量预测精度,提出一种基于遗传算法优化BP神经网络的网络流量预测模型(GA-BPNN)。首先采集网络流量数据,并进行相应预处理,然后将网络流量训练样本输入到BP神经网络进行学习,并采用遗传算法对BP神经网络参数进行优化,最后采用建立的网络流量预测模型对网络流量测试集进行预测,并通过仿真实验对模型性能进行测试。结果表明,GA-BPNN提高了网络流量的预测精度,获得比较理想的网络流量预测结果。
【关键词】网络流量;BP神经网络;遗传算法;参数优化
【中图分类号 】TP183【文献标识码】A
1引言
网络流量预测对于分析和理解网络将要发生的网络行为、指导网络安全检测与控制具有重要的意义,网络流量具有非线性、多时间和多尺度等变化特性,如何建立高精度的网络流量预测模型已经成为研究热点之一。
当前网络流量均基于统计方法进行建模,是通过对预测网络流量过去的数据及资料进行统计和分析,对其未来的网络流量发展趋势进行定量的预测,主要有时间序列法和BP神经网络方法。时间序列预测法因根据事物过去的变化趋势预测未来的发展,突出时间因素,外界因素不计入影响,在短期且没有相对比较大的变化时预测结果比较理想,但是当外界出现巨变,往往会出现比较大的偏差。因此,时间序列预测法适用于渐进变化的预测对象,没有明显波动,而网络流量受到多种因素影响,具有非线性、多时间和多尺度等变化的特性,因此时间序列法预测精度比较低。BP(Back Propagation)网络是一种按误差逆向传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一,具有自组织、自适应、自学习等特点,具有很强的输入输出非线性映射能力,对解决非线性问题有着独特的先进性,成为当前网络流量建模与预测主要工具。但是,由于采用了误差函数按梯度下降的学习算法,极易陷入局部最小值点。此外,BP神经网络学习算法收敛慢,系统鲁棒性差,网络的性能对初始设置值依赖比较大。因此BP神经网络需要进行改进才能更好地应用到实际中。
为了提高网络流量预测精度,提出一种基于遗传算法优化BP神经网络的网络流量预测模型(GA-BPNN)。首先采集网络流量数据,并进行相应预处理,然后将网络流量训练样本输入到BP神经网络进行学习,并采用遗传算法对BP神经网络参数进行优化,最后采用建立的网络流量预测模型对网络流量测试集进行预测,并通过仿真实验对模型性能进行测试。
2BP神经网络和遗传算法
2.1BP神经网络概述
BP神经网络基本思想是网络训练过程由正向传播与误差反向传播两个过程组成。正向传播输入样本由输入层传入经隐层单元处理并计算每个单元实际输出传向输出层,若此时实际输出与期望输出相符,则网络训练成功结束,否则转入误差反向传播。误差反向传播从输出层开始经隐层向输入层逐层返回,根据实际输出与期望输出的误差修改各层单元连接权值。
BP神经网络正向传播与反向传播对各层单元权值修改是一个反复的过程,直到实际输出与期望相符或达到最大的训练次数为止。典型三层BP神经网络的拓扑结构如图1所示。
设wij为输入层第i个神经元与隐层第j个神经元的连接权值。
1)正向传播。输入层:神经元i的输出值Oi等于输入值Ii对隐层,输出层:
Ij =wijOi-θi(1)
Oj =f(Ij)(2)
作用函数f为Sigmoid函数,f(Ij) = 。
2)反向传播。输出层实际输出yk与期望dk不一致时,有误差函数:
E=(dk -yk)2(3)
连接权值的修改按以下公式计算:
wjk(t+1) = wjk(t)+△wjk(4)
BP算法采用梯度下降方向修改连接权值,变化权值为:
△wjk =-η =-η δkOj(5)
其中学习率η取值为0<η<1,即对于输出层:
△wjk =ηyk(1-yk)(dk-yk) (6)
对于隐层:
△wjk =ηOj(1-Oj) δkwjk(7)
2.2BP神经网络算法实现步骤
(1)初始化,对所有联结权w随机生成任意小的值,阈值θ的初始值及设定训练次数。
(2)输入训练样本及期望(xn,dm)。
(3)前向传播。计算隐层及输出层j单元输入
Ij=wijOi-θi ,单元j输出Oj =;
(4) 输出层yk与dk不相符按反向误差传播调整权值,从输出到隐层按下式更新权值。
wjk(t+1) = wjk(t)+△wjk(8)
当k为输出层:△w=ηyk(1-yk)(dk-yk) ,当k为隐层:△w =ηOj(1-Oj) δkwjk计算。
(5) 转(2)重复执行,直到误差满足或达到最大训练次数为止。
标准BP神经网络用梯度下降算法求解,易陷入局部极小值,在网络训练学习中难以避免学习收敛速度慢及训练过程出现振荡的问题,为此采用遗传算法优化BP神经网络的参数。
2.3遗传算法
遗传算法的优化原理是从随机生成的初始群体出发,采用基于优胜劣汰的选择策略选择优良个体作为父代,通过父代个体的复制、杂交和变异来繁衍进化的子代种群。经过多代的进化,种群的适应性会逐渐增强。遗传算法的优化是通过遗传算法中复制、杂交和变异算子的操作来实现的。
(1) 复制是进化个体经过轮盘赌选择,使父代的优良个体以较大的概率在子代中得到继承的遗传过程。
(2) 杂交是指父代中个体随机的交换染色体的基因在子代中产生新的个体。endprint
(3) 变异是个体染色体的基因以变异概率发生随机质变的过程。
杂交和变异使后代中产生新个体,复制使父代的基因在子代中得以继承,从而使生物物种在继承的基础上不断进化。它可以避免局部优化从而保证收敛的全局搜索性。
3遗传算法优化BP神经网络的网络流量预测模型
(1) 收集网络流量历史数据,并对其进行预处理。
(2) 初始化种群。随机产生一组个体,每一个个体包括BP神经网络初始连接权值和初始阈值。
(3) 对个体进行解码,根据相关联函数法确定τ、m,并对网络流量数据进行重构,并初始连接权值和阈值作为BP神经网络参数进行网络流量训练,根据预测结果计算个体适应度值。适应度函数f(x)定义如下:
f(x)=(y-)(9)
式中,y为BP神经网络的预测值,为网络流量实际值,n表示训练样本个数。
(4) 采用最佳保留策略和轮盘赌选择较优的个体进行下一代。
(5) 根据交叉概率选择两个个体进行交叉操作,选择最优个体进行下一代。
(6) 根据变异概率选择两个个体进行变异操作,选择最优个体进行下一代。
(7) 判断算法结束条件,若满足结束条件则返回全局最优个体,若不满足,进化代数加1,并跳转至(3)继续优化。
(8) 将最优个体解码成为BP神经网络的初始连接权值和阈值。
(9) 根据初始连接权值和阈值建立最优网络流量预测模型。
4仿真实验
4.1数据来源
实验数据来源于某学校网络中心服务器,从2013年2月1日到2月21日每天网络的每小时访问流量,得到480个数据,以前380个数据作为训练集建立网络流量预测模型,后100个数据作为测试集进行预测检验,具体如图2所示。
4.2数据归一化处理
BP神经网络模型在训练时对在0-1之间的数据最为灵敏,然而实际网络流量具有突变性,变化幅度较大,为了提高训练的效率,对其进行归一化处理,具体为:
x'=(10)
最后对网络流量预测结果进行反归一化处理,恢复真实预测值。
x=x'(xmax-xmin) +xmin(11)
式中x表示网络流量原始数据,xmin和xmax表示分别最小值和最大值。
4.3模型评价指标
为了说明GA-BPNN模型的有效性,在Matlab2021环境下进行仿真实验。同时为了使GA-BPNN模型的预测结果具有可比性,采用标准BP神经网络(BPNN)作为对比模型。模型性能的评价指标为均方根误差(root mean squared predict error,RMSE)和平均绝对百分误差(mean absolute percentage error,MAPE),具体定义如下:
RMSE=(12)
MAPE=
×100(13)
式中y表示网络流量实际观测值,表示预测值。
4.4结果与分析
4.4.1 不含噪网络流量的预测结果分析
首先采用遗传算法优化BP神经网络参数,然后采用最优参数BP神经网络建立网络流量预测模型,GA-BPNN、BPNN对测试集的预测结果及预测误差如图3和4所示。从图3可知,GA-BPNN的预测结果与实际网络流量的值相当吻合,十分接近,这表明GA-BPNN可用于现代复杂多变、随机的网络流量预测,同时从图4可知,GA-BPNN的预测误差相当小,可以满足网络流量预测精度的要求。
GA-BPNN与对比模型的预测误差见表1。根据表1可知,相对于对比模型,GA-BPNN预测误差更高,相应的网络流量预测精度更高,这表明,GA-BPNN通过遗传算法对BPNN参数优化和选择,克服BP神经网络等预测精度低的缺陷,GA-BPNN是一种精度高、预测结果可靠的网络流量预测模型。
4.4.2 含噪网络流量的预测结果分析
为了测试GA-BPNN的通用性,对一个含噪的网络流量进行仿真实验,含噪的网络流量如图5所示。GA-BPNN的含噪网络流量数据预测结果及预测误差如图6和7所示。从图6和7可知,对于含噪的网络流量,GA-BPNN同样获得了较理想的预测结果,这表明GA-BPNN采用遗传算法优化BP神经网络,获得了较好的网络流量训练集,增加了模型的鲁棒性和通用性,拓宽了GA-BPNN在网络流量的应用范围。
GA-BPNN与BPNN对含噪网络流量预测误差见表2。从表2可知,相对于对比模型,GA-BPNN的整体预测性能更优,建立了误差更小的网络流量预测模型,再一次证明了GA-BPNN的优越性。
5结束语
为了提高网络流量预测精度,针对BP神经网络参数优化难题,提出一种遗传算法优化BP神经网络的网络流量预测模型,仿真结果表明,GA-BPNN不仅提高了网络流量的预测精度,为复杂多变的网络流量提供了一种新的研究思路。
参考文献
[1] Nguyen T T, Armitage G. A survey of techniques for internet traffic classification using machine learning [J]. IEEE Communications Surveys and Tutorials, 2008, 10(4):56-76.
[2] 马华林.基于灰色模型和自适应过滤的网络流量预测[J].计算机工程,2009,35(1):130-131.
[3] Mao Yongyi, Li Baochun. A factor graph approach to link loss monitoring in wireless sensor networks [J]. IEEE Journal on Selected Areas in Communications, 2006,23(4):820-829.
[4] 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 Applications, 2010, 33(4):433-446.
[5] 姚奇富,李翠凤,马华林,张森. 灰色系统理论和马尔柯夫链相结合的网络流量预测方法[J].浙江大学学报(理学版),2007,34(4):396-400.
[6] 刘渊,戴悦,曹建华.基于小波神经网络的流量混沌时间序列预测[J].计算机工程,2008,34(16):105-106.
[7] 陈晓天,张顺颐,田婷婷. 基于BP神经网络的IP网络流量预测[J].南京邮电大学学报(自然科学版),2012, 30(2):16-21.
[8] 李松,罗勇,张铭锐. 遗传算法优化BP神经网络的混沌时间序列预测[J].计算机工程与应用,2011, 47(29):52-55.
[9] 赵振江. 基于PSO-BP神经网络的网络流量预测与研究[J]. 计算机应用与软件,2009,26(1):218-211.
[10] 张颖路. 基于遗传算法优化支持向量机的网络流量预测[J].计算机科学,2008,35(5):177-179.
作者简介:
刘春(1981-),男,硕士,四川建筑职业技术学院网络管理中心,讲师;主要研究方向和关注领域:计算机网络管理。endprint
(3) 变异是个体染色体的基因以变异概率发生随机质变的过程。
杂交和变异使后代中产生新个体,复制使父代的基因在子代中得以继承,从而使生物物种在继承的基础上不断进化。它可以避免局部优化从而保证收敛的全局搜索性。
3遗传算法优化BP神经网络的网络流量预测模型
(1) 收集网络流量历史数据,并对其进行预处理。
(2) 初始化种群。随机产生一组个体,每一个个体包括BP神经网络初始连接权值和初始阈值。
(3) 对个体进行解码,根据相关联函数法确定τ、m,并对网络流量数据进行重构,并初始连接权值和阈值作为BP神经网络参数进行网络流量训练,根据预测结果计算个体适应度值。适应度函数f(x)定义如下:
f(x)=(y-)(9)
式中,y为BP神经网络的预测值,为网络流量实际值,n表示训练样本个数。
(4) 采用最佳保留策略和轮盘赌选择较优的个体进行下一代。
(5) 根据交叉概率选择两个个体进行交叉操作,选择最优个体进行下一代。
(6) 根据变异概率选择两个个体进行变异操作,选择最优个体进行下一代。
(7) 判断算法结束条件,若满足结束条件则返回全局最优个体,若不满足,进化代数加1,并跳转至(3)继续优化。
(8) 将最优个体解码成为BP神经网络的初始连接权值和阈值。
(9) 根据初始连接权值和阈值建立最优网络流量预测模型。
4仿真实验
4.1数据来源
实验数据来源于某学校网络中心服务器,从2013年2月1日到2月21日每天网络的每小时访问流量,得到480个数据,以前380个数据作为训练集建立网络流量预测模型,后100个数据作为测试集进行预测检验,具体如图2所示。
4.2数据归一化处理
BP神经网络模型在训练时对在0-1之间的数据最为灵敏,然而实际网络流量具有突变性,变化幅度较大,为了提高训练的效率,对其进行归一化处理,具体为:
x'=(10)
最后对网络流量预测结果进行反归一化处理,恢复真实预测值。
x=x'(xmax-xmin) +xmin(11)
式中x表示网络流量原始数据,xmin和xmax表示分别最小值和最大值。
4.3模型评价指标
为了说明GA-BPNN模型的有效性,在Matlab2021环境下进行仿真实验。同时为了使GA-BPNN模型的预测结果具有可比性,采用标准BP神经网络(BPNN)作为对比模型。模型性能的评价指标为均方根误差(root mean squared predict error,RMSE)和平均绝对百分误差(mean absolute percentage error,MAPE),具体定义如下:
RMSE=(12)
MAPE=
×100(13)
式中y表示网络流量实际观测值,表示预测值。
4.4结果与分析
4.4.1 不含噪网络流量的预测结果分析
首先采用遗传算法优化BP神经网络参数,然后采用最优参数BP神经网络建立网络流量预测模型,GA-BPNN、BPNN对测试集的预测结果及预测误差如图3和4所示。从图3可知,GA-BPNN的预测结果与实际网络流量的值相当吻合,十分接近,这表明GA-BPNN可用于现代复杂多变、随机的网络流量预测,同时从图4可知,GA-BPNN的预测误差相当小,可以满足网络流量预测精度的要求。
GA-BPNN与对比模型的预测误差见表1。根据表1可知,相对于对比模型,GA-BPNN预测误差更高,相应的网络流量预测精度更高,这表明,GA-BPNN通过遗传算法对BPNN参数优化和选择,克服BP神经网络等预测精度低的缺陷,GA-BPNN是一种精度高、预测结果可靠的网络流量预测模型。
4.4.2 含噪网络流量的预测结果分析
为了测试GA-BPNN的通用性,对一个含噪的网络流量进行仿真实验,含噪的网络流量如图5所示。GA-BPNN的含噪网络流量数据预测结果及预测误差如图6和7所示。从图6和7可知,对于含噪的网络流量,GA-BPNN同样获得了较理想的预测结果,这表明GA-BPNN采用遗传算法优化BP神经网络,获得了较好的网络流量训练集,增加了模型的鲁棒性和通用性,拓宽了GA-BPNN在网络流量的应用范围。
GA-BPNN与BPNN对含噪网络流量预测误差见表2。从表2可知,相对于对比模型,GA-BPNN的整体预测性能更优,建立了误差更小的网络流量预测模型,再一次证明了GA-BPNN的优越性。
5结束语
为了提高网络流量预测精度,针对BP神经网络参数优化难题,提出一种遗传算法优化BP神经网络的网络流量预测模型,仿真结果表明,GA-BPNN不仅提高了网络流量的预测精度,为复杂多变的网络流量提供了一种新的研究思路。
参考文献
[1] Nguyen T T, Armitage G. A survey of techniques for internet traffic classification using machine learning [J]. IEEE Communications Surveys and Tutorials, 2008, 10(4):56-76.
[2] 马华林.基于灰色模型和自适应过滤的网络流量预测[J].计算机工程,2009,35(1):130-131.
[3] Mao Yongyi, Li Baochun. A factor graph approach to link loss monitoring in wireless sensor networks [J]. IEEE Journal on Selected Areas in Communications, 2006,23(4):820-829.
[4] 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 Applications, 2010, 33(4):433-446.
[5] 姚奇富,李翠凤,马华林,张森. 灰色系统理论和马尔柯夫链相结合的网络流量预测方法[J].浙江大学学报(理学版),2007,34(4):396-400.
[6] 刘渊,戴悦,曹建华.基于小波神经网络的流量混沌时间序列预测[J].计算机工程,2008,34(16):105-106.
[7] 陈晓天,张顺颐,田婷婷. 基于BP神经网络的IP网络流量预测[J].南京邮电大学学报(自然科学版),2012, 30(2):16-21.
[8] 李松,罗勇,张铭锐. 遗传算法优化BP神经网络的混沌时间序列预测[J].计算机工程与应用,2011, 47(29):52-55.
[9] 赵振江. 基于PSO-BP神经网络的网络流量预测与研究[J]. 计算机应用与软件,2009,26(1):218-211.
[10] 张颖路. 基于遗传算法优化支持向量机的网络流量预测[J].计算机科学,2008,35(5):177-179.
作者简介:
刘春(1981-),男,硕士,四川建筑职业技术学院网络管理中心,讲师;主要研究方向和关注领域:计算机网络管理。endprint
(3) 变异是个体染色体的基因以变异概率发生随机质变的过程。
杂交和变异使后代中产生新个体,复制使父代的基因在子代中得以继承,从而使生物物种在继承的基础上不断进化。它可以避免局部优化从而保证收敛的全局搜索性。
3遗传算法优化BP神经网络的网络流量预测模型
(1) 收集网络流量历史数据,并对其进行预处理。
(2) 初始化种群。随机产生一组个体,每一个个体包括BP神经网络初始连接权值和初始阈值。
(3) 对个体进行解码,根据相关联函数法确定τ、m,并对网络流量数据进行重构,并初始连接权值和阈值作为BP神经网络参数进行网络流量训练,根据预测结果计算个体适应度值。适应度函数f(x)定义如下:
f(x)=(y-)(9)
式中,y为BP神经网络的预测值,为网络流量实际值,n表示训练样本个数。
(4) 采用最佳保留策略和轮盘赌选择较优的个体进行下一代。
(5) 根据交叉概率选择两个个体进行交叉操作,选择最优个体进行下一代。
(6) 根据变异概率选择两个个体进行变异操作,选择最优个体进行下一代。
(7) 判断算法结束条件,若满足结束条件则返回全局最优个体,若不满足,进化代数加1,并跳转至(3)继续优化。
(8) 将最优个体解码成为BP神经网络的初始连接权值和阈值。
(9) 根据初始连接权值和阈值建立最优网络流量预测模型。
4仿真实验
4.1数据来源
实验数据来源于某学校网络中心服务器,从2013年2月1日到2月21日每天网络的每小时访问流量,得到480个数据,以前380个数据作为训练集建立网络流量预测模型,后100个数据作为测试集进行预测检验,具体如图2所示。
4.2数据归一化处理
BP神经网络模型在训练时对在0-1之间的数据最为灵敏,然而实际网络流量具有突变性,变化幅度较大,为了提高训练的效率,对其进行归一化处理,具体为:
x'=(10)
最后对网络流量预测结果进行反归一化处理,恢复真实预测值。
x=x'(xmax-xmin) +xmin(11)
式中x表示网络流量原始数据,xmin和xmax表示分别最小值和最大值。
4.3模型评价指标
为了说明GA-BPNN模型的有效性,在Matlab2021环境下进行仿真实验。同时为了使GA-BPNN模型的预测结果具有可比性,采用标准BP神经网络(BPNN)作为对比模型。模型性能的评价指标为均方根误差(root mean squared predict error,RMSE)和平均绝对百分误差(mean absolute percentage error,MAPE),具体定义如下:
RMSE=(12)
MAPE=
×100(13)
式中y表示网络流量实际观测值,表示预测值。
4.4结果与分析
4.4.1 不含噪网络流量的预测结果分析
首先采用遗传算法优化BP神经网络参数,然后采用最优参数BP神经网络建立网络流量预测模型,GA-BPNN、BPNN对测试集的预测结果及预测误差如图3和4所示。从图3可知,GA-BPNN的预测结果与实际网络流量的值相当吻合,十分接近,这表明GA-BPNN可用于现代复杂多变、随机的网络流量预测,同时从图4可知,GA-BPNN的预测误差相当小,可以满足网络流量预测精度的要求。
GA-BPNN与对比模型的预测误差见表1。根据表1可知,相对于对比模型,GA-BPNN预测误差更高,相应的网络流量预测精度更高,这表明,GA-BPNN通过遗传算法对BPNN参数优化和选择,克服BP神经网络等预测精度低的缺陷,GA-BPNN是一种精度高、预测结果可靠的网络流量预测模型。
4.4.2 含噪网络流量的预测结果分析
为了测试GA-BPNN的通用性,对一个含噪的网络流量进行仿真实验,含噪的网络流量如图5所示。GA-BPNN的含噪网络流量数据预测结果及预测误差如图6和7所示。从图6和7可知,对于含噪的网络流量,GA-BPNN同样获得了较理想的预测结果,这表明GA-BPNN采用遗传算法优化BP神经网络,获得了较好的网络流量训练集,增加了模型的鲁棒性和通用性,拓宽了GA-BPNN在网络流量的应用范围。
GA-BPNN与BPNN对含噪网络流量预测误差见表2。从表2可知,相对于对比模型,GA-BPNN的整体预测性能更优,建立了误差更小的网络流量预测模型,再一次证明了GA-BPNN的优越性。
5结束语
为了提高网络流量预测精度,针对BP神经网络参数优化难题,提出一种遗传算法优化BP神经网络的网络流量预测模型,仿真结果表明,GA-BPNN不仅提高了网络流量的预测精度,为复杂多变的网络流量提供了一种新的研究思路。
参考文献
[1] Nguyen T T, Armitage G. A survey of techniques for internet traffic classification using machine learning [J]. IEEE Communications Surveys and Tutorials, 2008, 10(4):56-76.
[2] 马华林.基于灰色模型和自适应过滤的网络流量预测[J].计算机工程,2009,35(1):130-131.
[3] Mao Yongyi, Li Baochun. A factor graph approach to link loss monitoring in wireless sensor networks [J]. IEEE Journal on Selected Areas in Communications, 2006,23(4):820-829.
[4] 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 Applications, 2010, 33(4):433-446.
[5] 姚奇富,李翠凤,马华林,张森. 灰色系统理论和马尔柯夫链相结合的网络流量预测方法[J].浙江大学学报(理学版),2007,34(4):396-400.
[6] 刘渊,戴悦,曹建华.基于小波神经网络的流量混沌时间序列预测[J].计算机工程,2008,34(16):105-106.
[7] 陈晓天,张顺颐,田婷婷. 基于BP神经网络的IP网络流量预测[J].南京邮电大学学报(自然科学版),2012, 30(2):16-21.
[8] 李松,罗勇,张铭锐. 遗传算法优化BP神经网络的混沌时间序列预测[J].计算机工程与应用,2011, 47(29):52-55.
[9] 赵振江. 基于PSO-BP神经网络的网络流量预测与研究[J]. 计算机应用与软件,2009,26(1):218-211.
[10] 张颖路. 基于遗传算法优化支持向量机的网络流量预测[J].计算机科学,2008,35(5):177-179.
作者简介:
刘春(1981-),男,硕士,四川建筑职业技术学院网络管理中心,讲师;主要研究方向和关注领域:计算机网络管理。endprint