基于粒子群优化SVM的高速公路交通事件检测
2013-08-22胡丹龙余立建
胡丹龙,余立建,杨 阳
(西南交通大学 交通信息工程及控制实验室,四川 成都 610031)
高速公路交通事件自动检测算法是高速公路交通管理以及控制系统的重要组成部分,准确、快速地检测事件的发生,已经成为高速公路交通管理控制系统能否成功发挥作用的关键。高速公路事件指的是由于非偶然性因素而破坏正常的交通流并且导致道路通行能力下降的事件。高速公路事件严重的影响交通安全,造成交通流混乱及车辆延误。高速公路事件自动检测是高速公路交通管理与控制系统的重要组成部分,如何准确、快速地检测和确定事件发生的时间、地点以及性质,是高速公路交通管理与控制系统能否成功运行并且发挥作用的关键。
现有的检测方法主要是通过对检测线圈检测到的交通流参数的分析来判定发生交通事件的可能性,最早开发并投入使用的交通事件自动检测算法(AID算法)是以判别突发事件为主的加州算法,后来出现如标准偏差算法指数平滑算法、贝叶斯算法等,近些年随着电子技术,自动化技术的大力发展,基于人工智能的AID算法受到更多学者的极大关注。出现利用神经网络、模糊算法,支持向量机等算法进行高速公路交通事件检测,本文正是利用SVM的全局优化,适应性强,泛化能力好的特点,针对I-880数据库采集到的实时交通数据参数,将支持向量机应用到高速公路交通事件检测系统中来。
1 基础理论介绍
1.1 支持向量机分类
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出来的,它是建立在VC维理论和结构风险最小原理基础上,根据对特定训练样本的学习精度(Accuracy)和学习能力之间寻求最佳折衷,以期获得最好的推广能力(或称泛化能力)。所谓最优分类线,就是要求分类线不但能将分类正确分开,使训练错误率为0,而且还要使分类间隔最大。前者保证经验风险最小;使分类间隔最大实际上就是保证其具有一定的推广性。
支持向量机数学描述为
1)设已知数据样本集(xi,xj),yi∈{-1,+1}。
2)选取适当的核函数K(xi,xj)和适当的参数C,构造并求解最优化问题
求得最优解
3)选取α*的一个正分量0<α*j<C,并根据此计算阀值
1.2 核函数的选取
采用不同的核函数,SVM算法可以构成不同的学习机,目前常用的核函数有3类。
1)多项式核函数:
2)径向基核函数:
3)双曲线正切核函数:
其中,当核函数的阶数越高,对应的特征空间维数越高,运算越复杂,而双曲线正切核函数只在某些情况下满足Mercer条件,并且表现不如径向基核函数好,径向基核函数是应用最广的SVM核函数,如果没有充分获得样本集和分类问题的先验信息,此核函数表现出色,因此本文选取径向基核函数作为支持向量机的核函数。
1.3 粒子群优化算法
PSO的基本思想:每个优化问题的潜在解都是搜索空间中的粒子,所有粒子都有一个被优化的函数所决定了的适应值;另外,每一个粒子还有一个速度向量决定他们飞行的方向和距离,然后,粒子们追随当前的最优粒子在解空间中进行搜索。PSO随机初始化一群粒子,接着通过迭代的方法找出最优解。在每一次迭代中,粒子通过跟踪两个极值来更新自己,第一个就是粒子本身到当前时刻为止找到的最好解,这个解称为个体最好值,另一个极值就是整个种群到当前时刻为止找到的最好解具体算法如下:假设在一个D维的目标搜索空间中,有m个粒子组成一个群体,其中第i个粒子的位置表示为向量
其中速度也是一个D维的向量,记vi=(vi1,vi2,…,viD)。第i个粒子迄今为止搜索到的最优位置pi=(pi1,pi2,…,piD)。
整个粒子群搜索到的最优位置为pg=(pg1,pg2,…,pgD)粒子群更新式为
式中:i=1,2,…,m;d=1,2,…,D;加速常数c1和c2为非负常数;r1和r2服从[0,1]上的均匀分布随机数。xid(t)是第i个粒子的当前位置pid是第i个粒子截止目前搜索到的最优位置,pgd是整个粒子群体搜索到的最优位置,vid是第i个粒子的当前速度。本式为基本的pso,速度表达式中分为3部分,第1部分为当前速度对下个粒子速度的影响,可以起到平衡全局,提高局部搜索能力;第2部分反映了粒子本身记忆带来的影响;第3部分反映群体信息的影响,体现粒子之间的信息共享与合作。文中采取改进后的PSO算法,即增加惯性权重w,通过控制w的取值大小可以调节PSO的全局和局部的寻优能力。经试验发现惯性权重采用动态时候取得更好的寻优结果,其式可以表示为
式中:wmax,wmin分别为w的最大、最小值;n,N为当前迭代次数和总的迭代次数。
2 交通事件检测仿真
2.1 数据来源
本文的数据来源于高速公路交通数据库I-880,此数据库主要包含每个路段,每个车道的速度、流量和占有率等数据,还有一个交通事件数据库,本文选取代表拥堵的45个交通事件和3d无事件数据来建模,其中,训练集采用25个有交通事件的2100组数据和无交通事件的5000组数据组成,测试集由其他23个事件(2036组)和2036个无事件组成,如表1所示。
表1 训练集和测试集样本数据划分
2.2 交通事件检测常用指标
一般交通事件检测算法好坏的评价标准有3个指标,检测率(DR)、误警率(FAR)、平均检测时间(MTTD)。检测要求检测率高、误检率低,而且还要保证平均检测时间尽量低。
检测率(DR):是指一定时间内算法正确检测出的有效事件数目与实际发生事件数目比值,即,
RN是正确检测出的事件数,CN实际发生的事件数;
误报率(FAR)是指在特定时间段内,算法检测误报事件的数与检测到的事件总数的比值,即
式中:FN是在时间T内算法检测误报事件的次数,CDN是指检测到的事件总数。
平均检测时间指的是算法检测出的事件发生时刻与事件实际发生时刻差值的算术平均值。即
式中:TI(i)为事件i实际发生的时刻,TA(i)为事件i被检测到的时刻,n为算法检测到的实际发生的事件数。
2.3 实验过程及结果
本实验均采用 MATLAB 7.0编写程序,在DELL p390型计算机上运行,PSO参数选择为最大进化数为150,种群数量为20,c1为1.5,c2为1.5,惩罚参数C和核函数g的搜索范围为[0.1100]和[0.01100],适应度函数采用训练集分类正确率,仿真如图1所示。
经过150次迭代,训练集数据的分类正确率达到了99.2%,将参数选定后的模型对测试集合进行测试,计算各种交通检测评价指标并且与没用PSO优化的SVM做对比,如表2所示。
表2 SVM和PSO_SVM比较
图1 PSO优化SVM适应度变化
实验发现通过粒子群搜索验证支持向量机的参数,在分类正确率以及事件检测率上面都有提高,分类正确率达到了94.85%,平均检测时间上采用粒子群优化增加了算法,每次在速度与位置更新时,计算适应度函数的值而增加了复杂度,导致检测时间有所延长。
3 结束语
本文采用了PSO和SVM相结合算法,为高速公路交通事件检测提供了一种比较可靠的算法,通过增加动态惯性权重,更好的调节PSO的全局与局部寻优能力。提高了检测分类率,进一步的研究将结合交通系统的其他参数,并且在数据处理方面做一些改进,争取达到更好的效果。
[1] 龚炯,余立建,魏文.基于PCA-SVM的交通事件检测研究[J].物流工程与管理,2010,32(189):87-89.
[2] 陈维荣,关佩,邹月娴.基于SVM的交通事件检测技术[J].西南交通大学学报,2011,46(1):63-64.
[3] 李传志,胡如夫.公路交通事件检测技术的研究与展望[J].交通科技与经济,2008(49):68-69.
[4] 武林芝,陈淑燕,郑小花.基于PCA和SVM的交通事件检测算法[J].微计算机信息(测控自动化),2010,26(5):220-221.
[5] 刘煌.一种基于遗传算法的改进PSO优化算法[J].计算机应用与软件,2010,9(3):59-60.
[6] 刘静.基于PSO结合SVM的肉品新鲜度判别方法[J].江苏大学学报,2012,33(3):291-292.
[7] 陈祥梅.GA-SVM在高速公路交通事件检测中的应用研究[D].成都:西南交通大学,2009.
[8] 龚炯.基于SVM的高速公路交通事件检测算法研究[D].成都:西南交通大学,2010.