资源描述
摘 要
本文在参考国内外研究的基础上,针对城市主干道交通的非线性和时变特性给出了拥堵的定义,成因,分类和特征,对经典拥堵算法和常见交通流预测模型进行分析阐述,重点对算法和模型的原理使用条件进行探讨,分析交通流预测与拥堵识别之间的关系。另外,在阐述主干道定义,特点和速度和流量变化的基础上,建立基于交通流量的主干道交通预测模型,重点对模型的形式进行研究分析。最后,用MATLAB软件进行系统仿真,经过仿真表明基于交通流量的预测方案能够对城市主干道交通状态进行有效地预测分析。
关键词 交通拥堵 预测 速度 系统仿真
Abstract
This study based on the reference to domestic and foreign, according to the definition of the main city road traffic, nonlinear and time-varying characteristics given congestion causes, classification and characteristic of the classical algorithm, congestion and traffic flow prediction model were analyzed, with emphasis on the algorithm and model principle using conditions were studied, the relationship between traffic analysis flow prediction and congestion identification. In addition, the main definition, basic characteristics and velocity and flow rate changes, establishment of trunk road traffic prediction model based on traffic flow, key form of model analysis. Finally, the system simulation with MATLAB software, the simulation shows that the traffic flow prediction scheme can effectively forecast and analysis of traffic state based on the city roads.
Keywords: traffic congestion prediction speed system simulation
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1 课题的背景及理论 1
1.2 研究的实际意义 1
1.3 城市交通信息预测理论的发展和研究现状 1
1.4 主要研究内容 2
1.5 本文内容安排 2
1.6 本章小结 2
第二章 交通流的相关理论及预测 3
2.1 交通流的定义 3
2.2 交通流理论发展 3
2.3 交通数据的采集及说明 3
2.4 交通流参数间的对应关系 4
2.4.1 密度和速度的关系 4
2.4.2 密度和流量的关系 5
2.4.3速度和流量的关系 5
2.5 本章小结 5
第三章 神经网络理论 6
3.1 神经网络的概述 6
3.2 人工神经元模型 6
3.2.1 神经网络节点描述 6
3.2.2 神经元状态转移函数类型 7
3.3 神经网络模型 8
3.3.1 前向网络 8
3.3.2 反馈网络 9
3.3.3 自组织网络 9
3.4 神经网络的特点及其应用 9
3.4.1 神经网络的特点 9
3.4.2 神经网络的应用 9
3.5 神经网络的学习 10
3.5.1 学习方式 10
3.5.2 学习算法 10
3.6 本章小结 11
第四章 基于Elman神经网络的交通流预测的仿真 12
4.1 Elman神经网络 12
4.1.1 概述 12
4.1.2 Elman神经网络的结构及原理 12
4.1.3 Elman神经网络的创建 13
4.1.4 Elman神经网络的训练 13
4.2 Elman回归神经网络预测的仿真 14
4.2.1 仿真背景 14
4.2.2 样本数据选择 14
4.2.3 神经网络输入数据的归一化处理 14
4.2.4 Elman回归神经网络的创建及训练 15
4.2.5 仿真程序及结果 16
4.3 本章小结 21
结 论 22
参考文献 23
致 谢 24
第一章 绪论
1.1 课题的背景及理论
随着现今社会城市化的加剧,城市交通拥挤以及突发性的交通事故正严重地困扰着世界各国的大中城市,解决这些问题的社会意义、经济意义已成为全球的共识。
从近几年世界各国的发展趋势来看,本课题研究的重点是为了解决交通基础设施供应不足、交通混乱和交通效率低下这些方面的问题。通过交通规则和交通控制可以解决交通基础设施供应不足、交通混乱造成的问题,而交通流诱导则是目前公认的解决交通效率和提高机动性的最佳途径。在没有诱导的时候,驾驶员只能靠经验选择路线,这样,一旦在某个路段发生交通意外或者车辆多过就会导致交通受到干扰,从而使城市交通网的使用效率降低。
交通拥挤大大减慢了人们的出行效率,浪费时间的同时机动车尾气的排放量大大增加,燃料消耗严重,给居民健康造成风险的同时也严重浪费了全球的石油资源,造成重大的污染,甚至给环境的治理都提高了不少难度。有报告显示,北京的交通拥挤使北京市每年要损失其GDP的7.5%即1056亿元。
另外,交通拥挤所带来的种种环境问题也是不容忽视的。噪声污染,温室效应,城市热岛效应和臭氧空洞种种都与交通拥挤所排放出的废弃物有重大的关系,而政府每年花在治理这些问题上的支出也是令人瞠目结舌的,因此,有一个好的交通控制系统,对城市的发展和人们的生活都有重大的影响,是政府及每个人都应重视的问题。
1.2 研究的实际意义
城市道路交通系统是一个复杂的大系统,包括道路、汽车、人与环境的组成部分,因而具有强大的非线性、随机性、多变性以及不确定性。传统的理论和方法在面对如此大的系统问题,往往是无能为力。影响交通流量和道路交通时间的因素具有高度的非线性和随时间变化的特点,很难给出精确的解析表达式和相应的校准。人工神经网络具有非线性、大规模并行分布处理、善于处理多个变量的系统以及方便硬件实现等特点,适合用于大系统非线性时间变化大的模拟以及在线控制,相对适合于交通流量和道路交通时间的预测。
1.3 城市交通信息预测理论的发展和研究现状
城市交通状态的最主要的信息是交通流量和道路交通时间,动态交通分配的核心内容对交通流量和道路交通时间的预测,也是交通流诱导系统以及ITS中其它系统的最重要的基础应用之一,因此,很多研究人员在研究此技术。美、日、德等比较发达的国家起步较早,并取得了一些具有影响力的成果。
目前,城市道路交通状态预测的方法主要有三种:
1.基于历史数据法,即建立预测模型时用的是实时的交通流量数据和历史数据;
2.时间序列法,是统计方法的一种,在已知过去的某些时间段的交通流量,以此为基础上建立模型预测未来流量,常见的有ARIMA模型、MA模型等。
3.人工智能方法,即使用神经网络等人工智能技术,输入量为当前实际测量的交通流量、历史交通流量、车辆行驶平均速度等对为了某时刻的交通流量进行预测。与前两种方法向相比较,第三种方法没有时间延迟,动态特性相对较好。但是其网络结构设计和算法缺乏好的理论指导依据,可使用性不强。
1.4 主要研究内容
路段上的实时交通状态与历史时间上的交通状态是有着必然的联系,同时每个路段都只是路网的一部分,每个路段的交通状态都会受到上下游各路段的交通状态的影响,因此每个路段的交通状况必定会和相连路段过去的时段的交通状况有着密不可分的内在联系。这些交通状况的信息量就可以用来预测路段未来的某个时间段的交通状态。
根据以上的原理,本课题研究的内容主要有:
运用神经网络结合短时交通流量的理论基础来建立城市主干道交通状态预测模型,找出符合城市交通时变性要求的算法。
使用Elman神经网络技术来设计城市主干道交通状态实时、动态的预测方法。
1.5 本文内容安排
全文共分成四章,各章内容安排如下:
绪论。重在说明本课题的研究背景、目的和意义,以及国内外交通控制系统研究状况的综述。
第二章 交通流的相关理论及研究。运用数学和力学定律,研究道路交通流运行规律的理论,具体为概论论,排队论,车流波动理论的研究。
第三章 神经网络。本章描述了神经网络的组成部分,及其算法和学习方式。
第四章 Elman神经网络预测的仿真。本章主要介绍了Elman神经网络的原理,创建及训练方式,然后利用原先所测交通流数据进行仿真,并将仿真数据与实际对比。
1.6 本章小结
本章首先介绍了课题的学术背景及理论与实际意义,接着描述了城市交通信息预测理论的发展和研究现状,然后阐述了课题的主要研究内容,最后介绍了本文的内容章节安排。
第二章 交通流的相关理论及预测
2.1 交通流的定义
研究在一定环境条件下交通流随时间和空间变化规律的模型和方法体系称为交通流理论体系。交通流是研究道路上行人和机动车在成列和个别行动中的规律,通过研究车流流量、车流速度和密度之间的关系,使道路交通设施的利用率得到提高,以减少事故发生和出行时间的延误。
2.2 交通流理论发展
从时间顺序上来讲,大致可从三个阶段论述交通流理论:
1.20世纪30~40年代,自由车流的统计分布理论
这一时期车辆保有量低,大部分公路上行驶的车辆相互干扰较少,能够相对自由的前行。由于发达国家汽车产业的发展和道路建设,道路交通状态的规律需要摸索并进行科学管理,道路交通所产生的交通流量需要有人去研究。因此此阶段主要是利用概率与数理统计的方法建立的模型描述交通流量和速度之间的关系,研究各类型路口交通状态。
2.20世纪50~60年代,动力学仿真与车辆跟驰模型
这一时期发达国家的道路和汽车保有量快速增长,道路线程急剧增加,交通规划和控制得到越来越多的关注。因此,要发展交通流理论来保障规划和控制得更好、更科学。车辆数目的明显增长,车辆之间相互影响严重,自由流的情况较少出现,大多数的车辆都是处于跟随行驶的状态中。因此此阶段的研究开始运用动力学方法研究车辆队列在无法超车的单一车道上的行驶时后车跟随前车的行驶状态,并用动力学模型表达及进行数学分析。
3.20世纪60年代后,交通波理论
由于汽车普及到广大老百姓家中,该阶段交通问题在世界各国大中城市中尤显严重,大大地制约的城市的发展,因此,需要发展交通波理论来解决城市交通问题。此阶段城市车辆已经迅速猛增,交通状态已经严重影响人们的出行时间,很多时候交通都是处于拥挤状态。因此这阶段应用流体力学的基础原理,模拟流体的连续性方程,建立车流的联系方程,用水波而抽象的车流波来比喻车流密度的稀疏变化,通过对车流波的传播速度的认真分析,寻找车流流量,车速与密度之间的关系。
2.3 交通数据的采集及说明
交通数据是交通状态和交通流诱导的基础,目前主要是利用环形线圈检测工具进行交通数据的采集。可得到的交通数据有:车速、车流量和道路占有率。
1.车流量Q:
(2-1)
其中:Q、T、N分别指车流量(辆/h),时间间隙(h),在T内通过检测工具的车辆数(辆)。
2.车速:地点车速V和区间平均车速。
(2-2)
其中:
(1)检测工具对单一车辆闭环时间(h)用表示;
(2)有效检测工具长度跟车的均长之和(km)用表示。
另一个V的公式为:
(2-3)
区间平均车速:
(2-4)
其中:、l、、n、分别指为区间平均车速(m/s),道路长度(m),第i辆车的行驶时间(s),车辆行驶于路段长度l的次数,第i辆车的行驶速度(m/s)。
3.道路占有率:
(2-5)
其中:、N、T、分别指道路占有率,在时间间隙T内测得的通过检测工具的车辆数(辆),时间间隙(h),对应车辆引起的检测工具闭环时间(h)
2.4 交通流参数间的对应关系
2.4.1 密度和速度的关系
速度和密度模型有不少,用得最多的是线性模型),即:
(2-6)
根据上式有:
(1)当密度k趋向于0时,速度v接近自由流车速,则;
(2)当密度大到车辆没法行驶时,其对应的密度称阻塞密度,当时,,得 ,将a和b代入上式,得速度—密度关系式:
(2-7)
2.4.2 密度和流量的关系
由式2-7和得,得流量—密度模型:
(2-8)
即q和k成二次函数关系,因此最大流量对应最佳密度(临界密度),即: 令
得,即 ,代入式(2-8) 得:
(2-9)
2.4.3速度和流量的关系
由式得并代入到中,得流量—车速模型:
(2-10)
由此可知,自由车速的为临界车速,即。当时, ,交通流状态为拥挤;当 时,交通流状态是自由流。
2.5 本章小结
本章简单介绍了交通流的概念及其基本模型,并分析研究了交通流参数之间相互的关系。
第三章 神经网络理论
3.1 神经网络的概述
人工神经网络(ANN)是智能控制领域研究历史上相对比较长但发展历经曲折的交叉学科。其网络是由大量处理单元(神经元 Neurons)广泛互连而成的,是对人脑的抽象、简化和模拟,反映人脑的基本特征,用它可以模拟人的大脑的许多基本功能和简单的思维方式,此外,它还有学习功能,通过学习来获取外部的知识并将其存储在网络内,尽管无法与人脑的完美无缺相媲美,但它可以解决计算机不易处理的难题,特别是组合优化计算,智能控制,语音和图像的理解、识别和知识的处理等一系列本质上为非计算的问题。
此外,它是一种多输入,单输出的非线性元件。从连接方式上看可分成相互结合型和前向型神经网络两类。其中,由输入层、中间层和输出层组成的为前向神经网络。中间层中各层的神经元只接收前一层神经元的输出。而相互结合型网络中任意两个神经元间都有可能连接,所以输入信号需在神经元间传来传去,开始于某一初态,变化多次,慢慢达到某一稳态或者周期振荡等状态。
基于人工神经网络的控制,神经网络的学习能力,容错能力,鲁棒性和非线性映射能力都极强,倘若将其这些特性很好地应用到控制领域,那么控制系统智能化必然会得到很大的发展。系统能适应不确定性、时变的对象与环境等功能在人们心目中越来越重要。此外,控制系统自身复杂性的增强,使得基于精确模型的传统控制难以于之相媲美。因此,具有这些优点的神经网络让人们不得不重视它。
3.2 人工神经元模型
3.2.1 神经网络节点描述
生物神经元的简单化和模拟构成了人工神经元,它是人工神经网络处理基本信息的单元,是人工神经网络设计的基础。
图3-1表示神经元结构,它是一个多输入单输出的非线性元件,其输入输出关系可描为
(3-1)
(3-2)
其中,从其他细胞传来的输入信号用(=1,2,…..,n)表示,阈值用表示,自神经元到神经元的连接权值用表示,为作用函数。
图3-1 人工神经元模型图
由以上分析可得出,人工神经元反映了生物神经元的基本功能。
作用函数又叫做变换函数,神经元的输出由它决定。作用函数通常为阶跃函数或S状曲线那样的非线性函数,但有时候也可以为线性函数。
3.2.2 神经元状态转移函数类型
在神经元没有内部状态的时候,可令.常用的神经元状态转移函数如下:
1.阶跃函数 (1)自变量<0时,输出为0;(2)自变量时,输出为1。
(3-3)
2.分段线性函数 函数在(-1,+1)内的放大系数相同
(3-4)
3.S型函数 实数域R到[0,1]的非连续函数,且其函数本身及其倒数都是连续的,其函数定义如下:
(3-5)
4.双曲正切函数 函数定义如下:
(3-6)
3.3 神经网络模型
目前已存在的神经网模型虽然有数十种之多,但已有的神经网络大致可以分为三大类,即前向网络(Freedforward NNs) 、反馈网络(Feedback NNs) 、和自组织网络(Self-organizing NNs)。
3.3.1 前向网络
前向型神经网络,在计算输出值的过程中,输入值从输入层单元向前逐层传播经过中间层最后到达输出层得到输出。前向网络第一层的单元与第二层所有单元相连,第二层又与其上一层单元相连,同一层中的各单元之间没有连接。前向网络中神经元的激发函数,可采用线性硬阀值函数或单元上升的非线性函数等来表示。
根据连接方式不同,神经网络可分为两大类:没有反馈的前向网络和相互结合型网络。
1.前向网络:其组成为输入、输出层和中间层,中间层可有若干层,也可以没有,任何一层的神经元都只接收其前一层的输出,如图3-2所示。
输入层 隐含层 输出层
图3-2无反馈前向网络
2.相互结合型网络:任意神经元间都有可能连接,所以输入信号需在神经元间传来传去,开始于某一初态,变化多次,慢慢达到某一稳态或者周期振荡等状态,如图3-3所示。
图3-3相互结合型网络
3.3.2 反馈网络
反馈网络又称动态神经网络或回归网络,与其他网络所不同的是,反馈网络的输出不仅和当前网络的输入有关,也和网络以前的输出、输入有关。它的输入包含有延迟的输入或者输出数据的反馈。反馈网络以回馈的形式来看,有两种:一种是输入有延迟的实践延迟回馈网络,另一种是输入有延迟,输出有回馈的层回馈网络。
反馈网络中,系统的初始状态由输入信号决定,随后经过一系列状态转移达到最后的平衡状态即计算后的输出结果。由此可见,稳定性在反馈网络中有举足轻重的地位。倘若能找到网络之Lyapunov数,则能保证网络从任一初始状态都可收敛至局部最小点。Elman神经网络是反馈网络中最有代表性的例子。
3.3.3 自组织网络
自组织神经网络以无教师教学的方式进行网络训练,具有自组织特性,它是模拟人类根据过去经验自动适应无法预测的环境变化。它无需期望输出,只是根据数据样本进行学习,并调整自身的权重以达到训练目的,其学习规则大都采用竞争型的学习规则,主要思想是网络竞争层中的各神经元通过竞争来获取对输入模式的响应机会,最后仅剩一个输出最大的神经元成为竞争的胜利者,并对那些与获胜神经元有关的各连接权值朝着更有利于它竞争的方向调整。
3.4 神经网络的特点及其应用
3.4.1 神经网络的特点
神经网络有如下特点:
1.并行分布式处理 神经网络不仅有高度并行结构,还有很强的并行实现能力,网络的各单元可以同时进行类似的处理过程,整个网络的信息处理方式是大规模并行的。
2.具有自学习功能 从历史数据中学习,培养出特定的具有归纳全部数据能力的神经网络。对预测来说,自学习功能有着极其重要的意义。
3.非线性处理 神经网络模拟人的思维跟人脑思维一样也是非线性的,对处理非线性问题有很大的帮助。
4.神经网络的硬件实现 超大规模集成电路(VLSI)硬件的实现,使人工神经网络能有效且快速地解决规模很大的问题。
3.4.2 神经网络的应用
1.民用:语言识别、图像识别与理解、智能机器人故障检测、市场分析、决策优化、物资调运、智能控制、交通预测等
2.军用:雷达、声呐的多目标识别与跟踪、战场管理和决策支持系统、军用机器人控制、信息的快速录取、导弹的智能引导等等。
3.5 神经网络的学习
3.5.1 学习方式
神经网络分无导师学习、有导师学习和再励学习三种学习方式。
1.无导师学习 与有导师学习不同的是,它仅有一批输入数据。网络初始状态下,将均为小正数的权值反复加载后使网络不断受到刺激,直到产生同样的刺激,并最终使相应的连接权增大到接近1的某值。简单来说就是加入了相似的或已学习过的刺激后,输出端的输出是按权值矩阵相应产生的。
2.有导师学习 也叫监督学习,它以组织准确的输入输出数据对为研究目的。在网络输入端加载输入数据,再通过比较网络的实际和期望输出得到误差,然后由误差的情况绝大部分要修改各连接权值,使网络向正确响应的方向变化到实际输出减去期望输出在允许范围之内为止。
3.再励学习 是介于对上两种情况之间的一种方式,系统输出的结果受到外部环境的影响,学习系统改善自身性能靠强化受奖励的动作来实现。
3.5.2 学习算法
1.Hebb学习规则
Heb由生理学条件反射原理,于1949年发现了神经元的交接强度变换规则,并成为了人工神经网络的基础。换句话说,Hebb学习规则可以推演出其他人工神经网络学习规则。其计算规律为:
(3-7)
式中:为神经元i到j的连接权值;S为样本序号,取值为[0,M-1];和分别为第S个样本的第i和j神经元的输入
由上式可知,连接权值的大小由M个样本里所有的第i和j个元素决定,即越多,越大。换种说法来说,两个神经元的连接加强与否,决定于它们是否处于兴奋状态。
2.学习规则
即误差校正规则,是在对网络学习时采用已知样本作为教师的一种学习方法。
首先设置一个较小的随机非0值作为初始权值,输入的样本对和输出的样本对也先给定;然后再算目标函数,那么神经元以第组样本为输入的输出公式为:
(3-8)
(3-9)
(3-10)
(3-11)
3.Perception学习规则
采用的是有导师学习方法。首先设置一个较小的随机非0值作为初始权值。然后给定输入的样本对和输出的样本对。其次求出感知器的输出。最后求出权值的调整公式:
(3-12)
其中,第次调整权值用表示;学习率用表示,且,用来掌控权值调整的快慢。
4.内、外星学习规则
设神经元到神经元的连接权值是,神经元的输入为,则连接权值的调整公式为
(3-13)
此时,是使趋向输入的值,所以是内星学习规则。
当神经元的输出为时,采用公式3-13是使趋向输出的值,是外星学习规则。适图形识别等领域用内星学习规则,而信号传递领域用外星学习规则会更佳。
3.6 本章小结
本章首先对神经网络进行了详细的概述,然后再对其结构模型进行了详细的说明,最后论述了其特点及学习方式、算法,使人对神经网络有初步认知。
第四章 基于Elman神经网络的交通流预测的仿真
4.1 Elman神经网络
4.1.1 概述
Elman于1990年提出了Elman神经网络模型。为了达到记忆目的,该模型增加了一个承接层在前馈网络的隐含层中, 让系统具有了适应时变特性的能力。因此,它实现的是动态映射,比前向网络更适于解决动态系统问题。
4.1.2 Elman神经网络的结构及原理
Elman型回归神经元网络通常分为4层:输入层、输出层、中间层和承接层。其中输入、输出层和隐含层有类似于前馈网络的连接方式。输入层单元和输出层单元分别起信号传输作用和线性加权作用,隐含层单元用线性或非线性函数作为传递函数,承接层即上下文层,顾名思义是用来记忆中间层单元前一时刻的输出值并返回给输入。它通过存储内部状态使其具备映射动态特征的功能,从而使系统具有适应时变特性的能力,它能够更生动、更直接地反映系统的动态特性。Elman神经网络原理如图4-1所示。
图4-1 Elman神经网络原理
Elman 型神经网络的特点是中间层的输出通过承接层的延迟和存储后,自联到中间层的输入,此自联方式使其敏感于历史状态的数据。同时,网络本身处理动态信息的能力也随内部反馈网络的加入大大增强,最后达到了动态建模的目的。此外,承接层从中间层接受反馈信号,用它来记忆中间层单元前一时刻的输出值。前馈网络的输入包括外部输入值和中间层前一时刻的输出值,可通过反向传播算法来训练它。训练完后,k时刻中间层的输出值将以递归方式连接部分反馈到承接层单元,并保留至下一个训练k+1时刻。
设外部输入为,输出为y(k) ,中间层的输出为x(k) ,则可得到的非线性状态空间表达式如下:
(4-1)
(4-2)
(4-3)
式中指承接层到中间层,指输入层到中间层,指中间层到输出层的连接权矩阵,中间层和输出层的传递函数分别用f和g表示。
由式(4-1)-(4-3)得:
(4-4)
又因为=,上式能继续展开。说明了与过去不同时刻的连接权(,…)有关,也就是说 是一个动态递推过程。对应的,动态反向传播学习算法包含了用于Elman神经网络训练的反向传播算法。
4.1.3 Elman神经网络的创建
指令格式为net=newelm(PR, [S1 S2……SN1], {TF1 TF2……TFN1}, BTF, BLF, PF)
参数意义:PR—R个输入元素的范围矩阵。
Si—第i层的神经元个数。
TFi—第i层的传递函数,缺省值为“tansig”。
BTF —反向传播网络的训练函数,可以是traind, traingdm, traingda, traingdx等函数,缺省值为“traingdx”。
BLF—反向传播权值/阈值的学习函数,可以是learngd, learngdm缺省值为“learngdm”。
PF—性能分析函数,可以是mse, msereg缺省值为“mse”。
执行结果:创建一个Elman神经网络。该网络具有N1个神经元层,权函数为dotprod函数,输入函数为netsum函数,每层权值和阈值的初始化使用initnw函数。
4.1.4 Elman神经网络的训练
Elman神经网络的训练可用train( ) 函数和adapt( ) 函数,训练函数可以选择traingd、traingdm、traingda、traingdx,学习函数可用learngd和learngdm。训练过程如下:
1.计算网络输出与期望输出的误差。
2.计算该误差对权值和阈值的梯度,进行反向传播。由于通过延时反馈,权值和阈值对误差的影响被忽略了,所以得的梯度实际上是近似值。
3.如果使用train( )函数,就调用训练函数来调整权值和阈值;如果使用adapt( )函数,就调用学习函数来调整权值和阈值。
4.2 Elman回归神经网络预测的仿真
4.2.1 仿真背景
城市主干道交通系统是一个非线性的系统,该系统既复杂又受诸多的外部因素所影响,如气候、时间等等。但在某个特定的时间段内,每条干道上的车流量、车速甚至是车的类型又是有规律可循的,其具有丰富的内部层次有序结构,是一种介于随机性和确定性之间的现象。针对其以上特点,本节采用Elman神经网络的交通流量进行预测。
4.2.2 样本数据选择
样本数据对网络泛化能力有关键性的影响,训练网络所使用的样本数据应从样本的质量、数量和代表性三个方面考虑。样本质量高低和样本数量的多少都影响着系统的准确性和可行性,样本的质量越高,数量越多,则所得到的系统盼函数越准确,系统的拟合程度越高。反之,所得的系统就不符合实际要求。但是实际应用中,样本数量不可能无限增加,这就使得样本选取时不仅要考虑到系统平衡的普遍性,还要兼顾系统突变时的特殊性,只有这两方面都具备了才能提高网络的拟合能力。
训练用的样本决定了网络性能的好坏,而一个注重了样本规模的同时又注重了样本质量的训练样本集才算得上一个好的样本。
1.样本数的确定
理论上来说训练样本数越多,训练结果越符合要求,但当样本数到达一个特定程度时,网络的精度也很难提高多少。此外,样本收集和整理过程中往往也会受到诸多客观因素的影响。因此,网络训练的输入-输出非线性映射关系的复杂与否决定了其所需要的样本数的多少。影射关系越复杂,则样本噪声就越大,所需要的样本数也越多,因而网络的规模也就越大。一般来说我们都会参考这样的一个经验规则:训练样本数为网络连接权总数的5到10倍。
2.样本的选择与组织
样本能表现出网络训练的规律,所以样本的选取一定要富有代表性。选择样本时要注意均衡类别,尽量使各类别的样本数近乎相等。即使同一类样本也要照顾其多样性和均匀性。换句话说,选择样本的时候就要用“平均主义”原则,使在样本训练时能涵盖网络的各个方面,避免网络重视了样本数多的类别而忽略了样本数少的类别。
组织样本的时候要注意交叉输入不同类别的样本,或随机选择输入训练集中的样本。因为太集中的同类样本会使网络在训练时倾向于仅仅建立与其相对应的映射关系,此时若有另一类样本集中输入,权值就会向新的映射关系去调整,同时也否定前面的训练结果。当轮流集中输入各类样本时,振荡会出现在网络训练中,造成了训练时间的延长。
4.2.3 神经网络输入数据的归一化处理
本文使用S型的激励函数作为神经网络预测模型,该函数敏感于中间输出部分对输入的变化,而两端的输出部分对输入的变化较为迟钝(详细可见3.3.2第(3)点),这就意味着中间部分预测比两端要精确得多。尤其是在高端预估得一般比实际值低,而在低端预估得一般比实际值高,即是说用神经网络预测出来的范围要小于实际范围。为此输出数据需被压缩到离中心点较近的范围内,就像对于对数函数的输出,需缩放至0.1~0.9间甚至是0.2 ~0.8间。为了使每项输入在网络训练中能受到同等待遇,我们在处理网络输入数据时,需把它变换至一个相对较小的范围内,如在0~1间。
将输入输出数据变换为[-1,1]区间的值常用以下变换式
(4-5)
(4-6)
其中,输入或输出数据用X表示;数据变化范围的最小值用Xmin表示;数据变化范围的最大值用表示。
4.2.4 Elman回归神经网络的创建及训练
完成网络设计后,需用设计值进行训练。对所有样本正向运行一轮并反向修改权值一次称为一次训练。在训练过程中要反复随机使用样本集数据,通常需要成千上万次训练才能训练出一个网络。
一个网络的泛化能力的好坏决定着其性能的优劣,而测试其泛化能力要用训练集以外的测试数据来进行检验而不能用训练集的数据进行。通常的做法是,将收集到的可用样本随机地分为两部分:一部分作为训练集;另一部分作为测试集。倘若网络对训练集样本的误差很小,而对测试集样本的误差很大,说明网络已经被训练得过度吻合,所以泛化能力很差。而网络实现的类似查表的功能会在过度训练的极端情况下显示。
先创建Elman回归神经网络;然后对回归神经网络进行训练;最后对回归神经网络进行仿真。编写Matlab程序如下:
net=newelm(minmax(p),[m,1],{'tansig','purelin'},'trainlm');
net.trainParam.show=n;
net.trainParam.epochs=N;
net.trainParam.goal=2e-3;
randn('seed',192736547);
net=init(net);
[net,tr]=train(net,p,t);
an=sim(net,p);
回归神经网络的输出层神经元数目为1个,隐含层神经元数目为m个。
通过net=newelm()创建Elman回归神经网络,隐含层采用tansig传递函数,输出层采用purelin线性传递函数,其中tansig为S型正切函数,purelin为纯线性函数。“trainlm”训练的输出向量与期望向量更为接近,网络训练过程中,误差曲线下降速度快,训练步数比“traindx”或“triangda”更少,因此采用“trainlm”作为训练方法。
通过[net,tr]=train(net,p,t)函数对回归神经网络进行训练。
通过an=sim(net,p)函数对回归神经网络进行仿真。
根据从广州市交警的SCATS系统采集上来的2004年4月14日和19日两天中山解放路的交通流量数据,具体操作位每小时记录一次,交通流实测数据192个。
表4-1中山解放路某路口东西直行的部分交通流量数据
时间段
流量
时间段
流量
2004-9-14 1:00
490
2004-9-14 13:00
1236
2004-9-14 2:00
384
2004-9-14 14:00
1407
2004-9-14 3:00
270
2004-9-14 15:00
1426
2004-9-14 4
展开阅读全文