基于双最优学习率快速学习神经网络的交通流预测方法

文档序号:6362973阅读:181来源:国知局
专利名称:基于双最优学习率快速学习神经网络的交通流预测方法
技术领域
本发明属于交通流预测技术领域,涉及一种基于双最优学习率快速学习神经网络的交通流预测方法。
背景技术
交通流预测是智能交通的一个关键技术,交通流预测的精度及实时性直接影响到交通控制算法的好坏。经过几十年的发展,短时交通流 预测出现了许多有用的预测模型。例如移动平均法,其核心思想是根据历史交通流数据,依次计算以前一定周期内的平均值,用来预测下一周期或数周期的交通流。移动平均法的特点可以消除交通流数据中的抖动,显示出其长期趋势,但移动平均法适合预测交通流变化不大的情况,否则将会产生大的滞后及偏差。移动平均法的缺点主要表现在两个方面第一就是预测算法需要存储大量的历史交通流数据;第二就是只考虑当前时刻以前有限个周期的历史交通流数据,对于有限个交通流数据之前的数据则完全不予考虑。后来,为了克服移动平均法的这两个缺点,人们又提出了指数平滑法,指数平滑法考虑了所有的历史交通流数据,并且认为近期交通流数据比远期交通流数据更重要,根据距离的远近,分别赋予预测因子不同的权值,且采用“厚近薄远”法。根据收敛快慢的要求,可以取一个适当的值α,然后使用a M乍为加权值。指数平滑法不需要存储大量的历史交通流数据,是对移动平均法的一个改进,得到了广泛的应用。与移动平均法类似,当时间序列呈直线变动时,预测效果同样会出现滞后现象。

发明内容
本发明的目的是提供一种基于双最优学习率快速学习神经网络的交通流预测方法,以解决现有预测方法的预测结果滞后的问题。为实现上述目的,本发明的基于双最优学习率快速学习神经网络的交通流预测方法步骤如下(I)选用连续的m个交通流历史数据作为预测网络的输入;(2)输入输出数据进行归一化处理,将其范围限定在[-1,I];(3)神经网络采用输入层、隐层、输出层三层网络结构,使用randn函数对权值和小波基函数的伸缩、平移因子初始化,赋予一个(0,1]之间随机值;小波基函数的平移因子和转移因子采用第一学习率,网络权值采用第二学习率;(4)提供一个学习率数组,网络开始学习时,在信号正向传播阶段,信号经各层逐层向后传播,最后到达输出层,信号到达输出层后与期望目标进行比较,如果达到期望目标则网络学习终止;如果没有达到期望目标则转入误差反向传播过程,在反向传播过程中完成网络权值、伸缩和平移因子的调整,根据调整的结果,选取最好的一个,把对应的学习率作为第一、二学习率,如此重复学习,直到达到期望目标或达到最大迭代次数为止;(5)使用样本完成网络训练后,使用当前时刻至前m-ι个共m个周期的交通流数值作为训练后的网络的输入,此时网络的输出进行反归一化后,得到当前时刻的下一时刻的预测值,实现对交通流的预测。进一步的,所述步骤(I)中采用一个时间段的交通流数据序列作为网络训练样本,按采集时间间隔,将整个时间段分为η个时间点数据,在处理时将连续的m个时间序列作为一个样本,第m+Ι个作为样本的输出,输入为(Xi, xi+1,...,xi+m)T,输出为xi+m+1。进一步的,所述步骤(2)中归一化处理的公式为$ =2 X\ mm(X)、-1,其中
max(x) - min(x)
max(X)为交通流样本序列中的最大值;min(x)为交通流样本序列中的最小值;Xi为要归一化的数据A为归一化后的数据。进一步的,所述步骤(3)中学习率数组取值取值范围介于(0,100],在取值上采取 类似对数坐标取值方式。进一步的,所述步骤(4)中每次在权值、平移和伸缩因子调整前,第一、二学习率从学习率数组中各取一个值进来计算网络欲调整前后网络的性能,直到第一、第二学习率把上述数组中的值取完为止,对每个值进行网络性能计算,从计算结果中取性能最好的一个,将性能最好的一个所对应的第一、二学习率数值作为本次学习的学习率。进一步的,所述步骤(5)中反归一化公式为x;=min(x) + ^^.+l)(max(x)-min(x)^* max(x)为交通流样本序列中的最大
值;min(x)为交通流样本序列中的最小值A为要反归一化的数据;Xi为反归一化后的数据。本发明的基于双最优学习率快速学习神经网络的交通流预测方法,每次网络训练时第一、二学习率(权值学习率、伸缩和平移因子学习率)从学习率数组中选取最优学习率,避免通过大矩阵计算来得到学习率的不足,由于神经元的传输函数采用了非线性的小波函数,因此可以加快非线性问题的收敛,同时避免单一学习率造成网络收敛慢的不足,能够实现快速网络训练,高精度预测交通流。


图I是实施例中神经网络结构图。
具体实施例方式基于双最优学习率快速学习神经网络的交通流预测方法,具体步骤是(I)预测网络的输入变量选择及预处理。为预测出当前时刻的下一时刻的交通流数据,选用当前时刻起至前九个交通流历史数据作为预测网络的输入。由于交通流变化较大,故采用归一化方法,通过归一化将其范围限定在[-1,1]。(2)网络结构的确定及初始化。理论上,三层BP网络可以实现任意非线性映射,因此采用三层网络结构,如图I所示,J、K、I分别代表网络的输入层、隐层和输出层,其神经元个数分别为m、L和1,隐层采用morlet小波基函数作为传输函数,其中的a和b代表伸缩因子和平移因子,Ukj是隐层第k个神经元与输入层第j个神经元之间的权值,Wk是输出层与隐层第k个神经元之间的权值。网络的实际输出为,期望输出为y,网络误差函数为MSE。
由于每次输入样本维数为10X1,所以输入层神经元节点个数为10,对于一般的应用,涉及到有限个输入样本,所以隐层节点个数只需要有限个隐层节点即可满足实际映射需要。到目前为止,隐层节点个数如何选取并没有理论性的指导,一般实际应用中通常是根据前人的经验和试凑法来得出最优的隐层节点个数。由前人经验公式H = 4T+0 + a式中H为隐层节点数;1为输入层节点个数;0为输出层节点个数;&为I 10之间的一个常数。由于本实施例输入输出层节点个数为10和1,即I = 10,O = 1,所以H = λ/ΤΤ万+ α取值为4 14,经过多次试验,本实施例隐层节点选取为6。由于输出为当前时刻下一时刻的预测流量,故其输出层神经元节点为I。网络结构确定后,使用randn函数对权值和小波基函数的伸缩平移因子初始化,赋予一个较小的(一般取(0,1]之间的值)随机值。(3)网络训练。 取学习率数组为[O.001 O. 004 O. 007 O. 01 O. 05 O. 09 O. I O. 5 O. 9 I 5 9],网
络参数每次调整前第一、二学习率从上述数组中各取一个值来计算网络预调整(并不实际调整网络参数)前后网络的性能,直到第一、二学习率把上述数组中的值取完为止。最后,根据预调整的结果,选取最好的一个,把对应的学习率作为第一、二学习率,这样可以保证每次网络调整时取得的是最优学习率,即网络调整量为最佳调整量。如此重复学习,直到达到期望目标或达到最大迭代次数为止。学习率数组取值范围介于(0,100],为了兼顾提高网络训练效率和扩大学习率取值范围,在取值上可以采取类似对数坐标取值方式,即
,一般情况下还可根据实际需要减少数组中的元素,比如从上述数组中每隔2个选取出来作为学习率数组。(4)进行预测。使用样本完成网络训练后,使用当前时刻至前九个周期的值作为训练后的网络的输入,此时网络的输出进行反归一化后,即是当前时刻的下一时刻的预测值。
其反归一化公式为=min(x) +去(瓦 +l)(max(x)-min(x))。以某路口交通流历史数据预测下一时刻为例,来说明基于双最优学习率快速学习神经网络的交通流预测方法的具体实施方式
。步骤I :预测数据的选择及处理。以某交叉口 3月I号,0:02:36-23:57:48时间段的交通流数据序列作为网络训练样本,样本数据采集时间间隔为每5分钟I次,共289个时间点数据。由于当前时刻起至前九个交通流历史数据作为网络的输入,所以289个时间序列不能直接用做训练样本,在处理时将连续的10个时间序列作为一个样本,第11个作为样本的输出,即输入为(Xi, xi+1,, xi+9)T,输出为xi+1(l。所以289个时间序列经处理后其输入、输出为
X1 X2 . · · X280
^^3 · · · ^^281P — . · .· ;T — (X11 X12. · · χ289) 1X280
VX10 xIl …Χ289 7!0χ280交通流数值变化量一般比较大,训练样本准备好后,还需要进行输入输出数据(P和Τ)归一化,即对P和T中的每一个元素利用下面的公式进行变换,这样P和T中的每个元素都会映射到[-1,1]范围之内。卜2 η
max(x) - min(x)步骤2 :网络结构确定及网络参数初始化。三层BP网络可以实现任意非线性映射,本例选用三层网络,第一层(输入层)为10个神经元,根据经验公式,第二层(隐层)为6个神经元,第三层(输出层)为I个神经元。因此从输入层到隐层之间的权值矩阵的维数为6X10,从隐层到输出层权值矩阵的维数为I X 10,隐层神经元传输函数采用小波函数,故其伸缩平移因子维数为6X 1,网络参数初始化时首先赋予权值、伸缩平移因子一个较小的(一般取(0,1]之间的值)随机值,初始化时可以使用Matlab提供的randn(m, η)函数,此函数可以初始化mXn的矩阵,给矩阵中的每个元素一个较小 的随机值。设定网络最大迭代次数5000,防止网络无何止的学习。设定网络的期望目标,如果样本数量较大,可适当增大期望目标值,如0.5。步骤3 :网络训练。确定好网络参数后,接下来进行网络的训练,训练时用输入样本矩阵P的每一列作为网络的输入,对于每个输入对应一个输出,信号经各层逐层向后传播,最后达到输出层,因此输出为T' = (X1 X2. . . X280) !X280如果(T-T' )2小于期望目标则训练停止;否则转入误差反向传播过程,在反向传播过程中完成网络权值、伸缩和平移因子的调整,由LM学习算法知,网络的调整量取决于学习率的大小,取学习率数组为
,此取法可以兼顾学习率范围了网络计算效率。如果网络样本数据较小可以增大学习率数据数值个数,否则可以减少其数值个数,在使用学习率进行权值、伸缩和平移因子调整时,设定权值学习率为第一学习率,伸缩和平移因子的学习率为第二学习率,这样网络每次训练时就会有两个学习率,每次调整前第一、二学习率从上述数组中各取一个值来计算网络预调整(并不实际调整网络参数)前后网络的性能,直到第一、二学习率把上述数组中的值取完为止。最后,根据预调整的结果,选取最好的一个,把对应的学习率作为第一、二学习率,这样可以保证每次网络调整时取得的是最优学习率,即网络调整量为最佳调整量。如此重复学习,直到达到期望目标或达到最大迭代次数为止。步骤4 :交通流预测。交叉口的信号周期一般不会小于45秒,神经网络训练时间经验证在20秒左右,因此利用信号周期的前40秒来训练网络,这样在后5秒网络已训练完毕,此时可以预测出下一周期的交通流,预测出的结果由于进行了归一化,所以要求实际的交通流,进行反归一化即可,利用下面的公式即可得到实际的交通流,
_ 。 X1- min(x) 1X1 = 2 ^—- -1
max(x) - min(x)为了进一步提高精度,网络在线训练,即信号周期的前40秒用来训练网络,后5秒进行预测。表I是本发明提出的网络算法与其它几种网络算法学习次数比较;表2是本发明提出的算法与其它几种预测算法的性能比较。表I实验次数I本发明学习次数传统算法学习次数动量算法学习次数
~I20432 62451
—I57343622762
~46633381358
~29226781951
~532014271607
~63452376T182 ~25625282025
~8349Γ 462074
~925220521689
~1034423691385表2
指标移动平均法人工神经网络法双最优学习率快速学习神经网络法
MAE22.16246.84712.1935
MSE2.9067O.8478O.2359
权利要求
1.一种基于双最优学习率快速学习神经网络的交通流预测方法,其特征在于,该方法的步骤如下 (1)选用连续的m个交通流历史数据作为预测网络的输入; (2)输入输出数据进行归一化处理,将其范围限定在[_1,1]; (3)神经网络采用输入层、隐层、输出层三层网络结构,使用randn函数对权值和小波基函数的伸缩、平移因子初始化,赋予一个(0,1]之间随机值;小波基函数的平移因子和转移因子采用第一学习率,网络权值采用第二学习率; (4)提供一个学习率数组,网络开始学习时,在信号正向传播阶段,信号经各层逐层向后传播,最后到达输出层,信号到达输出层后与期望目标进行比较,如果达到期望目标则网络学习终止;如果没有达到期望目标则转入误差反向传播过程,在反向传播过程中完成网络权值、伸缩和平移因子的调整,根据调整的结果,选取最好的一个,把对应的学习率作为第一、二学习率,如此重复学习,直到达到期望目标或达到最大迭代次数为止; (5)使用样本完成网络训练后,使用当前时刻至前m-1个共m个周期的交通流数值作为训练后的网络的输入,此时网络的输出进行反归一化后,得到当前时刻的下一时刻的预测值,实现对交通流的预测。
2.根据权利要求I所述的方法,其特征在于,所述步骤(I)中采用一个时间段的交通流数据序列作为网络训练样本,按采集时间间隔,将整个时间段分为n个时间点数据,在处理时将连续的m个时间序列作为一个样本,第m+1个作为样本的输出,输入为(xi,xi+1,...,Xi+m),ffHI 出为 xi+m+1。
3.根据权利要求2所述的方法,其特征在于,所述步骤(2)中归一化处理的公式为
4.根据权利要求3所述的方法,其特征在于,所述步骤(3)中学习率数组取值取值范围介于(O,100],在取值上采取类似对数坐标取值方式。
5.根据权利要求4所述的方法,其特征在于,所述步骤(4)中每次在权值、平移和伸缩因子调整前,第一、二学习率从学习率数组中各取一个值进来计算网络欲调整前后网络的性能,直到第一、第二学习率把上述数组中的值取完为止,对每个值进行网络性能计算,从计算结果中取性能最好的一个,将性能最好的一个所对应的第一、二学习率数值作为本次学习的学习率。
6.根据权利要求1-5中任一项所述的方法,其特征在于,所述步骤(5)中反归一化公式为x; =min(x) + ^■(瓦+l)(max(x)-min(x)),其中max(x)为交通流样本序列中的最大值;min(x)为交通流样本序列中的最小值为要反归一化的数据;Xi为反归一化后的数据。
全文摘要
本发明涉及基于双最优学习率快速学习神经网络的交通流预测方法,首先选用连续的m个交通流历史数据作为预测网络的输入,对数据进行归一化处理;采用三层神经网络,对权值和小波基函数的伸缩、平移因子初始化;小波基函数的平移因子和转移因子采用第一学习率,网络权值采用第二学习率;提供一个学习率数组,进行双最优学习率的网络训练;使用当前时刻至前m-1个周期的值作为训练后的网络的输入,输出进行反归一化后,得到当前时刻的下一时刻交通流的预测值;本发明的方法在每次网络训练时第一、二学习率采用最优学习率,能够实现快速网络训练,高精度预测交通流。
文档编号G06N3/08GK102682345SQ201210007480
公开日2012年9月19日 申请日期2012年1月11日 优先权日2012年1月11日
发明者刘翠苹, 张世伟, 张海涛, 白舸, 秦黎明 申请人:河南科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1