一种基于改进学习率的深度学习交通流预测方法与流程

文档序号:16211994发布日期:2018-12-08 07:51阅读:155来源:国知局
一种基于改进学习率的深度学习交通流预测方法与流程
本发明涉及道路车辆的交通控制系统的
技术领域
,特别涉及一种基于改进学习率的深度学习交通流预测方法。
背景技术
交通流量预测不仅对于一个城市的交通指挥调度系统有着关键的作用,还同时关系着城市建设和人们生活、工作、学习的方方面面,精准的交通流预测能够有效助力城市交通指挥调度,避免拥堵,提前预知交通流量使得人们能避开拥堵的路段或时间段,节约出行时间,当发生紧急情况时,救援人员也能以最快的速度,在最短的时间内到达现场,节约救援时间。因此,精准的交通流量预测至关重要。目前预测交通流方法主要分为三类。第一类基于线性回归、时间序列、卡尔曼(kalman)滤波等传统的预测模型。这一类的模型建立简单、容易,虽然也能用来做预测并且应用也较多,但是由于它们大多是基于数据统计后再建立模型,所以它们的适应能力不强,又由于交通流数据是高度非线性的,影响因素较多,所以用传统的数学模型方法很难精确预测出交通流量。第二类为基于神经网络、支持向量机(supportvectormachine,svm)、径向基函数(radicalbasisfunction,rbf)等模型的预测方法,虽然对比第一类的模型,其预测的精准性有了很大的提高,模型的适应性也有所增强,但是由于其本身容易陷入局部最小值、收敛速度慢、模型训练难的缺陷,同时交通流的又存在大量数据,而这些模型恰恰是当数据量大时效率降低,因此用来预测所得的结果很不稳定。第三类为基于改良的或者组合的神经网络和机器学习等模型用来做预测,虽然它们克服了单纯的神经网络训练难度大、收敛速度慢的缺点,但是当数据量比较大时,模型的建立和训练复杂程度会急剧增加,而随着数据量的增加,训练时带来的误差也会越来越大,预测的精度也会降低。技术实现要素:为了解决现有技术中存在的问题,克服现有技术中预测交通流的方法无法兼顾精准度高、效率高、数据量大等情况,本发明提供一种优化的基于改进学习率的深度学习交通流预测方法,在训练过程中采用深度学习模型,以改进的深度信念网络(deepbeliefnetworks,dbn)模型来进行数据的训练以提取出数据的特征,使用径向基函数rbf来进行数据预测,最终使用改进的dbn-rbf组合模型来进行精准的交通数据流预测。本发明所采用的技术方案是,一种基于改进学习率的深度学习交通流预测方法,所述方法包括以下步骤:步骤1:改进深度信念网络模型在训练中的学习率及训练次数的确定方法;步骤2:利用改进的深度信念网络模型和径向基函数建立预测用的深度信念网络-径向基函数组合模型;步骤3:使用交通流数据对步骤2的模型进行训练;步骤4:使用训练完成的模型对交通流进行预测。优选地,所述步骤1包括以下步骤:步骤1.1:令λ为学习率,λ(t+1)=φ(λ(t)),其中,φ为λ对应的变换映射规则,t为训练次数,变化速率步骤1.2:若当前重构误差err(i)小于上一次重构误差err(i-1),进行步骤1.3,若当前重构误差err(i)大于上一次重构误差err(i-1),进行步骤1.4,若当前重构误差err(i)等于上一次重构误差err(i-1),λ(i+1)=λ(i),进行步骤1.5;步骤1.3:进行步骤1.5;步骤1.4:其中,tmp为候选学习率值,gd为当前梯度和上一次梯度的平方和,a为常量;步骤1.5:取λ(i+1)与λ(i)的差值的绝对值ε,当ε无限趋近于0,停止学习率改进;步骤1.6:确认训练次数t。优选地,所述步骤1.5中,ε∈[0.0001,0.0005]。优选地,所述步骤1.6中,若或|β(t-n)-β(t-n-1)|≥α(n=0,1,2..),则继续迭代,否则当前的t则为训练次数,其中,λ(t)为第t次的学习率,为阈值,β为深度信念网络模型的重构误差,n为连续统计误差的次数,α为误差波动范围。优选地,优选地,α为大于10的整数。优选地,所述步骤2包括以下步骤:步骤2.1:以改进后的深度信念网络模型与径向基函数建立深度信念网络-径向基函数组合模型,以深度信念网络作为输入用的网络层,以径向基函数作为输出层;步骤2.2:输入交通流数据d={d1,d2,...dm},其中,数据di={di1,di2,...din},即任一交通流数据包括n个属性,d为一个m×n的矩阵;步骤2.3:深度信念网络提取数据特征值p=φ(fψ(di1),fτ(di2),...fχ(din)),其中,φ为提取任一条交通流数据特征的集合,函数f用于提取出所述交通流数据中每个属性对应的特征;步骤2.4:q=θ(p1,p2,...pm),其中,θ为用于抽象出p的组合的更高层特征的函数,q为交通流数据d的整体特征;步骤2.5:输入q至径向基函数,输入一个与q相关的预测值out=г(q),最终获得输出预测值out。优选地,所述步骤2.2中,属性包括车速、车重及交通流数据对应的时刻。优选地,所述步骤3中,使用交通流数据进行训练包括以下步骤:步骤3.1:输入交通流数据x=(x1,x2,...xn),其中,xi为对应的一条交通流数据,xi=(xi1,xi2,...xin),xij为交通流中xi的第j个属性;步骤3.2:对输入的数据进行归一化处理,其中,y1=0,y2=1;步骤3.3:将归一化后的交通流数据x’输入模型,调整权重△wij=λij(m(vihj)-r(vihj),其中,λ为学习率,m(vihj)为网络每一层的重构前模型的分布情况,r(vihj)表示重构后模型的分布情况,训练并微调。优选地,微调是指在进行bp算法的同时对权重进行调整,直至模型输出值与输入数据的误差为最小。本发明提供了一种优化的基于改进学习率的深度学习交通流预测方法,通过改进深度信念网络的模型在训练中对于学习率和训练次数的确定方法,利用改进的深度信念网络和径向基函数的优点建立预测用的深度信念网络-径向基函数(dbn-rbf)组合模型,使用交通流数据对模型进行训练,并使用训练完成的模型对交通流进行预测。本发明经过实验论证,当数据量较大且波动亦较大时,本发明的深度信念网络-径向基函数(dbn-rbf)组合模型无论是从预测的稳定性还是误差的结果上都明显优于其他模型,精准度高、误差小、收敛速度快。附图说明图1为本发明中深度信念网络-径向基函数模型的示意图,其中,a为输入层,b为隐层,c为输出层,d为深度信念网络dbn的部分,e为径向基函数rbf的部分;图2为本发明的预测方法的流程图;图3为每5分钟本发明的模型与现有技术其他模型的预测结果,其中,左上为本发明的dbn-rbf模型预测结果,右上为svm模型预测结果,左下为rbf模型预测结果,右下为bp模型预测结果;图4为每15分钟本发明的模型与现有技术其他模型的预测结果,其中,左上为本发明的dbn-rbf模型预测结果,右上为svm模型预测结果,左下为rbf模型预测结果,右下为bp模型预测结果;图3和图4中,实线所示流量为预测交通流量,虚线所示流量为实际交通流量。具体实施方式下面结合实施例对本发明做进一步的详细描述,但本发明的保护范围并不限于此。本发明涉及一种基于改进学习率的深度学习交通流预测方法,所述方法包括以下步骤。步骤1:改进深度信念网络模型在训练中的学习率及训练次数的确定方法。所述步骤1包括以下步骤。本发明中,在传统的算法中,学习率λ需要人为手动调整到一个误差控制和收敛速度都比较合适的值,这样做的缺点则是整个模型在训练过程中需要人为不断的进行调整,为了克服这个缺点aadgrad和aaddec算法被提出以使模型在训练过程中能自动的进行学习率的调整。其中,aaddec为aadgrad的改进方法,在训练时表现更好。在这些方法中学习率λ随着模型的训练而不断的减小,因为随着迭代次数的增加误差越来越小距离极小值越来越近,所以λ也要减小以免越过最好值。但是这些方法仅仅只是不断的减小λ,这样的问题在于当进行训练时由于权重等参数初始化时是随机的产生,所以无法知道训练时的收敛误差也就无法确定训练误差与收敛误差的距离,如果只是为了达到收敛的目的一味的减小λ有可能会导致训练误差靠近收敛误差的速度减慢,从而需要更多的训练次数才能收敛,这也就增加了训练时间降低了训练的速度。张红、张士文等在改进神经网的方法中提出了一种全新的动态调整λ的方法,在这些方法中λ不再是随着训练的次数减小而是根据训练误差来动态的增加或减小,这样当训练误差较大时适度的增加λ会使得训练误差下降的速度加快以达到加速的目的,但是在他们的方法中学习率只是简单的线性调整,这样对学习率的控制是比较薄弱的。步骤1.1:令λ为学习率,λ(t+1)=φ(λ(t)),其中,φ为λ对应的变换映射规则,t为训练次数,变化速率本发明中,当λ在增大阶段时,随着迭代次数的进行,μ逐渐减小以保证λ的增长趋势减慢。当λ进行下降时分为两部分,第一部分为慢下降部分,主要是当误差越过极小值时,λ缓慢的减小,此时μ为1,第二部分为二分下降部分,此时μ保持为一个较小的常量,使得λ以一定的速率减小。步骤1.2:若当前重构误差err(i)小于上一次重构误差err(i-1),进行步骤1.3,若当前重构误差err(i)大于上一次重构误差err(i-1),进行步骤1.4,若当前重构误差err(i)等于上一次重构误差err(i-1),λ(i+1)=λ(i),进行步骤1.5;步骤1.3:进行步骤1.5;步骤1.4:其中,tmp为候选学习率值,gd为当前梯度和上一次梯度的平方和,a为常量。步骤1.5:取λ(i+1)与λ(i)的差值的绝对值ε,当ε无限趋近于0,停止学习率改进;所述步骤1.5中,ε∈[0.0001,0.0005]。本发明中,a一般取2。本发明中,模型在训练时,err(i-1)>err(i),则λ进入步骤1.3进行更新,此时λ会缓慢增加且增长率呈下降的趋势,加快训练速度,相反,如果err(i-1)<err(i),则有可能是λ太大而导致训练时迈过了最优值,所以取得最好值的λ应当在λ(i-1)和λ(i)之间,故回溯到上一次的学习率,之后再根据步骤1.4减少λ,也就是减小梯度下降的步伐,使之慢慢的接近极小值。此时随着迭代的次数增加即使是err(i)<err(i-1),λ也不再增加。本发明中,由步骤1.4可知,若tmp<0,此时λ(i+1)=0.5λ(i),继续训练直到达到收敛,当出现收敛时迭代就停止,此时模型训练的迭代次数由学习率控制。步骤1.6:确认训练次数t。所述步骤1.6中,若或|β(t-n)-β(t-n-1)|≥α(n=0,1,2..),则继续迭代,否则当前的t则为训练次数,其中,λ(t)为第t次的学习率,为阈值,β为深度信念网络模型的重构误差,n为连续统计误差的次数,α为误差波动范围。α为大于10的整数。本发明中,当λ减小到一定的范围后,模型的误差下降幅度极小,此时误差已经很接近极小值,整个模型的误差范围在可接受范围内,所以此时再增加训练次数t已经没有意义,则停止训练,同时还应当考虑到有可能λ还没有下降到设置的范围时模型已经收敛,所以训练误差也是控制模型训练次数的因素之一。本发明中,当连续err>α时,模型进行迭代训练,当时误差下降幅度小,此时停止训练,当连续几次的err<α时基本认为模型收敛,停止迭代。步骤2:利用改进的深度信念网络模型和径向基函数建立预测用的深度信念网络-径向基函数组合模型。本发明中,鉴于深度信念网络(dbn)适合高维空间数据特征学习,径向基函数(rbf)拥有较强的非线性逼近能力,具有规律性、分类能力好等优点,因此提出使用深度学习模型来进行数据的训练以提取出数据的特征,使用rbf来进行数据预测及使用dbn-rbf组合模型来进行精准的交通数据流预测。所述步骤2包括以下步骤。步骤2.1:以改进后的深度信念网络模型与径向基函数建立深度信念网络-径向基函数组合模型,以深度信念网络作为输入用的网络层,以径向基函数作为输出层。步骤2.2:输入交通流数据d={d1,d2,...dm},其中,数据di={di1,di2,...din},即任一交通流数据包括n个属性,d为一个m×n的矩阵。所述步骤2.2中,属性包括车速、车重及交通流数据对应的时刻。本发明中,交通流数据对应的时刻为时间戳。本发明中,举例来说,交通流数据格式为:1528080420、465464、2364698,分别用于表示时间、车重、车速。步骤2.3:深度信念网络提取数据特征值p=φ(fψ(di1),fτ(di2),...fχ(din)),其中,φ为提取任一条交通流数据特征的集合,函数f用于提取出所述交通流数据中每个属性对应的特征。步骤2.4:q=θ(p1,p2,...pm),其中,θ为用于抽象出p的组合的更高层特征的函数,q为交通流数据d的整体特征。步骤2.5:输入q至径向基函数,输入一个与q相关的预测值out=г(q),最终获得输出预测值out。本发明中,数据特征值p是指输入数据在dbn模型中进行的变换后的输出值,如:输入的数据的某一列在dbn中会通过每一层的神经元,和权重值相乘、和偏置值累加、再经过激活函数计算等操作,由于输入数据不同的列和不同的权重值相乘,所以f的下标取了不同的值。本发明中,特征是深度学习里面对每一层神经元的输出,q是dbn中的输出的一种统称,其主要是相对于预测时间所说的,当预测模型训练完成后,用来做预测时,会输入与时间相关的数据,通过dbn模型输出的数据就是q,q进入到rbf后输出的就是对应的车流量。本发明中,由于深度学习模型有多个隐层,数据通过每一个隐层后和权重、偏置进行运算并输入到激活函数进行计算,因此没有一个具体的函数能够表达数据从输入层到输出层之间的进行了怎样的运算,故以θ来表示数据在dbn模型中进行了运算,而由于数据从dbn模型进行了运算所以会有一个对应的输出值,这个值记为q,q也就是本文说的交通流数据的特征,径向基函数是用来对q值进行计算,其输出值就是本发明的预测值。本发明中,由于径向基函数中输入值为q,所以输出的结果和q有关。步骤3:使用交通流数据对步骤2的模型进行训练。本发明中,dbn模型的训练采用hinton等人提出来的逐层无监督贪婪的预训练方法进行参数的训练,获得一个初始的权值之后再使用bp算法微调初始的权重值。本发明中,模型在训练时首先对数据进行归一化。所述步骤3中,使用交通流数据进行训练包括以下步骤:步骤3.1:输入交通流数据x=(x1,x2,...xn),其中,xi为对应的一条交通流数据,xi=(xi1,xi2,...xin),xij为交通流中xi的第j个属性;步骤3.2:对输入的数据进行归一化处理,其中,y1=0,y2=1;步骤3.3:将归一化后的交通流数据x’输入模型,调整权重△wij=λij(m(vihj)-r(vihj),其中,λ为学习率,m(vihj)为网络每一层的重构前模型的分布情况,r(vihj)表示重构后模型的分布情况,训练并微调。所述步骤3.3中,微调是指在进行bp算法的同时对权重进行调整,直至模型输出值与输入数据的误差为最小。本发明中,当模型在训练中能够动态的控制参数的调整速度,那么原则上就能更好控制模型的训练速度。本发明中,dbn网络主要由限制玻尔兹曼机(restrictedboltzmannmachines,rbm)组成,将多个rbm堆叠起来,就会组成一个深度学习网络,称为dbn网络,dbn网络的训练是通过非监督的贪婪逐层法来训练得到网络的权值的,即通过分层来训练每一个rbm,并且除第一个rbm的训练输入为所要训练的数据集外,其他的rbm在训练时的输入数据都为其低一层的rbm的输出,它的输出则为其高一层的rbm训练的输入数据。本发明中,xi表示一条数据,将每一天数据xi赋给显层,然后计算出隐层中每个神经元被激活的概率,从计算的概率分布中采取gibbs抽样抽取一个样本,用抽取的样本重构显层,即通过隐层反推显层,然后计算显层中每个神经元被激活的概率m(vihj),同样地,从计算得到的概率分布中采取gibbs抽样抽取一个样本,通过第二次抽取的样本计算隐层中每个神经元被激活的概率,得到概率分布r(vihj)。以此不断的训练每一层的神经元节点。本发明中,训练次数由前述的权重调整和学习率控制,待整个dbn网络模型训练完后其输入值再输入到rbf中对rbf进行训练,并对模型进行微调。本发明中,当数据从深度学习模型输出时与原始的输入数据存在误差,则将两个数据对应的值相减取平方后累加得到总的误差,对于模型来说这个总的误差越小越好,而减小这个误差的方法就是对每一层的权重进行调整,偏置求偏导数,也就是使用梯度下降的方法再次对权重和偏置进行调整,以使得总的误差最小。步骤4:使用训练完成的模型对交通流进行预测。本发明中,模型训练完成后,则可以使用模型进行预测,输入时间等数据,预测出相对应的交通流本发明中,还可以将预测的值与统计的真实值进行对比,评估出建立的模型优劣。本发明中,给出一个实施例。本实施例中,数据来源于浙江省杭州市之江大桥2015年从一月份开始的每天下午4点到7点的交通流数据,安置的传感器每秒钟记录一次当前车道通过的汽车的车速、车重信息,为了测试本发明模型的预测效果,分别使用每5分钟、15分钟统计一次车流量的数据集进行测试。其中,d为δt内的车流量信息,t=60δt,δt为统计的时间间隔,n桥梁车道数,ci为第i个车道通过的汽车。取连续100天的数据作为训练用的数据集,后5天的数据作为测试用的数据集。本实施例中,采用平均绝对误差平均相对误差和均方根误差来衡量模型的预测值和真实值之间的差距。其中,fi为数据的真实值,为预测值。本实施例中,设定初始学习率为0.05和0.01时,本发明提出的方法小显然较现有技术的迭代次数大幅减小。本实施例中,其中每5分钟的结果如附图3,此时与svm、rbf、bp模型结果的误差对比如表1所示。表1:每5分钟,本发明与svm、rbf、bp模型结果的误差对比dbn-rbfsvmrbfbpmae9.460817.702116.612264.5354mre0.03340.06090.06140.1883rmse12.469519.293622.032370.0554本实施例中,其中每15分钟的结果如附图4,此时与svm、rbf、bp模型结果的误差对比如表2所示。表2:每15分钟,本发明与svm、rbf、bp模型结果的误差对比dbn-rbfsvmrbfbpmae35.208238.348736.1108181.9413mre0.04280.04420.04480.3469rmse43.959542.296949.7799215.9754本发明中,由图和误差对比表可以得出,当数据的波动即使很大的时候,本发明的模型无论是从预测的稳定性还是误差的结果上都比其他的模型要更优。本发明通过改进深度信念网络的模型在训练中对于学习率和训练次数的确定方法,利用改进的深度信念网络和径向基函数的优点建立预测用的深度信念网络-径向基函数(dbn-rbf)组合模型,使用交通流数据对模型进行训练,并使用训练完成的模型对交通流进行预测。本发明经过实验论证,当数据量较大且波动亦较大时,本发明的深度信念网络-径向基函数(dbn-rbf)组合模型无论是从预测的稳定性还是误差的结果上都明显优于其他模型,精准度高、误差小、收敛速度快。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1