基于改进灰狼算法优化BP神经网络的短时交通流预测模型

2020-05-13 10:00张文胜郝孜奇朱冀军杜甜添郝会民
交通运输系统工程与信息 2020年2期
关键词:测试函数灰狼交通流

张文胜,郝孜奇,朱冀军,杜甜添,郝会民

(1.石家庄铁道大学交通运输学院,石家庄050043;2.河北省交通安全与控制重点实验室,石家庄050043;3.河北省交通规划设计院,石家庄050011;4.天津轨道交通运营集团有限公司,天津300222;5.石家庄市勘察测绘设计研究院,石家庄050011)

0 引言

准确、实时的短时交通流预测是交通控制及交通诱导的重要保障.由于交通流变化趋势具有非线性和不确定性,人工神经网络凭借其良好的非线性收敛能力,可以更加准确学习短时交通流中的不确定性,但神经网络存在收敛速度慢,容易陷入局部极值的缺点.为此,Fabio Moretti[1]等用统计方法优化人工神经网络,提出了一种基于神经网络的混合模型对短时交通流进行预测,预测结果较优,但人工神经网络的阈值为确定值,降低了预测精度.Chai Yanhong[2]等将小波分析和BP(Back Propagation)神经网络进行结合,使用小波函数进行初始数据的去除噪声处理,将处理后的数据用BP神经网络进行训练,使用梯度下降法进行神经网络参数调整,提高了预测结果的精度,但降低了收敛速度.近年来,各种元启发式算法凭借其收敛速度快,精度高的特点,广泛应用于神经网络的优化.Mirjalili[3]提出一种新的元启发式算法——灰狼算法(Grey Wolf Optimizer,GWO),较其他元启发式算法具有调整参数少、便于理解、收敛速度快的优点,但灰狼算法依然存在对多峰函数求解时收敛速度慢,容易陷入局部最优解的缺点.石峰等[4]利用灰狼算法对空气质量检验样本进行实时监控训练,避免了神经网络过拟合现象的发生,但该算法具有后期收敛速度慢的缺点.傅蔚阳[5]等使灰狼个体移动方向满足反向学习策略,改善了算法的寻优范围,但降低了算法的收敛速度.

本文提出一种基于改进灰狼算法(Transformed Grey Wolf Optimizer,TGWO)优化BP神经网络(TGWO-BP)的短时交通流预测模型,对标准灰狼算法中的收敛因子和位置更新公式进行改进,改善标准灰狼算法的寻优能力和收敛特性.利用改进灰狼算法对BP神经网络的权值和阈值进行寻优,使BP神经网络的收敛速度更快,精度更高.

1 改进的灰狼算法

1.1 灰狼算法

在灰狼群体中,灰狼个体按照社会关系严格划分为α、β、δ、ω这4个等级,如图1所示.其中,α狼为头狼,β狼为协助者,δ狼服从α、β的命令,并指挥没有自主决策能力的ω狼.在狩猎过程中,灰狼在α狼的带领下,有组织地对猎物包围,进而攻击[3].

图1 灰狼社会等级划分Fig.1 Grey wolf social hierarchy

在数学模型中,每只灰狼个体代表种群中一个候选解,将种群中的最优解称为α,次优解称为β,第三优解称为δ,其余候选解统称为ω.灰狼算法的每次迭代,将α、β和δ作为前三优解,判断猎物位置,指挥ω在猎物周围随机更新,向猎物不断逼近.

假设灰狼种群规模为N,搜索空间为D维,第i只灰狼的位置为,则狼群的行为公式如下.

(1)包围行为.

灰狼在发现猎物后将其包围,包围的公式为

式中:D为灰狼个体和猎物之间的距离;t为当前迭代次数;Xp(t)为猎物在t次迭代的位置向量;X(t)为灰狼个体在t次迭代的位置向量;A和C为系数向量,计算公式为

式中:r1,r2为标量在[0,1]之间的随机向量;a为收敛因子,a的值从2线性递减至0,计算公式为

式中:tmax为最大迭代次数.

包围行为中,改变A和C的值可实现灰狼对猎物的搜索,通过r1,r2的随机设定,灰狼可以搜索到猎物周围的n个方向[6].|A|表示A值的大小,由式(2)可知,当|A|>1时,灰狼下一步迭代将从当前位置远离猎物,即候选解趋向由猎物向外发散,以进行全局搜索,搜索其他潜在最优解;当||A<1时,灰狼个体的下一位置将处于当前位置和猎物之间,即候选解趋向于向猎物集聚,以进行局部搜索,逼近最优解.

(2)捕猎行为.

灰狼将猎物包围后由头狼α指导,β和δ协助,进行捕猎行为.猎捕行为中,灰狼由α、β、δ带领,逐渐靠近猎物.α、β、δ的位置更新公式分别为

式中:A1和C1、A2和C2、A3和C3分别表示α、β、δ的系数向量;Xα(t)、Xβ(t)、Xδ(t)分别表示α、β、δ相对猎物的位置向量;X1(t+1)、X2(t+1)、X3(t+1)分别表示α、β、δ灰狼个体在(t+1)次迭代时的位置向量.

灰狼通过式(6)~式(12)不断调整猎捕方向和与猎物的距离,多次迭代后,捕获猎物.此时头狼α所在位置和适应度,即为最优解.

灰狼算法的收敛因子是呈线性递减的.在实际应用中:函数在算法初期,需要较大的搜索范围;在迭代后期,则需要较小的搜索范围,使局部搜索更加精细.线性递减的收敛因子不能满足灰狼算法的自适应搜索,算法收敛速度较慢,容易陷入局部极值.标准灰狼算法中的步长更新公式假定猎物位置不变,而实际问题中,猎物位置是在不断移动的,固定的猎物位置导致算法资源浪费,不容易收敛到极值.

1.2 灰狼算法的改进

分别将标准灰狼算法的收敛因子和步长更新公式进行改进,改善灰狼算法收敛速度和搜索特性.

(1)自适应收敛因子.

标准灰狼算法开发能力依赖于A的取值,A的取值又依赖于收敛因子a的变化,在标准灰狼算法中,Mirjalili[3]规定收敛因子由2线性递减至0.Sasmita[7]证明线性递减的收敛因子不能很好地区分全局搜索和局部搜索.在实际灰狼群体中,前期搜索空间较大,需要快速搜索;后期距离猎物较近,步长过大容易漏掉搜索空间,过早地陷入局部最优解,需要精细搜索.

依据Sigmoid函数前期下降快,后期下降慢的特点,提出一种基于Sigmoid函数的收敛因子计算公式.

式中:amax为收敛因子设定的最大值.

基于Sigmoid函数重新定义了收敛因子的变化率,使收敛因子的值随迭代次数的增加,呈非线性减小.a在迭代初期,减小较快,搜索范围较大,在进行全局搜索时,可以更迅速地发现多个潜在极值;随着迭代次数的增加,a减小较慢,在进行局部搜索时,较小的步长可以防止算法漏掉函数的极值点.

(2)步长更新公式.

在粒子群优化算法[8](Particle Swarm Optimization,PSO)中,采用经典的线性递减权重策略,通过引入动态惯性因子θ,平衡了算法进行全局和局部搜索的能力.

式中:θ为惯性权重;θmax表示惯性权重的最大值,一般取0.9;θmin表示惯性权重的最小值,一般取0.4.

受其启发,本文提出一种基于惯性权重的灰狼位置更新公式,赋予灰狼跳出局部极值的能力.

式中:φ为惯性权重;φmax表示惯性权重的最大值,一般取0.9;φmin表示惯性权重的最小值,一般取0.4.

在新的步长更新公式中,惯性权重是线性递减的.当惯性权重设置较大时,可以降低算法陷入局部极值的风险;当惯性权重设置较小时,可以提高算法的搜索精度,减少不必要的迭代过程,提高算法计算效率.

2 改进算法性能测试及仿真实验

2.1 测试函数

为测试改进灰狼算法的性能,选取文献[9]中8个国际通用的标准测试函数对TGWO进行仿真测试,8个测试函数如表1所示.函数分为3类,f1~f4为单峰函数,f5~f7为多峰函数,f8为固定维度多峰函数.测试函数涵盖了多个类型,测试结果具有指导作用.

表 1 8个测试函数表Table 1 Eight test function tables

2.2 改进灰狼算法TGWO与GWO和PSO算法的比较

利用本文提出的改进灰狼算法对上述8个测试函数进行求解,与标准GWO、PSO进行比较.为保证算法的公平性及准确性,3种算法的参数取值一致.设种群规模为30,最大迭代次数为500,每个函数独立运行30次,分别记录每次的最优值.计算3种函数运行30次的最优解的平均值和标准差,用以测试算法的搜索精度和稳定性.PSO、GWO、TGWO算法对8个基准函数的测试结果如表2所示.

表 2 3种算法对测试函数的寻优结果Table 2 Optimization results of three algorithms on test functions

表2中,将8个函数在算法中的最优值用粗体标出,8个测试函数中TGWO都可以收敛到极值处(当收敛进度达到1×10-10时认为算法收敛).与PSO对比可知,GWO和TGWO在收敛精度上有很大提高;与传统GWO相比,TGWO收敛结果更加准确.

表2中,只能观察到TGWO寻找到8个测试函数的最优值比GWO和PSO寻找到的最优值更加准确,不能准确分析TGWO的收敛速度.为了分析TGWO的收敛性,图2给出8种算法的收敛曲线对比图.

图2 8个测试函数的函数图和收敛曲线对比图Fig.2 Comparison diagram of function diagram and convergence curve of eight test functions

图2各分图:左图为测试函数的三维搜索空间分布图,x1和x2分别为函数搜索区间,F(x1,x2)表示函数值的大小;右图为智能算法对函数求极值时的收敛曲线,横轴表示迭代次数,纵轴是最优值.

可以看到:对于单峰函数f1~f4,改进的灰狼算法收敛速度大幅度增加,收敛精度在标准灰狼算法的3倍以上;对于多峰函数f5和f7,改进的灰狼算法精度可以收敛到0,标准差为0;对于固定维度多峰函数f8,改进的灰狼算法收敛到其最小值-3.68.由此可见,TGWO在测试函数上收敛速度较PSO和GWO更快,精度更高.

3 短时交通流预测模型构建与实例分析

3.1 TGWO-BP模型的构建

在短时交通流的预测中,BP神经网络具有接近任何非线性函数的能力,本文构建了基于改进灰狼算法优化BP神经网络(TGWO-BP)的短时交通流预测模型.利用改进的灰狼算法寻找到两个最优值,作为BP神经网络的初始权值和阈值,利用优化后的BP神经网络进行短时交通流的训练和预测,提高传统BP神经网络模型的预测精度.

(1)初始化灰狼种群,确定BP神经网络参数.选择符合实际数据的BP神经网络输入层、隐含层、输出层,以及各层的激活函数.

(2)确定灰狼种群的适应度函数.用初始化后的灰狼参数构建BP神经网络,将BP神经网络期望值和预测值相差的绝对值之和作为灰狼的适应度函数,公式为

式中:n为网络输出节点数;xe和xe分别为网络的预测输出和期望输出.

(3)将适应度函数值视为灰狼群体中的猎物位置,利用TGWO,寻找到最优函数值.输出函数的两个最优解,将输出的两个最优解分别赋为BP神经网络的权值和阈值.对BP神经网络进行训练,达到训练精度要求后,输入预测数据,输出最终预测结果.

3.2 模型评价指标

对短时交通流预测模型的精度进行判定,采用平均绝对百分误差(Mean Absolute Percent Error,MAPE)进行误差分析.

式中:EMAPE为平均绝对百分误差值;xi、xi分别为交通流的预测值、实测值;N为预测的总时间长度.

3.3 交通流预测实例分析

实验数据为2017年3月7日~4月20日贵阳市白云区00:00-23:55的车流量数据,时间间隔为5 min.利用Matlab 2017a进行编程分析,对数据进行预处理,包括冗余数据的删除与错误数据的修改、小波去噪、相空间重构与归一化处理.将数据集利用BP_Adaboost强分类器进行分类设计.

将预处理后的数据分别输入本文构建的TGWO-BP、GWO-BP、PSO-BP、BP神经网络模型进行短时交通流的预测,比较各个模型的预测输出.为保证对比结果的公平性,各模型的参数设置保持一致.BP神经网络训练次数为100,精确度为0.000 1,学习率为0.01;灰狼算法(GWO)和改进灰狼算法(TGWO)种群数量为30,迭代次数为500,维度为41;粒子群算法(PSO)种群数量为30,迭代次数为500.每种模型独立运行50次,取平均值作为最终预测结果.4种模型预测短时交通流的期望输出和预测输出结果如图3~图6所示.

图3 基于TGWO-BP的短时交通流预测模型Fig.3 Short-term traffic flow based on TGWO-BP

图3中,基于TGWO-BP的短时交通流预测结果较为精确,预测输出与期望输出变化范围基本一致,相比于其他3种预测模型,预测输出与期望输出间的误差更小,可以较准确地描述短时交通流的变化趋势.图4中,基于GWO-BP的短时交通流预测结果可以大致满足交通流的变化趋势,但是随时间的增长,后期误差较大,预测输出的值偏低.图5中,基于PSO-BP的短时交通流预测结果误差较大,在时间轴[100,200]内,预测输出值的趋势平缓,波动幅度小;在时间轴250左右,预测输出普遍偏高,明显偏离期望输出.图6中,基于BP的短时交通流预测结果不能满足交通流的变化趋势,在大部分时间范围内,预测输出均低于期望输出,不能很好地拟合期望输出.

图4 基于GWO-BP的短时交通流预测模型Fig.4 Short-term traffic flow based on GWO-BP

图5 基于PSO-BP的短时交通流预测模型Fig.5 Short-term traffic flow based on PSO-BP

图6 基于BP的短时交通流预测模型Fig.6 Short-term traffic flow based on BP

为更直观地判断4种预测模型的预测结果,利用平均绝对百分误差(MAPE)对4种预测模型进行对比分析,MAPE的值取短时交通流预测模型独立运行50次之后的平均值,如表3所示.

表 3 4种预测模型的平均绝对百分误差值Table 3 MAPE of four forecast models

由表3可知,基于TGWO-BP的短时交通流预测误差值小于GWO-BP、PSO-BP和BP神经网络模型,预测精度比GWO-BP高出1.22%,比PSOBP高出3.91%,比BP神经网络模型高出4.33%,说明TGWO-BP在短时交通流预测方面具有更高的精度.

4 结论

本文针对标准灰狼算法收敛速度慢,不易区分全局搜索和局部搜索,以及容易陷入局部极值的问题,基于Sigmoid函数改进了灰狼算法的收敛因子,使其具有自适应递减的能力,提高算法搜索速度,引入惯性权重改进狼群的位置更新公式,使灰狼自动更新搜索步长,不容易陷入局部极值.

通过求解8个基准测试函数进行了TGWO的验证,结果证明,TGWO较GWO和PSO具有更高的精度和更快的收敛速度.利用改进的灰狼算法优化BP神经网络的权值和阈值,构建了基于TGWO-BP的短时交通流预测模型,通过与GWOBP、PSO-BP和BP神经网络模型进行对比实验,发现TGWO-BP预测误差为10.03%,具有更高的预测精度,可以满足短时交通流预测的准确性和实时性的要求,具有良好的应用前景.

猜你喜欢
测试函数灰狼交通流
基于LSTM的沪渝高速公路短时交通流预测研究
京德高速交通流时空特性数字孪生系统
解信赖域子问题的多折线算法
一种基于精英选择和反向学习的分布估计算法
灰狼和山羊
基于自适应调整权重和搜索策略的鲸鱼优化算法
谷谷鸡和小灰狼
灰狼的大大喷嚏
具有收缩因子的自适应鸽群算法用于函数优化问题
灰狼照相