APP下载

改进ACO优化的BP神经网络短时交通流量预测

2021-11-17张江鑫

计算机仿真 2021年7期
关键词:交通流量阈值遗传算法

蒋 杰,张江鑫

(浙江工业大学信息工程学院,浙江 杭州 310014)

1 引言

随着城市交通系统的快速发展,移动互联、车路协同、主动安全、自主高效的新一代合作智能交通系统(C-ITS)已经成为未来道路交通管理系统的关键推动者[1]。其中,短时交通流量预测是智能交通系统研究的核心问题。

关于预测,早期的预测模型有移动平均模型(MA)、历史平均模型(HA)、自回归模型(AR)、自回归移动平均模型(ARIMA)等,这些模型的理论基础多数是线性估计模型[2],然而实际的交通是一个复杂、随机性干扰、非线性系统,所以这些模型的预测效果难以保证。相比之下,神经网络能够作为多维非线性函数的通用模型,不用受非线性模型的约束,又能通过学习以任意精度逼近复杂的非线性映射,其学习算法在工程上容易实现,因此神经网络模型更适合用于不确定性与非线性的交通流预测[3-4]。其中,BP 神经网络是最常使用的预测模型,但该模型在解决此类问题时自身存在一些不足之处,如收敛速度缓慢,且易陷入局部最优解[5],对于BP神经网络存在的缺点,文献[6]是通过采用加动量项来提高收敛速度,同时在BP神经网络算法迭代的过程中,使步长进行自适应调整,但BP神经网络算法的初始权阈值是随机生成的,因此这种改进方法并不能保证每次预测结果都较为准确。文献[7-8]是根据遗传算法的原理,将BP神经网络的初始权阈值作为变量引入到遗传算法中,通过选择、交叉、变异等一系列操作后得出最优解,但其算法的参数较多,而且参数的选择大部分是根据经验,并且不能够及时利用网络的反馈信息,搜索速度比较慢,要得要较精确的解需要较多的训练时间,算法对初始种群的选择有一定的依赖性,因此预测效果也不能保证。文献[9-10]是根据粒子群算法收敛速度快,设置的参数少等优点,对BP神经网络的初始权阈值进行计算,但其局部寻优能力较差,后期多样性的丢失导致算法容易过早收敛。

针对上述不足之处,本文提出了采用改进蚁群算法的方法优化BP神经网络来进行短时交通流量预测。主要思路是采用蚁群算法确定BP神经网络的初始权阈值,同时考虑到蚁群算法也易出现停滞现象,因此对蚁群算法进行改进,从而提高预测性能。

2 BP神经网络短时交通流量预测模型

神经网络与传统的计算系统不同,它的学习能力使其可以解决诸如预测交通流量一类的复杂问题。反馈式神经网络(BP)是一种按信号向前传输、误差反向传输的多层前馈神经网络,已广泛应用于交通预测[11]。用BP神经网络进行短时交通流预测大致可分为两个阶段:BP神经网络的训练阶段和短时交通流量预测阶段。

BP神经网络短时交通流量预测模型框图如图1所示。

图1 BP神经网络短时交通流量预测框图

其步骤可总结如下:

1)对历史交通流数据进行预处理。

2)建立BP神经网络,并确定神经网络的输入层节点个数和输出层节点个数。

3)生成样本数据库,并划分训练数据和测试数据的比例。

4)确定BP神经网络的隐层数及各隐层的节点数。

5)改进蚁群算法确定BP神经网络的权阈值。

6)输入测试数据,进行短时交通流量预测。

3 蚁群算法的改进

3.1 改进算法的提出

蚁群算法的基本思路如下:蚂蚁在已通过的路上释放一定量的信息素,后面的蚂蚁,通过识别前一个蚂蚁所遗留在道路上的信息素,会朝着信息素浓度较大的路径上行进,并且同时自身也释放信息素,这样,大量的蚂蚁的移动状态能形成一个信息素的正反馈机制,信息素积累小的路径会随着逐渐由于蚂蚁的减少和信息素的消散,最终减少甚至是选择为零,最终通过不断的搜寻和影响,整个蚁群能找到一条最短的路径[12]。

在寻找解的过程中,蚂蚁是通过感知道路上信息素量的大小来决定走哪条路,浓度越高,选择的几率越大,反之亦然,但信息素会不断挥发的,本文采用信息素自适应挥发参数来代替固定的值。在一次迭代结束后,全部蚂蚁会更新信息素,本文采用精英保留策略,将符合要求的种群留下,不符合要求的加入变异因子,然后重新迭代循环。

3.2 信息素自适应挥发系数

在使用蚁群算法构建解的过程中,构建自适应挥发系数ρ的思想来确定 BP 神经网络的权阈值,基本蚁群算法的挥发系数ρ,在初始化时给一个初始值,在之后的迭代中不再使用固定不变的值,而是每次更新迭代的同时进行自适应的改变,挥发系数公式如下

(1)

其中,NC表示循环次数,NCmax表示最大循 环次数,ρstart表示初始化是给定的初始值。

如果挥发系数过大,可能直接导致振荡现象的出现,如果挥发系数过小,使得收敛的速度比较缓慢,所以采用自适应的挥发系数,前期可以增强收敛能力,后期挥发系数越大,也就越能避免振荡现象的出现。

3.3 信息素更新精英选择策略

在全局信息素更新过后,需要根据需求对种群进行选择,对蚁群个体适应度也就是信息素浓度的判断,如果适应度大于平均值,则继续更新迭代,小于平均值的部分,加入变异因子α,使新的种群加入循环,继续迭代寻优。其中判断适应度的公式如下

(2)

(3)

其中,公式中P0=(最好适应度-最差适应度)/蚂蚁个数,fitness为适应度,用来评判当前蚂蚁种群的好坏标准,fitness(i)是当前蚂蚁i信息浓度的值。pop(i,α) 表示当前蚁群种群中加入变异因子,i表示当前的蚂蚁序号,rand是随机值,α是变异因子。

使用精英选择策略可以使蚂蚁系统快速找出最优解,如果蚂蚁数量过多,搜索便会迅速地聚集在极优值的附近,从而导致搜索早熟收敛,所以,选择合适的精英蚂蚁数量有利于避免算法在迭代中陷入极值。

3.4 蚂蚁种群变异因子

根据2.3节的思想,针对计算结果较差的种群,加入变异因子,增加变量的多样性,为后期寻找解提供更多的可能性,其中加入变异因子α的公式如下

α=5×rands(1,1)

(4)

其中,rands表示产生随机数组的函数。

在蚁群算法迭代到后期,很容易陷入局部极值,加入变异因子主要是为了增加多样性,为寻找解提供更多的可能性。

4 基于改进ACO的BP神经网络权阈值确定

当建立好一个BP神经网络之后,就可将数据样本输入网络对其进行训练并实现对短时交通流的预测。通常情况下,BP神经网络的初始权值是随机产生值,此外,由于BP算法是一种梯度最速下降算法,因此其不可避免地容易陷入局部极小值。蚁群算法是一种具有较好全局优化能力的智能算法,故可将蚁群算法与BP神经网络进行结合,利用蚁群算法的全局寻优特性克服BP算法存在的不足[13]。

改进蚁群算法确定BP神经网络权阈值的流程图如图2所示。

图2 改进ACO确定BP神经网络的权阈值流程图

权阈值确定的步骤如下:

Step2:所有蚂蚁从第一个集合开始依次从128个集合中分别选取一个随机数,当全部蚂蚁都完成了在某一集合中的数据选择后,才跳到下一集合,直到结束。其中,第k只蚂蚁选择集合I中的第j个元素的概率公式为

(5)

其中,τj(I)表示集合I的第j个元素信息素值。

Step3:在该次迭代中,m只蚂蚁得出的解作为BP神经网络的权阈值,输入训练数据,并计算该次训练的均方误差(MSE),公式如下

(6)

将128只蚂蚁计算得到的最小的均方误差即最优解(MSEbest)记录下来。

Step4:在一次迭代完成后,进行全局信息素更新,任一个集合I所有元素更新的公式如下

(7)

Δτ=1/MSEbest

(8)

其中,ρ是信息素挥发系数,τ表示信息素值。

Step5:在全局信息素更新过后,对信息素值进行精英选择策略,如果信息素值大于平均值,则继续迭代,反之,则加入变异因子,然后加入迭代,其中判断公式如3.3节所示。

Step6:加入变异因子,其中公式如3.4节所示。

Step7:重复Step2~Step6,直到循环结束,退出循环。

5 仿真结果与分析

5.1 仿真条件及结果

实验是在Intel(R)Core(TM)i5-3230M CPU @ 2.60GHz 2.20GHz,内存为6.00GB,操作系统为Window10中文版 64位,采用Matlab 2016a进行仿真。

本文采用的是双隐层的BP神经网络,输入节点数为7,隐层1节点数为11,隐层2节点数为3,输出层节点数为1。训练输入数据共6720(7×960)个,训练输出数据共96(1×96)个,测试输入数据共672(7×96)个,测试输出数据共96(1×96)个。

选取四川南充公路的西河南路与西门坝街十字交通路口北向南方向作为测试对象,预测的是3月28号的流量,选取的路口如图3所示,根据采集的三个月的交通流量数据,分别用遗传优化BP神经网络算法,粒子群优化BP神经网络算法,鱼群优化BP神经网络算法,本文算法进行仿真,实验结果如图4所示,其中图(a)、(b)、(c)、(d)分别是遗传优化BP神经网络算法、粒子群优化BP神经网络算法、鱼群优化BP神经网络算法和本文算法。

图3 南充市西河南路与西门坝街十字路口

图4 各种算法预测流量与误差

5.2 结果分析

作为对短时交通流预测结果好坏的评估,本文也引入了常用的误差指标,即均等系数EC、平均相对误差MRE和平均绝对误差MAE作为交通流预测误差的衡量指标。

通常情况下,当EC 值大于0.9 时,就可认为是较好的预测结果[14]。MAE、MRE,反应预测误差的大小,数值越小,预测效果越好。

根据实际的交通情况,城市道路车流量在不同时间段内有较大差别,比如每天上班时间的早晚高峰,以及夜间流量较少等情况,本文按0点到7点、7点至17点、17点至20点、20点至24点分成4段,实验路口几种算法的质量评价如表1、2、3、4所示,全天评价指标为表5。

表1 0点至7点各算法质量评价

表2 7点至17点各算法质量评价

表3 17点至20点各算法质量评价

表4 20点至24点各算法质量评价

表5 0点至24点各算法质量评价

如表1所示,在0点至7点之间,车流量较小,本文算法的EC值均优于其它算法,比相对最好的遗传算法高了0.0043415。

在绝对误差MRE上,本文算法比相对最优的遗传算法低了14.88%。在相对误差MAE上,本文算法比相对最优的遗传算法降低了3.93%。

从表1和图4(d)本文算法在0点到7点之间不论是预测效果还是误差方面均为最优。

如表2所示,在7点至17点之间,本文算法的EC值比相对最优的遗传算法高了0.0059181。在绝对误差MRE上,本文算法比鱼群算法低了16.15%,在相对误差MAE上,本文算法比较好的鱼群算法低了15.33%。

从评价指标来看,本文预测的结果相对较好,与其它算法误差相对较小,且EC值大于0.9,可认为是较好的预测结果。

从表2和图4(d)可以看出,车流量处于白天高峰时段,从评价指标可以看出,本文算法最优,可认为预测效果较好。

如表3所示,17点到20点之间出现了流量高峰,本文算法的EC值比最优的遗传算法高了0.000219。在绝对误差MRE上,本文算法比鱼群算法低了2.95%。在相对误差MAE上,本文算法比粒子群低了1.31%。

从表3和图4(d)可以看出,本文算法对流量高峰的趋势预测更准确,相较于其余几种算法在高峰时段内的预测结果更优。在EC值和误差指标上,本文算法均为最优。

如表4所示,本文算法的EC值均优于其它算法,比相对较优的粒子群算法高了0.0094。在绝对误差MRE上,本文算法比遗传算法低了11.59%。在相对误差MAE上,本文算法比鱼群算法低了10.78%。

从表4和图4(d)可以看出,20点过后,车流量逐渐减少,本文算法相较于其余几种算法在该时段内的预测结果更优。在EC值和误差指标上,本文算法均为最优。

如表5所示,本文算法的EC值均优于其它算法,比相对较好的遗传算法高了0.0029657。在绝对误差MRE上,本文算法比相对较好的遗传算法低了8.16%。在相对误差MAE上,本文算法比遗传算法低了4.43%。

从表5和图4(d)可以看出,在全天范围内,本文算法比其它算法在三个指标上更好,实际的预测效果也更好。

6 结束语

本文利用改进蚁群算法的全局搜索能力来优化 BP 神经网络的初始权阈值,既可以很好地避免其陷入局部最优值,又能一定程度地缩短收敛时间,与未优化的 BP 神经网络相比,大大提高了预测精度且处于合理范围内。相较于其它几类的优化算法,预测的流量也更好地拟合出交通流的各种变化规律,从而使其较准确地反映出未来路面交通状况,为人们的出行提供便利,方便交通管理部门掌握流量情况,及时进行引导和分流,有一定的实用价值。

猜你喜欢

交通流量阈值遗传算法
基于改进遗传算法的航空集装箱装载优化
非平稳声信号下的小波变换去噪方法研究
土石坝坝体失稳破坏降水阈值的确定方法
一种改进小波阈值去噪法及其仿真
一种小波阈值函数构建的图像去噪算法研究
基于遗传算法对广义神经网络的优化
基于遗传算法对广义神经网络的优化
基于遗传算法的临床路径模式提取的应用研究
基于遗传算法的临床路径模式提取的应用研究
物流配送车辆路径的免疫遗传算法探讨