李会超 李 鸿 张 博
(长沙理工大学电气与信息工程学院 湖南 长沙 410004)
在城市化高速推进的过程中,交通问题愈发成为制约城市发展的一个关键因素。作为一种能有效缓解城市交通问题的手段,智能交通系统ITS(Intelligent Transportation Systems)已经普遍应用于中大型城市交通系统中。短时交通流量的预测是交通控制与交通诱导等子系统的前提和关键,因此短时交通流量预测的准确性和实时性始终是学者研究ITS的重点[1]。
微观层面上将间隔15 min以内的车流量预测称之为短时交通流量预测。较早的预测模型如移动平均模型、历史平均模型,其大量线性评估的理论基础不需要建立精确的数学模型。但交通流量的时变性、非线性和高复杂性使得较早模型对交通流量的预测存在很大误差。目前,广泛应用的短时交通流量预测模型主要有以下三种:时间序列模型、非参数回归模型和神经网络模型[2]。其中神经网络因其良好的非线性品质和自组织学习能力在预测领域得到广泛应用,典型的代表就是小波神经网络[3]。
在1992年,Zhang等[4]提出了小波神经网络WNN(Wavelet Neural Network),随后便成为了热门的建模分析方法。小波神经网络既继承了BP神经网络的网络结构,又结合了小波分析理论,用小波基函数代替原有网络中隐含层节点的Sigmoid函数进行函数映射,改变了神经网络对非线性模型拟合的基函数[5]。小波神经网络综合了小波分析和神经网络在处理非线性问题上的优势,很好地解决了BP神经网络结构设计的盲目性和易陷入局部最优的问题[6]。
小波神经网络相对于其他网络虽然具有更好的学习能力,但是小波参数初值设定直接影响网络的逼近能力,如果网络参数确定不好,将造成如下三种现象:1) 易陷入局部最优,误差始终无法达到误差限;2) 收敛速度慢,增加算法的搜索时间;3) 引起误差曲线震荡,不能保证误差一直趋于最小。 因此,学者提出不少改进算法,文献[7-8]采用粒子群算法优化WNN,但面临粒子群算法易早熟和局部寻优能力差等缺点;文献[9]采用蚁群算法优化WNN,但面临蚁群算法全局搜索能力差,计算量大等缺点。鉴于遗传算法有着较好的全局搜索能力,本文采用遗传算法优化小波神经网络的初始参数。
小波神经网络分为松散型与融合型两类,前者将小波分析作为神经网络的前置手段,对网络输入初步优化,使得信息便于神经网络的处理,但这类WNN并未改变隐含层的传递函数,依然存在神经网络的固有缺陷;后者采用小波元替代神经元,用小波函数的伸缩、平移参数替代输入层到隐含层的权值及隐含层阈值,是小波和神经网络的直接融合。本文研究采用融合性WNN,其网络拓扑结构如图1所示。
图1 融合性小波神经网络拓扑结构图
图1中各个字母代表含义如下:
x1,x2,…,xM:输入层数据;
wj,k:输入层到隐含层的权值参数;
ψa,b(x):小波基函数,本文采用Morlet函数,其表达式如下:
(1)
a、b分别为小波基函数的伸缩参数和平移参数;
wi,j:隐含层到输出层的权值参数;
σ(I-t):输出层Sigmoid函数,其表达式如下:
(2)
I、t分别为输出的输入和阈值。
y1,y2,…,yN:输出层数据。
为求得WNN的稳定结构,首先借助训练集数据进行学习,其次借助测试集数据对网络结构验证。在学习过程的第一阶段,将经隐含层处理的样本数据作为输出向前传播,然后与期望输出对比,若不匹配,则进入第二阶段。此阶段将输出误差以某种形式反向传至各层神经元,从而获取调整各个神经元权值的误差信号。经过两个阶段重复迭代,修正WNN网络的参数。在训练中,以输出误差限定值或设定的迭代次数作为终止条件。整体思想如以下伪代码所示:
While不满足终止条件 {
遍历训练集中的每个样本:
#1 将每个样本输入沿着网络前向传播计算
输入层到隐含层:
隐含层输入表达式:
(3)
隐含层输出表达式:
(4)
隐含层到输出层:
输出层输入表达式:
(5)
输出层输出表达式:
yn=sigmoid(In-tn)
(6)
#2 使用误差项后项传播
误差函数:
(7)
输出层权重更新表达式:
(8)
输出层阈值调整表达式:
(9)
隐含层权值调整表达式:
(10)
伸缩参数调整表达式:
(11)
平移参数调整表达式:
(12)
式(8)-式(12)中η均为小波神经网络的学习效率。
}
遗传算法GA(Genetic Algorithm)是借鉴生物界优胜劣汰的进化规律演化而来的一种并行随机搜索算法,其主要思想是把问题参数编码为染色体,对染色体进行一系列运算。即由选择算子获得优良个体遗传给下一代;利用交叉算子进行模式重组;利用变异算子进行模式突变。经过循环这些遗传操作,种群向有利的方向进化,最终得到所求问题最优解。遗传算法的随机搜索能力,使其能够避免陷入局部最优,且有着较好的收敛速度,可以在小波参数优化问题上充分发挥优势。
遗传算法优化的主要要素:
(1) 编码设置 由于待优化参数较多,文中遗传算法采用实数编码,通过对种群中具有某种形式的个体进行遗传操作,获取群体中最优个体,然后通过解码得到网络最佳参数。
(2) 适应度函数 遗传算法在迭代过程中将适应度函数作为个体优劣的评价依据,其评估结果可直接作为选择算子的依据,不需要外部信息。本文中适应度函数确定为:
(13)
式中:E是小波神经网络的误差函数。
(3) 遗传操作 遗传操作是遗传算法的核心,其目的是通过逐代优化获得问题最优解,包括三个基本遗传算子:选择、交叉、变异。
选择算子,在迭代过程中选择优质的个体,淘汰劣质的个体,本文采用基于适应度比例选择策略的轮盘赌法。
交叉算子,选择操作后的新一代群体,按一定的概率在两两之间进行交叉操作。交叉概率PC的大小将影响算法的全局搜索能力,一般较大的交叉概率可以促进种群进化。
变异算子,随机改变种群个体编码串上的值,即某个个体的个别基因发生0-1反转。变异操作按一定的概率Pm进行,其目的一方面是使算法具有局部搜索能力,另一方面是保持群体多样性,防止早熟现象的发生。
利用遗传算法对网络权值优化的全局搜索能力与神经网络良好的逼近能力,可以对复杂的短时交通流量建模,克服了传统小波神经网络训练时易陷入局部极值的弊端。遗传算法优化小波神经网络的原理如图2所示。
图2 遗传算法优化小波神经网络流程图
算法的基本步骤如下:
Step1设种群规模为M。随机生成初始种群N=(N1,N2,…,NM),采用实数编码对个体Ni编码。
Step2用Step1中的种群N进行训练,此时的WNN参数由初始化获得。
Step3计算种群N中每个个体的适应度值。若满足终止条件则跳至Step6,不满足则执行Step4。
Step4对于适应度大的个体,选择其中一部分直接继承给下一代,同时将遗传操作后产生的最差个体用父代适应度最大的个体替代。
Step5对当前一代群体进行交叉和变异等遗传操作,产生下一代群体,转Step3。
Step6循环结束,将最后一代群体中最优个体的解码还原值作为WNN的初始参数。
Step7采用Step6获取的最优参数建立短时交通流量预测模型。
采集长沙市某路口连续5天的地磁车流量数据作为实验样本,每15 min统计一次交通流量数据,共得到480个实验数据,并取其中384个数据作为训练集,剩余96个数据作为测试集。
为评价GA-WNN算法的性能,仿真实验以未经优化的WNN算法作为对比模型,以E、MAE、RMSE、MAPE作为评价指标,计算公式如下:
(14)
(15)
(16)
(17)
遗传算法迭代次数为120次,交叉概率Pc=0.9,变异概率Pm=0.05;GA-WNN及WNN网络模型参数设置:学习率为0.08,训练次数为100次,寻优次数为20次。图3-图6为本实验在MATLAB环境下的仿真结果,表1为两种预测模型各项评价指标。
图3 遗传算法迭代误差进化曲线图
图4 预测模型迭代训练误差曲线图
图5 WNN与GA-WNN预测误差图
图6 WNN与GA-WNN预测结果
评价指标算法模型MAERMSEMAPEWNN5.458 36.265 08.66%GA-WNN4.791 75.588 37.79%
如图3所示,随着遗传迭代的进行,误差在逐渐缩小,当进行至72次时,网络趋于稳定。迭代完成后,保存网络,此时获得小波神经网络初始参数值。如图4所示,WNN网络在迭代60次时趋于稳定,而GA-WNN网络在迭代进行至15次时已趋于稳定,表明GA-WNN预测模型收敛速度明显优于WNN。由图5可知,优化后的算法可将预测误差控制在一个相对较小的范围内波动,并且WNN模型Emax=15,而GA-WNN模型Emax=12。由图6可知,WNN与GA-WNN虽整体上都能反映短时交通流量变化趋势,但后者明显具有更好的拟合效果。如表1所示,后者各项评价指标均小于前者,结合图6,表明GA-WNN模型对短时交通流量具有更高的预测精度。
综合分析可知,本文提出的基于遗传算法优化小波神经网络的预测模型对于复杂的短时交通流量具有良好的预测精度,能较好地反映交通流量的走势,有着良好的实用价值。
本文针对短时交通流量的特性,建立了小波神经网络预测模型,并就小波神经网络收敛速度慢,易陷入局部极值的缺点,提出了用遗传算法优化小波神经网络参数。仿真结果表明,该方法具有学习速率快、逼近能力强和全局寻优等优点,对短时交通流量的预测具有更高的精度。