李聪颖 王肇飞
(长安大学公路学院1) 西安 710064)(西安建筑科技大学土木工程学院2) 西安 710055)
国内外在道路安全评价方面常用的交通安全评价方法有绝对数法、事故率法、事故强度分析法、概率-数理统计法、模型法、时间序列分析法和灰色评价方法等[1-3].
本文在建立高速公路交通安全评价指标体系的基础上,对BP神经网络在高速公路安全评价中的应用进行了分析,采用C++语言与数据库技术,开发了基于BP人工神经网络的综合评价软件,并进行了实际应用.
从交通工程学原理出发,把高速公路交通安全系统中的驾驶人特征、道路主体工程、交通工程及沿线设施、交通特性、交通环境、交通安全管理6个方面作为交通安全评价体系中的主要因素.
对6个方面中的每个影响因素与交通安全之间的关系进行研究,并根据评价指标的筛选原则[4-7],建立了高速公路交通安全评价指标体系,共计6个类别,18个指标,见表1[8].
表1 高速公路交通安全评价指标体系
1.2.1 网络结构建立 在高速公路交通安全评价中,反向传播网络(back-propagation network,BP网络)是实现非线性可微分函数进行权值训练的多层网络.BP神经网络评价解决了多指标变权问题的动态求解问题,克服了权重确定过程中的主观因素,为客观进行高速公路交通安全评价提供了一种有效的方法.根据前文描述的安全评价指标体系,将评价指标集合 A=(a1,a2,…,an)作为BP网络的输入层,将安全等级集合Y=(y1,y2,y3,y4)作为BP网络的输出层,使用3层BP网络模型构造高速公路交通安全评价模型,如图1所示.
图1 高速公路交通安全评价模型
评价等级划分为四个等级,样本的期望输出值从一级至四级依次设定为
优:(0.9,0.1,0.1,0.1);
良:(0.1,0.9,0.1,0.1);
中:(0.1,0.1,0.9,0.1);
差:(0.1,0.1,0.1,0.9).
1.2.2 网络学习过程 评价神经网络的各节点采用Sigmoid非线性阀值单元,激励函数为
BP算法学习步骤如下.
步骤1 初始化权系数,给各层权系数Wij赋予(-1,1)区间内的非零随机数,其中Wi,n+1=-θ.
步骤2 输入一个样本值Ak对以及与其对应的期望输出Yk,提供给网络.
对于输出层k=m,有
对于其他各层,有
步骤5 修正权系数Wij与阀值θi(Wi,n+1=-θ).使用公式
其中:η为学习效率;α为权系数修正常数.
步骤6 随机选取下一个学习样本对,将其提供给BP网络,返回步骤3,直至全部m个样本对训练完毕.
步骤7 重新从m个样本对中任选一对,返回步骤3直至误差函数Eav小于预先设定的值e(精确值);如果迭代次数N大于某个给定的值,没有收敛也停止计算.其中:全局平均误差为
1.2.3 评价过程 根据已训练完成的BP神经网络,进行现有道路安全等级的评价.评价时首先将待评价高速公路的各项安全评价指标数值进行归一化处理,将其限制在[0,1]区间内,然后将其作为输入值代入已训练好的网络,得到的输出值即为高速公路的安全等级.
高速公路交通安全评价系统,其系统框架结构如图2所示.系统的核心算法——BP神经网络算法采用面向对象技术设计,具有良好的扩展性与开放性,由C++语言编写实现.在具体实现时,采用了以下几方面的优化设计,使算法具有更快的收敛速度,更强的自动调节能力.
图2 系统框架结构
1)对样本输入数据、输出数据以及期望误差进行归一化处理,使其限制在[0,1]区间内,加快收敛速度.
2)在网络学习前,初始化权系数为[0,1]之间的小数,初始化阀值为[-1,0]之间的小数.采用变学习效率的方法,使学习效率能根据误差的变化,自适应动态调整.
3)通过设定最大学习次数来解决学习过程中的振荡现象,一旦超过最大学习次数,则重新初始化权系数与阈值系数进行计算.
训练网络模块完成评价网络的参数配置,样本数据输入,训练网络及训练结果处理等主要功能,参数配置完成后可保存至文件,供以后导入使用.神经网络训练文件包括参数配置文件、样本数据文件与权值矩阵文件等3类.
配置系统模块负责将训练成功的BP网络添加到评价系统数据库中,并对评价系数进行配置,使BP网络与评价等级进行映射,等级名与等级数值可根据用户要求进行配置.
安全评价模块完成对待评价高速公路交通安全指标进行评价的功能.评价时首先选择评价网络,其次输入评价指标数据,然后开始安全评价,最后系统将显示评价的结果,即高速公路安全等级.
评价网络数据库使用Access数据库保存训练成功的神经网络数据,共包括3张数据库表单,分别是:(1)Eva_Net表,用于保存BP网络参数,包括网络名、网络学习效率、最大平均误差、最大单次误差、最大迭代次数、S函数参数、动量项、网络结构数据、权值矩阵与取值范围等字段;(2)Net_Grade表,用于保存BP网络与评价等级的对应关系,包括记录编号、网络编号、等级名称、等级数值等字段;(3)Grade_Data表,用于保存评价等级的相关数据,包括网络编号、NetGrade编号、输出元序号与输出层数据等字段.
根据安全评价指标分级标准可知,只要在同一等级范围内对各评价指标随机取值,组成的样本也肯定属于同一等级.通过这种方法,可以随机生成任意多的评价总样本,作为神经网络模型的训练样本和检验样本.在本次模型构建过程中,为了保证样本的均匀分布,按照分级标准,在每个安全等级各随机生成8个样本,共32个样本作为训练样本,对网络进行训练.
构建的 BP神经网络模型采用 3层网络结构,输入层为18个节点,对应于18个安全评价指标;输出层节点数为4个,采用布尔型离散向量,对应于4个安全等级.隐含层节点数按照2.2.1节描述的经验公式计算并经过多次试算,将其节点数定为27.BP网络的其他参数分别如下:网络学习效率为0.1,动量项为0.9,最大迭代次数为200 000次,最大期望误差为0.003 5.在本BP网络中,由于输出层各等级数据中最大值为0.9,考虑到大于0.5,即可认定评价等级,因此将评价误差范围设为0.399.
使用“高速公路交通安全评价系统”训练上述网络,经训练后,网络精度满足要求(<0.003 5).利用训练好的网络对随机生成的检验样本进行评价,结果证明训练好的BP神经网络模型是可行的,且具有良好的泛化能力.
选取江西省梨温高速公路与昌泰高速公路数据进行交通安全评价,对数据按照指标体系模型中6类共18个指标进行了调查与计算,得出的评价指标如表2所列.利用上述训练建立的BP神经网络进行高速公路交通安全评价,将两条高速公路的待评指标数据样本(如表2)输入训练好的BP神经网络模型中,得到相应等级范围内的计算结果,评价计算结果如表3所列.
表2 昌泰高速公路和梨温高速公路评价指标
从评价计算结果分析,昌泰高速公路的第二项数据为最大值0.566 507,满足(0.501,0.9)区间,其他数据均在0.1附近,评价结果收敛的,可以确定该高速公路交通安全状况为良.梨温高速公路的第一项数据为最大值 0.608 505,满足(0.501,0.9)区间,其他数据均在0.1附近,评价结果收敛的,可确定该高速公路交通安全状况为优.
表3 高速公路BP神经网络评价计算结果
本文在建立评价指标体系的基础上,设计和开发出基于BP神经网络的高速公路安全综合评价软件.经过实际应用,表明该方法具有良好的扩展性与开放性、收敛性和很强的自动调节能力.
下一步研究将重点改进BP神经网络隐含层神经元算法,优化激励函数,提高神经网络训练的收敛速度;同时计划在交通安全评价软件中增加其它评价方法,增强软件的功能.
[1]邬长福,王宏奇,林大建,等.道路安全评价方法探讨[J].浙江交通职业技术学院学报,2004,5(3):1-3.
[2]杨天军,张晓春,杨晓光,等.基于BP神经网络的城市道路交通安全评价研究[J].中国矿业大学学报,2005,34(1):37-40.
[3]潘艳荣,翟长旭,朱顺应,等.基于灰色聚类理论和人工神经网络技术的道路交通安全评价[J].重庆交通学院学报,2005,24(2):101-105.
[4]吴开亚.区域生态安全的综合评价研究[D].合肥:中国科学技术大学管理学院,2003.
[5]钟连德,孙小端,贺玉龙,等.高速公路事故类型预测模型研究[J].武汉理工大学学报:交通科学与工程版,2009,33(4):683-686.
[6]陆化普.城市交通管理评价指标体系[M].北京:人民交通出版社,2003.
[7]张殿业.道路交通安全管理评价体系[M].北京:人民交通出版社,2005.
[8]陈 君,李聪颖,丁光明,基于BP神经网络的高速公路交通安全评价[J].同济大学学报,2008,36(7):927-931.