首页 > 范文大全 > 正文

基于改进BP神经网络的交通流量预测仿真

开篇:润墨网以专业的文秘视角,为您筛选了一篇基于改进BP神经网络的交通流量预测仿真范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

【摘 要】交通流预测是智能运输系统中的路径诱导和交通流控制的必要条件,其实时性和可靠性直接关系到交通管理与控制的效果,因此本文利用利用遗传算法对BP神经网络的权值、阈值进行优化,从而应用强大非线性逼近能力实现交通流量的准确预测,并且通过实验进行算法的仿真,结果表明,BP神经网络经遗传算法优化后,精度得到提高,而且BP神经网络对交通流量的预测是可行的。

【关键词】交通流量 遗传算法 BP神经网络

中图分类号:G4 文献标识码:A DOI:10.3969/j.issn.1672-0407.2015.04.003

一、引言

交通流量是反映交通路况的一个非常重要的信息,因此交通汽车流量的预测受到许多学者和科学工作者比较重视的方面。一些优秀的预测算法和手段也先后被人们发明和改进,但很少有人将两者结合在一起,这也正是该课题研究意义之所在。BP神经网络具有较强的非线性映射能力、高度的自学习自适应能力、也具有将学习成果应用于新知识的能力、还具有一定的容错能力。开展该课题的研究工作,不仅能有效地拓展神经网络算法和预测问题的研究角度,丰富学习内容,更可能在理论上有所突破和创新,对于培养自身自学意识和创新意识,提高本科生分析能力与运筹能力都是有所裨益的。

二、交通流量预测BP神经网络模型的构建

基本BP算法包括两个方面,信号的前向传播和误差的反向传播,计算实际输出时按从输入到输出的方向进行,而权值和阈值的修正从输出到输入的方向进行。

如图所示,其中xj表示输入层第j个节点的输入,j=1,…,M;Wij表示隐含层第i个节点到输入层第j个节点之间的权值; 表示隐含层第i个节点的阈值; (x)表示隐含层的激励函数;Wki表示输出层第k个节点到隐含层第i个节点之间的权值,i=1,…,q;ak表示输出层第k个节点的阈值,k=1,…,L;ψ(x)表示输出层的激励函数;Ok表示输出层第k个节点的输出。BP神经网络的算法流程通过数据归一化、数据分类、神经网络设置、指定训练参数进行训练以及相应的测试进行。

三、利用遗传算法优化BP神经网络

利用遗传算法实现BP神经网络的参数优化的流程图如图2-1所示。从图中可知,遗传算法与BP神经网络沟通的桥梁即染色体与阈值、权值的等价,预测误差与适应度函数的等价,而两算法的其他部分则都为独立的。遗传算法每次产生新的种群后,将每个染色体解码成十进制的阈值与权值,然后代入构建的BP神经网络中,计算每条染色体对应的BP神经网络误差作为遗传算法的适应度函数,若误差越小则代表适应度越高,越容易被保留而不被淘汰。根据计算出的适应度函数,对种群中的染色体进行自适应交叉与变异,得到新的种群,然后不断循环直到满足算法迭代终止条件。

四、交通流程预测的Matlab仿真与分析

经研究表明,城市交通路网中交通路段上某时刻的交通流量与本路段前几个小时的交通流量有关,并且交通流量具有周期性,为24小时。本文利用交通流量的这些特性,将采集的五天的某路网同一路口的交通流量,每隔4分钟采集一次,每条共360个数据点,其中前四天的前276个数据作为神经网络输入训练数据,前四天的后84个数据点作为神经网络训练输入测试数据;第五天的前276个交通流量数据作为神经网络输出训练数据,后84个的数据点作为神经网络训练输出测试数据。也就是利用前四天的交通流量数据训练好神经网络后,在第五天的前276个交通流量已知的情况下,对第五天的后84个交通流量进行预测。

本文构造的神经网络为1-5-1BP神经网络,也就是单输入单输出,5隐含层的BP神经网络;对BP神经网络进行优化的遗传算法的参数为:种群数10、进化代数50,交叉概率0.6、变异概率0.1。BP神经网络优化前后对交通流量预测的结果如图2-1至图2-3所示。

通过仿真实验可以得到以下结论:

1.由图2-1可知,遗传算法在第27代即已收敛,说明利用遗传算法优化BP神经网络是可行的,并且效率很高。

2.由图2-2可知,BP神经网络优化前后都能实现对交通流量的预测,说明BP神经网络具有很好的非线性逼近能力,可以利用于交通流量的预测。

3.由图2-3可知,改进前,BP神经网络的预测误差区间为。-3.137%-5.042%;改进后BP神经网络的预测误差区间为-3.146%-3.831%。由此可知,利用遗传算法改进BP神经网络不仅是可行,而且预测精度也切实地得到了提高。

参考文献

[1]王万良、吴启迪等.基于Hopfield神经网络的作业车间生产调度方法[J].自动化学报.2002,28(5):838一844.

[2]王小平,曹立明,遗传算法―理论、应用与软件实现M,西安:西安交通大学出版社,2002.

[3]陈永春.Matlab语言高级编程[M].北京:清华大学出版社,2004.

[4]李华.基于一种改进遗传算法的神经网络.太原:太原理工大学,2007.

[5]陈明.Matlab神经网络原理与实例精解.北京:清华大学出版社,2013.