您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 交通运输 > 神经网络算法在交通量预测中的应用
神经网络算法在交通量预测中的应用周玮明华南理工大学土木与交通学院,广东广州(510640)E-mail:zwmmuse@163.com摘要:本文针对BP神经网络在进行交通量预测中存在很多不足的方面,利用遗传算法所具有的全局搜索能力,可以同时处理搜索空间中的多个个体,可以很好的避免BP神经网络陷入局部最优解的可能。应用改进后的BP神经网络模型对某路段交通流量进行预测,相比改进前的BP神经网络在平均延误上有很好降低,迭代次数也比标准BP神经网络大大减少。关键词:BP神经网络;遗传算法;交通量预测中图分类号:U491.141.引言国内外对于交通量预测的研究一直很活跃。早期的交通量预测主要是为交通控制系统服务的,第一代交通控制系统采用历史数据对交通量进行离线预测,第二代交通控制系统应用实测的数据去修正历史平均数据来预测交通量,第三代交通控制系统只利用实测数据预测交通量。但第二代和第三代交通控制系统预测算法都存在时间延迟的问题,与此同时更多的学者也在积极地探讨各种预测交通量的方法[1]。无论是对长期交通量还是短时交通量的预测,传统意义上的基本方法可以大致分为三类:(1)基于时间序列的分析法;(2)基于相关因素的分析法;(3)自回归分析法。传统的交通预测方法多是从纯数学的角度进行建模、分析、预测,这很难取得令人满意的预测效果,已经不能满足时间中越来越高的精度要求,因此有必要寻求新的交通量预测方法;而神经网络作为一种新兴的数学建模方法,由于其自身具有较好的适应性和稳定性,不需要给出精确的解析表达式,预测精度较高,同时具有极强的非线性映射能力,比较容易对复杂的交通问题进行建模分析,因此适合应用到交通量的预测中。神经网络的种类很多,而BP神经网络是其中最重要的一种。与其他传统模型相比[2],BP神经网络有更能好的适应性,因而在模式识别、函数关系拟合、智能控制等领域已经有了较广泛的应用,取得了相当好的效果。但同样BP神经网络也存在一定的局限性,例如不具备全局搜索能力,网络训练时易陷入局部极小等问题。目前很多学者为了改善BP神经网络的不足之处,通常会将其他一些流行的预测方法与神经网络法相结合来取得更为准备有效的预测结果,这也是本文讨论的一个重点。2.BP神经网络原理及其局限性BP神经网络是一种前馈型网络,由输入层、中间层(隐层)和输出层3部分组成,其拓扑结构如图1所示。输入层为已知的上游路口的流量、速度及其他历史数据,经隐含层输出为当前的预测流量。算法的神经网络结构[3]从结构图上很容易了解到BP神经网络的优点,在预测结果出来后与实际数据的误差会经过误差反传的过程分配到隐含层的各个影响因素上,然后再对数据进行预测对比误差再分配,如此往复直到规定的次数或者要求的精确度为止。这个过程帮助更准确的确定隐含层各个因素的赋值。经过实际数据预测,发现BP神经网络虽然具有结构简单容易编程仿真,数据训练过程更有效等优点,但也存在着其固有的缺点:对于网络结构的确定,隐层节点个数的选取,只能靠经验选取;由于数学角度的非线性优化,此网络结构存在局部极小值问题;此学习算法相比于其他算法收敛速度慢很多,通常需要几千次迭代甚至更多;而且此网络运行时单向传播没有反馈,所以只是一个非线性映射系统;再者,在训练中,此网络结构学习新样本有遗忘旧样本的趋势。BP神经网络的学习速率是固定的,因此,网络的收敛速度慢,需要较长的训练时间。同时,BP算法是基于梯度下降法寻优的,可使权值收敛到某个值,但并不能保证其为误差平面的全局最小值。针对BP算法的缺点,国内外进行了不少的改进,BP算法最优化的方向主要有权值调整、自适应学习速率调整、网络结构调整等。常用的改进方法有以下几种:加入动量项;自适应学习速率调整;共轭梯度算法;Levenberg-Marquart算法。除了改进算法以外,通过改变神经网络结构(隐层结点数和网络层数)、调整误差等方法,也能加快BP算法的收敛速度。下面文章将主要讨论遗传算法对BP神经网络算法的改进。3.遗传算法对BP神经网络的改进3.1遗传算法[4]遗传算法(GA)是由生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法,它的基本思想是模拟生物和人类进化的方法求解复杂的优化问题,因而也称为模拟进化优化算法,其包括以下五个要素:编码、初始群体设定、适应度函数确定、遗传操作设计、参数控制设定(主要包括群体的大小、使用遗传操作的概率)。与自然界相似,遗传算法对求解问题的本身一无所知,它所需要的仅是对算法所产生的每个染色体进行评价,并基于适应度来选择染色体,是适应性好的染色体比适应性差的染色体有更多的繁殖机会。3.2改进的基本方法遗传算法作为一种新的全局优化搜索算法,与传统的基于梯度的优化算法相比,具有以下特征:遗传算法的处理对象不是参数本身,而是对参数进行了编码的个体。此编码操作,使得遗传算法可直接对结构对象进行操作。这一特点使得遗传算法具有广泛的应用领域。许多传统的搜索算法都是单点搜索算法,即通过一些变动规则,问题的解从搜索空间中的当前(点)移动到另一个解(点)。这种点到点的搜索方法,对于多峰分布的搜索空间常常会陷入局部的某个单峰的最优解。相反,遗传算法是采用同时处理群体中多个个体的方法,即同时对搜索空间中的多个解进行评估。这一特点使遗传算法具有良好的全局搜索能力,减少了陷入局部最优解的风险。在标准的遗传算法中,基本上不用搜索空间的知识或其他外部信息,而是仅用适用度函数值来评估个体,并在此基础上进行遗传操作。对适应度函数唯一的要求是对应输入能计算出可比较的非负输出。这一特点使遗传算法的应用范围大大扩展。遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向。当前,有学者提出了遗传算法改进神经网络的预测方法,如杨兆升等提出的遗传算法优化网络结构、刘洁等提出的遗传算法优化网络权值的方法。这些改进使神经网络的预测精度有所提高,然而前者只对网络结构进行优化,后者则是面向长期交通流量预测而提出的[5]。本文利用遗传算法广泛的适应性和全局寻优的特点,将遗传学习算法和BP算法相结合,对BP网络连接权和阀值进行全局寻优,将搜索范围缩小之后,再用BP寻优,实现优势互补,从而弥补标准BP神经网络的不足,对短时交通流量进行预测。3.3实现步骤3.3.1染色体的表达与初始种群的生成按神经网络生成初始权重的常规办法来生成网络的权重,任一组完整的网络权重。{}1212,,,(1,2,,)i==一个W相当于一个染色体,这样的染色体共有p个,即种群规模为p。3.3.2目标函数与适应度函数遗传算法的目标函数可定义为:*()()(1,2,,;1,2,,)igenSeWSeWipgentermgen≤==遗传算法只能朝着使适应函数值增大的方向进化,因此,适应函数可构造成目标函数的倒数形式,但为使适应度函数不至于太小,再引入一个较大的系数M,适应度函数的形式为:()(1,2,,)()iiMfitWipSeW==3.3.3进化运算进化运算是种群逐代更新的过程。所选算子的特性决定种群的进化趋势,一般从采样空间、采样机理和选择概率三方面来描述某一算子的性能。在此运算中,采用保留最佳染色体的策略:一方面,上一代的最佳染色体不参与概率选择,直接进入下一代;方面,前代的染色体不参与交叉和变异的遗传运算。该策略可有效防止最佳染色体的退化。遗传运算遗传运算中主要包含交叉运算和变异运算。其中交叉是最重要的遗传操作,种群通过交叉产生新的染色体,从而逐步实现搜索空间的扩展,实现网络权值的全局寻优。而变异运算可产生初始种群中不含的基因,或找回选择过程丢失的基因,为种群提供新的内容。完成以上步骤以后,遗传算法确定的网络权值返回到BP算法部分,进行具体的交通流量预测,其流程如图2所示。图2遗传运算流程图3.4应用算例选择一组短时交通量预测数据作为算例,一般来说三层BP神经网络就能很好的满足此类问题的预测要求,故在本算例中采用优化选出来的三层网络结构作为分析基础。3.4.1网络结构及参数选择该神经网络为一个双极型隐含层和线性输出层的三层神经网络,输入层神经元个数为8,隐含层神经元数为8,输出层神经元个数为1,网络期望误差目标0.002,最大训练次数为20000,初始学习速率为0.01。采用收敛效果最快的LM算法为神经网络的训练算法。3.4.2仿真计算该算例的适应度函数值在遗传算法进行了70代后就趋于稳定,误差平方和也基本不再变化了。因此再将遗传算法的结束条件修改为达到最大进化代数70,同时考虑初始种群数目分别为20至80时对网络最终预测结果的影响,参考EC值、mrerr值、mxarerr值来综合评价网络预测的结果。网络的预测误差比较情况如下表所示:未收敛从上表可以看出,针对该问题,不同的初始种群数目所得的最终预测结果大体上是可以接受的。以上各种情况EC值都在0.85以上,最高的甚至达到了0.95以上;平均相对误差在4%-18%不等,最大的相对误差均在10%-33%不等。当初始群种数为70,最大进化代数为70时,所得的预测结果最好,EC值为0.96799,平均相对误差为5.9%,相对误差为10.37%。具体的预测结果分析如下表所示:表2遗传算法BP神经网络的预测结果2分钟交通量1234567交通量预测值47.02345.0849.66646.9947.29244.36541.542交通量实际值46.00043.00045.00045.00043.00042.00040.000相对误差2.22%4.84%10.36%4.42%9.98%5.63%3.86%从上述具体的预测结果来看,在要预测的七个时段的交通量中,最后的预测结果中有4个值的相对误差在5%之内,2个值的相对误差在5%-10%之间,1个值的相对误差在10%以上。这组数据反映出短时交通量预测这类问题,遗传算法BP神经网络与传统的BP神经网络相比,在精度方面能够达到纯BP网络的预测水平[6]。在BP网络的训练方面,由于优化选取了BP网络的初始权阀值,采用了LM训练算法,因此训练收敛的步数大大减少,短时交通量预测值与实际值较为接近吻合。4.结论本文将BP神经网络与遗传算法相结合,利用遗传算法的全局寻优的优点来弥补BP神经网络的不足之处,对BP网络权阀值进行优化。改进以后的BP神经网络预测模型具有收敛速度快、预测精度高的优点。将此方法运用于交通流量预测,从模拟实验数据来看,改进后的BP神经网络的预测效果比标准BP神经网络有更好的平均误差水平和收敛速度,说明本文论述的改进方法在交通流量预测方面是可行的。参考文献[1]姚亚夫,刘侃.基于遗传神经网络的交通流量预测研究[J].公路与汽运(第六期),2007(11).[2]张帆.城市交通网络流量预测方法比较[J].科技进步与对策,2004(12).[3]陈国良.遗传算法及其应用[M].北京,人民邮电出版社,1996.[4]周明,孙树栋.遗传算法原理及应用[M].第3版.北京:国防工业出版社,1999.[5]朱中.杨兆升.实时交通流量人工神经网络预测模型[N].中国公路学报.1998(4).[6]孟
本文标题:神经网络算法在交通量预测中的应用
链接地址:https://www.777doc.com/doc-234131 .html