作者简介作者简介:杨健兵 (1976-), 男,硕士,南通农业职业技术学院讲师,研究方向为网络安全、神经网络。0引言
1986年,rumelhart提出了反向传播学习算法,即bp(backpropagation)算法。反向传播bp(back propagation)神经网络是一种按误差逆传播算法训练的多层前馈网络,是目前应用最广泛的神经网络模型之一[1]。这种算法可以对网络中各层的权系数进行修正,故适用于多层网络学习。bp算法是目前应用最广泛的神经网络学习算法之一,在自动控制中是最有用的学习算法,它含有输人层、输出层以及处于输入输出层之间的中间层。中间层有单层或多层,由于它们和外界没有直接的联系,故也称为隐层。在隐层中的神经元也称隐单元。隐层虽然和外界不连接,但是,它们的状态影响着输入输出之间的关系。也就是说,改变隐层的权系数,可以改变整个多层神经网络的性能[2]。
1bp 神经网络模型
bp 神经网络模型由一个输入层、一个输出层以及一个或多个隐含层构成,同一层中各神经元之间相互独立。输入信号从输入层神经元开始依次通过各个隐含层神经元,最后传递到输出层神经元, 图1给出了包含一个隐含层的bp网络模型结构,隐含层神经元个数为m。理论研究表明:具有一个输入层,一个线性输出层以及sigmoid 型激活函数的隐含层bp 网络能够以任意精度逼近任何连续可微函数[3]。
三层感知器中,输入向量为x=(x1,x2…xi…xn)t,图1中x0=-1是为隐层神经元引入阈值而设置的,隐层输入向量为y=(y1,y2…yj…ym,)t,图中y0=-1是为输出层神经元引入阈值而设置的;输出层输出向量o=(o1,o2, …,ok,ol)t,期望输出向量为d=(d1,d2, …,dk,dl)t,输入层到隐层之间的权值矩阵用v表示,v=(v1,v2, …,vj, …vm)t,隐层到输入层之间的权值矩阵用w表示,w=(w1,w2, …,w,k♂ …wl)t,下面分析各层信号之间的关系[4]。
图1三层bp网络
对于输入层:
ok=f(netk) k=1,2, …,l,netk=∑mj=0wjkyj k=1,2, …,l;
对于隐层:
yj=f(netj)j=1,2, …,m,netj=∑ni=0vijxij=1,2, …,m;
以上两式中,激活函数都是sigmoid函数。
f(x)=11+e-x,f(x)具有连续、可导的特点且f’(x)= f(x)[1- f(x)]。
根据以上公式,我们可以推导出权值调整量δwjk和δvjk分别是:
δwjk=ηδokyj=η(dk-ok)ok(1-ok)yj,δvij=ηδyjxi=η(∑lk=1δokwjk)yj(1-yj)xi
2智能公交实时调度模型总体设计
公交公司的行车计划一般在年初就制定完成,调度员根据行车计划进行调度,遇到节假日、雨天等突发情况时,就凭调度员的工作经验调度。因此,可以考虑使用bp神经网络算法,在智能公交实时调度中加入误差反向传播算法,利用误差反向传播算法超强的学习能力和泛化能力,通过对公交海量历史调度数据的学习,建立公交车到达目的站点的预测模型。通过实时gps数据,就可以预测车辆到达目的地的大概时间,为建立智能公交调度提供极大的方便。智能公交实时调度模型如图2所示。
图2智能公交实时调度模型
从图2可以看出,智能公交实时调度模型分为3个主要模块。
(1)数据处理分析模块。智能公交实时调度模型的基础模块,数据来源于两个部分:一是公交历史行车数据,包括发车时间、天气等数据;二是gps定位系统采集的实时数据,主要是各个时刻采集的运行数据。该模块根据各预测模型的需要,选择合理的数据输入,并对数据进行处理。
(2)预测模型模块。通过对现有数据的分析、预测,得到车辆到达调度站的运行时间预测结果。
(3)智能实时调度模块。输入预测模型可以得到车辆运行时间,根据公交历史调度计划以及公交客流数据,可以适当改变当前调度计划,临时下达调度指令,为建立与实际客流相结合的调度方法提供决策支持。
(4)基于bp神经网络的预测模型。公交车辆的运行时间总的来说还是比较固定的,但是有时候会随着道路拥挤情况、节假日、天气情况等有所改变。由于神经网络具备以任意精度逼近连续函数功能,具有较强的自我学习能力和泛化能力,能够充分体现输入数据与输出数据之间复杂的映射关系。因此,本文采用bp神经网络来预测车辆到达时间。
2.1输入变量对公交运行时间的影响
把公交车运行时间分
为几个阶段,车辆到达目的地所需要的时间往往与该公交车处于的阶段有着某种必然的联系,根据车辆实时gps数据及车辆运行过程中所处的时间,设ti为公交车实时时间,所以ti在那个阶段对车辆运行有直接影响, ti可以根据gps数据实时取得。
车辆位置:车辆在运行过程中所处的位置对公交车到达目的站有着一定的影响,根据gps实时数据,可以计算出车辆离终点站有多少距离,将车辆在ti时刻距调度站的距离作为影响因素。
天气情况:天气的好坏对公共汽车的运行产生比较大的影响,一般情况下,公交车在晴天的运行时间要比雨天少,车速比雨天快。
星期情况:从周一到周日,不同日子有着不同的客流,所以星期情况对公交的运行产生一定的影响。
节日:重大节日客流量明显增多,车辆的运行时间也会有所延长。
2.2变量获取
bp神经网络需要大量数据作为输入、输出样本,因此在构建bp神经网络前,首先要做的工作就是获取这些数据。利用先进的信息技术,可以获取公交车辆运行的gps数据,而天气、星期情况、是否节假日这些变量则可以在大量的历史数据中获得。
2.3基于神经网络的车辆预测模型
预测模型将采用三层bp神经网络,即一个输入层,一个隐层以及一个输出层,输入层一共有5个变量,分别是时间、车辆位置、天气情况、星期情况以及节假日。隐含层节点数目一共有11个节点。输出层为1个节点,采用有导师的学习方法。至此本文建立的bp网络结构为5×11×1,bp网络结构如图3所示。
图3bp神经网络结构
bp神经网络的车辆运行时间测算模型如图4所示。
其中:t 为当前时刻,w(t-△t),当前时刻t之前△t时刻神经网络输入层与隐层以及隐层与输出层之间的权值矩阵。
f(t):车辆从起始站到当前时刻车辆的运行时间。
f’(t):预测样本的输出时间。
xi(t):t时刻的第i个输入向量,i∈[0,1],其中xi为车辆在t时刻到达调度站的距离的输入向量,x2为天气情况输入向量,x3为车辆运行所处的星期输入向量,x4为车辆运行当天是否节日的输入向量,x5为gps采集数据的时刻向量。
图4bp神经网络的车辆运行时间测算模型
2.4样本数据取值及归一化方法
(1)gps定位数据。在车辆运行过程中,对车载gps数据进行采集,采集完成后通过一定的方法进行计算,从而得出车辆离到达站的距离,设该距离为一对一使用归一化处理,使得转换后的数值就落在(0,1)上。
(2)天气情况。在一段时间内,公交车会碰到不同的天气,不同的天气对公交的运行产生不同的影响。我们把天气进行分类,一共分为7种状况,分别是大雨、小雨、雪、大雾、小雾、晴天和阴天,用不同的数字来表示这7种天气情况。
(3)星期情况。对于不同的星期采用不同的分类方法表示,从星期一到星期日也采用不同的数字表示。
(4)节假日。节假日可以用布尔变量来表示,true是节假日,false为非节假日。
3结语
国内大多数公交调度优化研究都是着眼于静态调度,而本文将研究重点放在了实时调度方面,在智能公交实时调度中加入bp神经网络技术,用误差反向传播算法超强的学习能力和泛化能力,通过对公交海量历史调度数据的学习,建立公交车到达目的站点的预测模型。通过实时gps数据,就可以预测车辆到达目的地的大概时间,为建立智能公交调度提供极大的方便。
参考文献参考文献:
\[1\]李翔,朱全银.adaboost算法改进bp神经网络预测研究[j].计算机工程与科学,2013(8).
[2]韩立群.人工神经网络教程[m].北京:人民邮电出版社,2007.
[3]马锐.人工神经网络原理[m].