一种优化参数的支持向量机驾驶意图识别
2018-04-11李晓东宿晓曦
李 慧, 李晓东, 宿晓曦
(1. 长春工业大学 电气与电子工程学院, 长春 130012; 2. 吉林大学 通信工程学院, 长春 130022)
0 引 言
人们在驾驶汽车时会根据路况及个人喜好对汽车进行一系列操作,意图使汽车的响应满足自己的需求。驾驶员对汽车的输入操作主要包括加速踏板、制动踏板、转向盘等,驾驶员就是通过踩加速踏板来直接体现自己的加速欲望。而除了踏板的行程大小以外,驾驶员缓慢或急速踩下加速踏板时,对于加速程度的期望也是不同的[1],所以为了使汽车满足人的加速需求,首先对于驾驶员的加速紧急程度的正确解析就至关重要,即对驾驶意图的识别研究有重要意义。受空气污染和石油危机影响,电动汽车越来越成为趋势[2],所以本文研究的驾驶意图识别主要用于纯电动汽车。驾驶意图包括加速意图与制动意图,研究方法类似,故本文主要研究加速意图识别。关于驾驶意图的识别,研究人员很多使用模糊算法来实现[1,3-4],或是模糊神经网络来实现[5],以及基于马尔科夫模型来识别[6]。本文使用支持向量机分类模型,并通过一种自适应的粒子群算法优化其参数,达到支持向量机参数寻优范围的自整定。
1 驾驶意图识别参数的确定及其分类
加速踏板的开度可反映出汽车的负载情况,对于加速的紧急程度也有一定程度的体现[7],而驾驶员正是通过踩踏加速踏板或者制动踏板来反映自身的驾驶意图。即加速意图由驾驶员踩加速踏板实现,由于加速踏板开度直接反映驾驶员的需求功率,但迫切程度难以反映,所以驾驶员无法仅靠踏板开度这一个参数来实现准确的加速需求[7]。
选择加速踏板开度a和加速踏板开度变化率da/dt作为加速意图识别模型的输入量,通过智能算法解析实现对踏板开度及变化率的综合分析,根据加速的快慢程度将加速意图分为缓加速、中等加速、急加速3种意图。
2 驾驶意图识别模型建立
2.1 支持向量机
支持向量机(Support Vector Machine,SVM)在近些年的线性回归、模式分类里有非常广泛的应用[8],以及在预测领域体现出了较好的效果[9]。目前应用在汽车领域的有超车、并线意图的识别[10-11]等。
该理论无论是基于支持向量聚类还是分类的研究,在构造支持函数或类别分界面时,均期望通过小样本的学习,建立具有较强泛化能力的学习模型以达到结构化风险和经验风险的平衡[12-13]。
SVM算法首先是针对分类问题建立一个分类超平面作为决策面,并且使训练数据集中的样本与分类面的距离最大化。给定训练集(x1,y1),…,(xl,yl),xi∈Rn,yi∈{+1,-1},组成向量集合,决策面为x·w+b=0,其中:x为输入向量;w为决策面的法向量;b是系数。则最优分类函数为:
f(x)=sgn{(x·w)+b}=
(1)
引入核函数将训练样本变换到高维空间,则最后的决策函数:
f(x)=sgn{(w*·x)+b*}=
(2)
式中:K(x,xi)为核函数。本文采用广泛使用的径向基函数(Radial Basis Function,RBF)作为核函数,SVM的实现函数选用C-SVC模型,则惩罚因数c和核参数g是决定C-SVC分类模型及RBF核函数的关键参数,对于寻找最佳的参数c和g(即bestc和bestg),可使用网格搜索法或启发式优化算法。
2.2 粒子群算法
粒子群优化算法(Particle Swarm Optimization,PSO)是一种群体智能的启发式优化算法,其优势在于结构简洁,容易实现[14]。同时借鉴遗传算法中的变异的思想,引入变异算子来以一定的概率重新初始化粒子,这样自适应变异可以有效改善局部最优[15]。将PSO用于SVM模型参数寻优过程,当寻优的范围设置得当时,会比网格搜索法具有更快的寻优速度和较高的分类准确率。对训练集进行K-CV意义下的准确率作为PSO中的适应度函数值,使用PSO优化SVM参数c和g的算法过程如图1所示。
图1PSO优化SVM参数(c&g)过程图
2.3 一种自适应PSO具体理论
粒子群算法寻优范围往往由人自身的经验设定,以达到比较好的寻优效果,然而这并非易事。寻优范围要很大,这样可以覆盖所有可能的结果,但搜索得往往不够精细,收敛速度慢。寻优的范围越小,粒子群得到的寻优结果越好,寻优时间也越短,但寻优的范围很小时最优的参数却未必在此范围,使得最后结果也未必是最好的[16]。所以这个寻优范围的设置具有不确定性,过大或过小都有缺点。
但如果能定位出比较好的寻优区间,然后粒子群再在此区间进行精确的搜索,就能找到最优的参数,使用也很方便,只要给出数据集,就能自整定地给出这个恰当的区间,同时可以减少在其他区间上不必要的搜索,提高搜索效率。
先用网格搜索法进行SVM的c和g的寻优工作,它们的范围都设置为[2-10,210]。由图2可知,c和g只有在某个范围内时,由SVM得到数据集分类准确率很高,而在其他的范围内分类准确率是很低的,体现了高分类准确率时对应参数c和g分布的区域性和集中性。bestc=0.707 11,g=45.254 8,K-CV准确率=92.307 7%。
图2 网格搜索法寻优参数(c & g)结果
根据以上分析提出一种自适应粒子群寻优算法,先用网格搜索法在大范围内用大步距快速地粗搜索,由训练数据通过K-CV方法得到c和g的值,为防止过学习的状况发生,选择c值最小的那组c和g,以此得到确定粒子群参数的寻优范围的基准值,将基准值一定程度地放大及缩小,得到区间范围,再用粒子群算法在此范围继续寻优,这样就达到了自适应确定粒子群寻优范围的目的。
这里的关键问题是得保证最佳参数一定是在网格搜索法粗搜得到的范围之内,即避免局部最优。由于c和g值的过大或过小都会引起分类模型过学习或欠学习的情况,而两者又是相互制约,取值都不会太大。为确保有效地找到这组最优的参数,只要根据网格搜索得到的粗搜基准值将粒子群寻优区间设置的足够大,就可实现这个目的。
2.4 本文算法实现过程
本文采用Matlab软件实现算法的仿真验证。算法优化参数的流程如图3所示。具体算法实现过程如下:
Step1载入数据集及驾驶意图的分类类别。
Step2选定数据的训练集和测试集。
Step3数据的归一化处理。
采用[0,1]区间归一化方式,归一化映射如下:
(3)
y∈[0,1]表示x归一化后的值。
Step4网格搜索法粗搜索,设定参数c和g的初始搜索范围及步距,其中步距都设为2,如此大的步距的目的是有效缩减搜索时间。
Step5根据网格搜索法,通过K-CV交叉验证,得到粗搜时最佳的c和g值,即第一阶段的bestc和bestg,作为下一步粒子群的自适应寻优c和g的区间的依据。
Step6设定粒子群寻优参数的范围,其中c的范围设定为[m*bestc,n*bestc],g的范围设定为[m*bestg,n*bestg]。
Step7用粒子群在此范围寻优,得到最终的bestc和bestg,即最优的c和g的值。
Step8根据最优的c和g的值,由SVM分类模型得到驾驶意图分类准确率。
图3自适应PSO优化SVM参数(c&g)过程图
3 仿真实验
本文以a和da/dt作为输入量,其中a的范围0~100%,即[0,1],开度变化率为[0,10],采集156组实验数据样本,其中78组为训练数据,78组为测试数据。3种加速意图包括缓加速、一般加速、急加速,分别用1, 2, 3表示。现列举部分实验数据如表1所示。
仿真结果分析:
计算机操作系统为Windows7,32位系统,处理器为:Intel Pentium G630 ,主频2.7 GHz。在Matlab2010a软件平台上的LIBSVM工具箱进行实验。
表1 训练和测试数据
本文分别将常规粒子群优化算法、自适应粒子群优化算法及前面网格搜索法得到的测试结果进行比较分析。
首先使用常规粒子群算法优化SVM的参数c和g,将它们的寻优范围都设定为[0.1,1 000],粒子群中的适应度函数值选用训练集在K-CV意义下的准确率,并将种群及速度进行初始化,经过训练得到最优的c和g的值,将它们和训练数据及对应的驾驶意图类别一起给到SVM分类模型进行训练,用得到的模型再对测试数据进行分类预测,则驾驶意图分类结果如图4所示。由图4可知,78个测试样本中有3个被错分。
图4 PSO优化SVM分类结果
再使用自适应粒子群算法来优化SVM的参数c和g,包括了网格搜索法粗搜和粒子群搜索两步。网格粗搜时c和g的初始范围分别设置为[2-6,26],[2-10,210],搜索步距都设为2,得到粗搜的bestc和bestg,据此设定粒子群寻优参数的范围,c的范围设定为[0.2*bestc,3*bestc],g的范围设定为[0.2*bestg,3*bestg],用粒子群在此范围寻优,同样粒子群中的适应度函数值选用训练集在K-CV意义下的准确率,最后得到新的最优c和g的值,即最终精细的bestc和bestg,再和训练数据及对应的驾驶意图类别一起通过SVM分类模型进行训练,用得到的模型再对测试数据进行分类预测,其中网格粗搜索时参数c和g选择结果的等高线图、3D效果图及最后的分类结果分别如图5~7所示。
由图可见,测试集样本中只有2个被错分。网格搜索算法的结果在上文的第二节已经得到。将以上实验结果整理成表2所示。从表2可以看出,相比于常规粒子群算法及上文用的网格搜索法,用自适应粒子群算法优化SVM参数时的训练时间减少,且有更高的分类准确率,并且得到了较小的惩罚因数c,因为保证准确率的前提下,c过大会导致过学习的情况发生,从而降低分类器的泛化能力,c值越小,泛化能力越强。仿真结果表明,运用这种自适应粒子群算法优化向量机的分类模型可以很好的识别驾驶意图。
图5 网格粗搜索参数(c & g)等高线图
图6 网格粗搜索参数(c & g)3D图
图7 自适应PSO优化SVM分类结果
网格搜索法常规粒子群算法自适应粒子群算法分类准确率/%92.307796.153897.4359c值0.70719.29671.1341训练时间/s4.5376694.1351733.684036
另外,自适应粒子群算法中从第一步网格粗搜索得到参数c和g的等高线图及3D图中也可看到,c的范围可缩小到2-2~ 22,g的范围可缩小到20~ 27。由实验结果知,粒子群优化得到的最优参数c和g的值在此范围,也证明了此方法结果可靠。
4 结 语
本文选取了用于加速意图识别的参数,并将加速意图分为3种类别,且从测试结果可以看出,这种自适应粒子群算法优化的支持向量机分类模型可以很好识别驾驶意图,辨识模型准确可靠。本文分类模型可以用于后续电动汽车驱动控制策略开发的深入研究,以及为提高电动汽车行驶的驾驶性能打下基础。
针对常规粒子群优化算法的寻优范围不确定性,通过先用网格搜索法确定惩罚因数c和核函数参数g的最佳搜索范围,作为粒子群的参数寻优范围继续寻优,由此实现了自适应确定搜索范围的能力,这种自适应算法比常规粒子群大范围搜索时效率要高,同时改善了常规粒子群算法得到的c值过大导致过学习的情况。由于可以根据不同的样本向量集自适应地整定出粒子群算法寻优范围,本方法还可推广到在不同样本集、不同辨识参数的场合中统一应用。
参考文献(References):
[1]王庆年,王俊,陈慧勇,等. 混合动力车辆中的加速与制动意图识别[J]. 吉林大学学报(工学版),2014,44(2):281-286.
[2]徐凯,牛志刚. 纯电动汽车加速转矩控制优化策略[J]. 机械设计与制造,2016(9):50-53.
[3]吕仁志. 基于工况与驾驶意图识别的HEV控制策略[D]. 大连:大连理工大学,2013.
[4]刘磊,刘树伟. 驾驶员制动意图辨识的方法研究[J]. 农业装备与车辆工程,2015,53(11):27-30.
[5]王庆年,唐先智,王鹏宇,等. 基于神经网络的混合动力汽车驾驶意图识别方法[J]. 农业机械学报,2012,43(8):32-36.
[6]HE Lei, ZONG Chang-fu, WANG Chang. Driving intention recognition and behaviour prediction based on a double-layer hidden Markov model[J]. Journal of Zhejiang University-SCIENCE C : Computers & Electronics,2012, 13(3):208-217.
[7]王庆年,唐先智,王鹏宇,等. 基于驾驶意图识别的混合动力汽车控制策略[J]. 吉林大学学报(工学版),2012,42(4):789-795.
[8]车遥. 基于多传感器信息融合的室内定位系统的设计与实现[D]. 长春:吉林大学,2015.
[9]严其艳. 基于支持向量回归机的并联机床表面粗糙度预测[J]. 实验室研究与探索,2017,36(1):30-33, 37.
[10]麻婷婷,涂孝军,朱伟达. 基于支持向量机的驾驶员超车意图识别[J]. 上海工程技术大学学报,2016,30(3):203-208.
[11]马国成,刘昭度,裴晓飞,等. 基于模糊支持向量机的旁车道车辆并线意图识别方法[J]. 汽车工程,2014,36(3):16-320.
[12]张学工. 关于统计学习理论与支持向量机[J]. 自动化学报,2000,26(1):32-42.
[13]赵传峰,姜汉桥,郭新华. 支持向量机在小样本预测中的应用[J]. 油气田地面工程,2009,28(2):21-23.
[14]贾松浩,杨彩. 一种改进的自适应变异的粒子群优化算法[J]. 实验室研究与探索,2014,33(4):14-17.
[15]李松,刘力军,翟曼. 改进粒子群算法优化BP神经网络的短时交通流预测[J]. 系统工程理论与实践,2012,32(9):2045-2049.
[16]孟滔,周新志,雷印杰. 基于自适应遗传算法的SVM参数优化[J]. 计算机测量与控制,2016,24(9):215-217,223.
·名人名言·
只有严格的专业化能使学者在某一时刻,大概也是他一生中唯一的时刻,相信自己取得了一项真正能够传至久远的成就。今天,任何真正明确而有价值的成就,肯定也是一项专业成就。
——马克斯·韦伯