支持向量机在智能交通系统中的研究应用综述*

林 浩,李雷孝+,王 慧

1.内蒙古工业大学 数据科学与应用学院,呼和浩特010080

2.内蒙古自治区基于大数据的软件服务工程技术研究中心,呼和浩特010080

1 引言

智慧交通的前身是20 世纪60 年代后期提出的智能交通系统(intelligent transportation system,ITS),ITS 作为一个充满学科交叉的综合性研究领域,将信息技术、计算机技术、数据通信技术、传感器技术、电子控制技术、自动控制技术、运筹学、人工智能等学科成果运用于交通运输管理、服务控制、车辆制造等难点问题中[1]。ITS 涵盖了公路、铁路、民航、水运等交通方式,通过整合多元化信息,对数据进行挖掘后分析潜在价值数据,可为政府和道路使用者提供科学的管理依据。

支持向量机(support vector machine,SVM)是一种基于统计学习理论的机器学习算法,于1964 年诞生,又在2004 年达到鼎盛。SVM 自1995 年来得到了快速发展并衍生出一系列扩展算法[2]。由于交通数据普遍具有非线性、非平稳性、潮汐性等特点,而SVM 通过寻求结构风险最小化来最小化实际风险,具有优秀的泛化能力,能够较好地解决非线性数据、小样本和维数灾难等问题。这使它被广泛应用于智能交通系统领域。但SVM 也有其自身局限性,例如:传统SVM 无法解决多分类问题;对大规模数据训练的效果不佳;大数据背景下训练时间过长;核函数参数的确定困难;在理论上SVM 只能提供次优解等问题[3]。针对SVM 的缺点,各个研究领域的学者提出了多种不同的优化方案。

2 支持向量机2.1 支持向量机基础理论

支持向量机根据用途可分为支持向量回归机(support vector regression,SVR)和支持向量分类机(support vector classification,SVC)。

其核心思想是寻找一个满足分类(回归)要求的最优超平面,使得该超平面既保证精度又能使得到超平面最近样本的距离最大(小),如图1、图2 所示。

图片[1]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Fig.1 Support vector classification图1 支持向量分类机

图片[2]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Fig.2 Support vector regression图2 支持向量回归机

以二分类问题为例,设训练样本集为{(xi,yi)i=1,2,…,n},xi∈Rn,其中xi为输入样本,yi为输出样本。则超平面可记作:

图片[3]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

可计算出分类间隔为2/w,后引入Lagrange 函数解决该最优化问题,则该超平面可转化成:

图片[4]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

令Lagrange 函数对w、b的偏导数为0,则可将问题转化为对偶问题,则最终最优分类函数为:

图片[5]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

对于非线性问题,SVM 可以通过引入核技巧(kernel trick)解决。其核心思想是将输入向量映射到一个高维的特征向量空间,并在该特征空间中构造最优分类面。非线性的SVM 超平面问题可写成:

图片[6]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

式(4)中引入了惩罚因子C和松弛变量ξi,C的作用是调整误差,决定了模型因为离群点而带来的损失,同ξi一样都是可优化的超参数。从数学模型中可看出SVM 只涉及样本间的内积运算,故在高维空间不需进行复杂的运算。

2.2 支持向量机开源工具

2.2.1 SVM 工具箱

Matlab 是国际上最流行的科学与工程计算软件,承担了大部分新算法的开发任务。Matlab 拥有自带的SVM 工具箱,并提供了训练模型和预测的相关函数。但Matlab 自带的SVM 工具箱仅支持二分类问题。无法改变核函数和其参数,导致在功能性和易用性方面和其他开源工具差距较大。针对这些问题,学者们开发了LSSVM、OSU_SVM、SVM_SteveGunn等工具箱,并提供了可视化函数。但Matlab本身无法应用于大数据量情况,故研究数据量大的问题时应选用其他工具。

2.2.2 Scikit-Learn

Scikit-Learn 是一个基于Python 语言开发的机器学习算法库,它建立在NumPy、SciPy、matplotlib 等扩展程序库上,可简单高效地实现数据挖掘和数据分析等功能[4]。Scikit-Learn 使用起来简单,并更易于和其他数据处理技术结合,是研究学习以至于实际应用SVM 的重要工具。Scikit-Learn 通过高封装实现易用性,这导致有些参数都在算法API(application programming interface)内部调用,算法整体优化难度大。

2.2.3 LIBSVM

LIBSVM 是台湾大学林智仁教授等人开发设计的一个简单高效的SVM 软件包[5]。LIBSVM 中提供了很多的默认参数,并自带了交互检验、数据归一化等功能。目前,LIBSVM 拥有C、Java、Matlab、Python、R 等26 种语言版本。实际上,Scikit-Learn 中的SVM 函数底层是基于LIBSVM 和LIBLINEAR 实现的[6]。LIBSVM 对数据输入输出格式较为严格,这使它很难集成到其他应用。但其功能的专业性和完整性使它成为了学术研究的首选工具。3 种开源工具的比较如表1 所示。

3 支持向量回归在ITS 中的研究及应用3.1 客流量预测

近年我国交通行业发展迅速,客流量激增、饱和的情况经常发生。准确及时地预测客流量直接影响着客运计划的制定。客流量预测领域是SVR 应用和研究最多的领域,文献[7]基于SVR 提出了一种短时交通流量预测模型,并分析了交通信息的非线性、复杂性和不确定性,为后续研究提供了重要的指导意义。文献[8]将SVR 引入航空客流量预测中,证明了SVR 同样适用于民航客流量预测。

只有精确预测客流量才能保证客运计划的合理性。为了提高SVR 模型的准确率,文献[9]采用遗传算法(genetic algorithm,GA)优化SVR 预测了铁路客流量,实验证明经遗传算法优化参数后的SVR 比传统SVR 准确率高。因天气、温度、节假日等多个因素与客流量相关,文献[10]基于文献[9]的方法,采用主成分分析(principal component analysis,PCA)对多个断面的交通流数据进行降维。结果表明,该方法比未数据降维的方法效果更好。文献[11]先使用粗集理论的强定性分析约简输入数据,再利用SVM 预测交通流量,有效地消除了样本中冗余数据和噪声数据。文献[12]使用基于黄金分割的混沌粒子群(particle swarm optimization,PSO)算法优化SVR,并设计了基于RBF 核(radial basis function)与多项式核函数的混合核函数弥补常用核函数的局限性。文献[13]基于深度信念网络(deep belief nets,DBN)和SVM 提出了一种交通短时客流深层预测模型,并使用多个群智能算法优化SVM 的参数。结果表明该深层模型各方面优于GA-SVM、PSO-SVM、BPNN(back propagation neural network)、LSTM(long short-term memory)等浅层模型。

图片[7]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Table 1 Comparison of SVM tools表1 支持向量机开源工具比较

随着SVM 算法研究的深入,客流量预测的准确率也越来越高,但也仍然存在许多问题。在目前的研究中,客流量数据大多以10 min、15 min 和30 min为时间间隔,时间间隔越短随机性越强,预测的难度也就越大。客流量数据的横向周期性已成为共识,但纵向随机性的研究较少。假设需要预测的车流量为xij,其中i表示天数,j表示时段。(xi-n,j,xi-n-1,j,…,xi-1,j)表示第i天的前n天第j时段的车流量,体现数据受到的横向周期性影响;(xi,j-m,xi,j-m-1,…,xi,j-1) 表示第i天内第j时段的前m个时段的车流量,体现数据受到的纵向随机性影响。即某时段客流量应受到同一天内该时段前若干时段客流量的影响与若干天前该时段客流量的影响。如不考虑天气、温度等原因,模型的输入应为:

图片[8]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

同时,效率低下的客流量预测方法对现实恐无指导意义。要将算法应用于客流量预测这种实时性较强的领域,不仅要保证准确率,更要注意算法效率。在大数据时代,客流量预测还有很大的研究价值和空间。

3.2 交通拥堵评价参数预测

为了量化交通拥堵程度,国内外学者从道路服务水平(V/C 比)、拥堵时间比和经济比等不同角度出发,设计了许多具有整体完备性、客观性、可操作性、可比性的因素指标。常用的指标有交通流平均速度、交通流密度和路段饱和度等[14]。

交通流平均速度是指单位时间内该条道路中所有车辆行驶距离的平均值。交通流密度是指在单位时间内该条道路单位长度内的车辆数,计算方法如下:

图片[9]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

其中,f为车流量;v为平均速度。

路段饱和度是指该路段实际交通流量与最大通行能力的比值,其反映的是道路的实际负荷能力。路段饱和度的计算方法如下:

图片[10]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

其中,V为该道路当前车流量;C为道路最大通行能力。

交通拥堵评价参数预测是SVR 的另一个应用热点。文献[15]利用SVR 预测交通流平均速度,并结合K-均值聚类、PCA、自组织特征映射等无监督学习算法分析其时空特征。文献[16]使用均值滤波和PSO算法优化SVR 预测车道饱和度,并使用悉尼的真实道路数据对预测模型进行了验证。结果表明,所建立的模型能够有效预测未来车道饱和度以及有可能发生的道路拥堵。文献[17]在文献[16]的基础上增加了平均车速和交通流密度的预测,通过3 个拥堵评价参数构建了多指标的模糊综合评价模型来描述交通拥堵情况。

通过预测多个交通拥堵评价参数综合评价交通拥堵是预测未来时刻交通拥堵较为先进的方法。其中,参数预测的准确率决定了拥堵预测的精度和实际指导意义[18]。此外,基于V/C 比的交通拥堵评价参数因其可操作性成为了目前的主流评价参数。但这并不意味着基于拥堵时间比和经济比的参数效果不佳。如何收集这些可操作性差的数据,并利用各类优化算法进一步提高回归预测的准确率是该领域的下一个研究问题。

3.3 交通事故预测

交通事故预测对于研究交通事故的发生规律,分析交通事故的发展趋势以及道路交通安全控制均具有重要意义,是政府和交通部门制定策略的重要数据支持。交通事故预测的研究对象一般为交通事故数、万车死亡率和10 万人口死亡率。文献[19]证明了交通事故数据之间存在着非线性关系,事故发生受政治、经济等若干敏感因素影响,传统的回归预测模型无法准确地预测交通事故。故支持非线性计算的SVR 更适用于交通事故预测。文献[20]基于ARIMA模型(autoregressive integrated moving average model)和SVR 构建了交通事故混合预测模型。研究结果表明,该混合模型的准确性高于单个ARIMA 模型的准确性。文献[21]采用基于相关性分析的特征选择算法对数据进行降维,实验证明该方法有效提高了SVR 的计算速度和精度。

除公路、铁路事故预测以外,SVR 在预测海上交通事故[22]和飞行事故预测[23]中也有一些研究成果。相较于其他热门研究领域,交通事故预测的研究较少。据统计,交通事故预测中涉及到特征变量已经超过35 个,综合考虑所有因素并对多余特征值进行合理降维应是今后的主要研究方向。

3.4 交通碳排放预测

交通行业是国家经济和社会发展的基础产业。据统计,交通行业的能源消费占全社会能源消费总量的25%~30%。交通碳排放预测可为制定合理有效的减排政策提供科学的决策依据。碳排放强度是指单位GDP 所产生的碳排放总量,其计算方法为:

图片[11]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

其中,Ct为历年交通运输行业碳排放总量,GDPt为历年经济生产总值。文献[24]研究并使用完全指数分解法确定了不同交通领域和不同运输结构中的诸多碳排放影响因素。研究结果显示,GDP 对碳排放的影响最大,汽车技术水平的影响最小。文献[25]选取了人口、城市化率、人均GDP、服务业增加值比重、人均GDP 能耗和煤炭消费比6 个影响因素作为特征值,建立了基于SVR 的碳排放预测模型。通过中国1980 年到2009 年的数据进行验证后得出该模型具有良好学习和泛化能力的结论。文献[26]采用类似方法,使用河南省1991 年到2016 年的数据进行验证得到了近似结果。文献[27]基于上述方法,加入了机动车保有量、旅客周转量和货物周转量共7 项指标作为城市交通运输碳排放影响因素,说明了实验区域未来交通碳排放增长趋势逐渐变缓,但总量将持续呈上升趋势。文献[28]构建了一个基于PCA 和SVR 的碳排放量组合预测模型,预测结果表明使用PCA 降维后的模型误差显著小于其他模型误差。

交通碳排放预测是典型的时间序列预测问题,LSTM 和RNN(recurrent neural network)等拥有记忆能力的深度学习模型更适用于该问题[29]。未来应研究SVM 与深度学习结合的深层预测模型在交通碳排放预测中的应用。

此外,SVR 在公交到站时间预测[30]、交通牵引能耗测算[31]、交通流时间序列补齐[32]、航班延误预测[33]等应用领域也有相应的研究成果。

4 支持向量分类在ITS 中的研究及应用4.1 交通状态判别

交通状态识别是ITS 重要的组成部分,一般是通过各种分类、聚类算法实现对各类交通状态的识别,并依据识别结果实现交通系统的智能控制和管理[34]。多数研究将交通状态划分为4 到6 个状态等级,表2是根据车速将交通状态分类的依据。

图片[12]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Table 2 Traffic status classification表2 交通状态划分等级

SVC 在这方面研究成果丰富,文献[35]通过研究和实际仿真,构建了单车道流量、平均车速、道路占有率的三维参数体系,并使用SVC进行分类预测。文献[36]基于SVC 实现了实时交通状态预测模型,并且考虑到了平均车速、道路密度、道路交通量、交通事件和降雨量等多个因素,对实际工作有一定的指导意义。文献[37]提出一种通过噪声识别交通流状态的新方法。将发动机噪声、轮胎噪声、空气涡流噪声、排气噪声等信号分量作为SVC 的输入,将交通流状态分为自由流、饱和流及拥堵3 种状态。该方法对饱和流的识别准确率不理想,却为今后的研究提供了很好的思路。

交通状态判别需要大量的交通流数据,目前该领域的样本量普遍不足。一方面必须提高数据量和可靠性;另一方面,像欧洲的车辆行驶工况无法完全适用于中国各地一样,应根据各地区交通流的特性、路段状态和交通对象统计情况设计有地区特点的交通状态判别方法[38]。并且将分类算法与3.2 节中回归算法结合实现对未来时刻交通状态判别的研究不多,该领域还有很多问题尚待学者们解决。

4.2 交通标志识别

交通标志识别(traffic sign recognition,TSR)是指通过采集的道路图像,检测、分类识别出交通标志,可为自动驾驶提供技术保障,对提高行驶安全性和保证交通运行效率都有重要意义。自2011 年起,全球各地公开了很多数据集,例如:德国交通标志识别集(GTSRB)、克罗地亚交通标志数据集(RMASTIF)、意大利交通标志数据集(DITS)等。其中,GTSRB 包括多种光照、遮挡、低分辨率、倾斜、运动模糊情况下的交通标志图像样本,识别难度最大[39]。

TSR 的基本流程包括图像分割、检测标志轮廓和识别标志三步。文献[40]采用SVC 作为分类器识别交通限速标志,由于实际道路图像会因为驾驶时间、天气、照明条件等因素而出现不同程度的变化,故引入改进的Census 变换算法(modified census transform,MCT)解决这些不利因素造成的误差。由于这些不利因素,人工特征、颜色模型和机器学习的结合是目前的研究热点。常用的颜色模型包括RGB 模型、HSI模型、HSV 模型及高斯颜色模型等[41]。文献[42]提出了一种基于高斯颜色模型和SVC 的快速交通标志检测算法,解决了采用单一颜色模型或单一分类器检测误差较大的问题。文献[43]为了解决样本类别间的不平衡导致检测性能弱化的问题,采用颜色增强技术分割提取出自然背景中交通标志所在的感兴趣区域,随后对标识样本提取特征,最后使用遗传算法对SVC 进行参数寻优。文献[44]在文献[43]的基础上,选取鲁棒性较强的HSV模型对标识图像进行阈值分割处理,随后采用自适应卡尔曼滤波算法进行交通标志的跟踪识别。实验结果表明文献[44]提出的方法具有97.88%的分类准确率且具有较好的实时性。

经过数十年的研究,SVC 在交通标志识别领域的研究趋近成熟。很多研究成果证明了基于SVC 的方法识别率较高,但对于TSR 这种多分类复杂问题训练时间较长[45],导致其无法应用于实际。其次,TSR 在理论上全局特征描述是可行的,但实际交通环境成像存在各种不利条件[46]。如何更好地融合人工特征与SVC,并结合5.3.5 小节中涉及的深层模型,使得TSR 在各种不利条件下的可扩展性和实用性得到提高,这个问题依然有待研究。

4.3 交通事件检测

交通事件检测是通过分析交通特征参数来预测发生交通事件的可能性或判定交通事件的严重程度,对减少交通延误、保障道路安全、减少人员伤亡和财产损失均具有十分重要的意义。SVC 作为最常用的分类器,在该领域的研究成果颇多[47]。

文献[48]提出了一种基于SVM 的交通事件自动检测算法(SVM-AID),并采用美国加州高速公路I-880 数据库中实际数据进行测试。结果表明SVMAID 算法的正确分类率在98%以上,且平均检测时间不超过5 s,优于人工神经网络等其他交通事件自动检测算法。文献[49]以一般事故和严重事故作为二分类标签,利用SVC 识别交通事故严重程度,并通过GA 进行模型核参数寻优。文献[50]建立了基于SVC的水上交通事故的严重程度三分类模型,实验表明分类准确率在70%以上。文献[51]将SVC 和协同神经模糊推理系统(collaboration adaptive neuro-fuzzy inference system,CANFIS)结合,以预测交通碰撞事故的严重程度。该方法将空间分析和人工智能相结合,预测效果优于传统SVC。文献[52]利用SVC 模型研究翻车事故中驾驶员的受伤程度,从碰撞信息、环境信息、车辆特征、驾驶员人口统计和行为特征等方面考虑特征值,并与分类回归树(classification and regression tree,CART)进行比较。结果表明SVC 的分类效果优于CART。文献[53]使用基于相关性的特征选择算法对交通碰撞事故数据进行处理。结果表明,该方法可显著提高SVC 模型的预测性能。

如何处理高维、复杂的交通事故数据是交通事件检测的一个难点。除去上述方法,因子分析[54]、主成分分析[55]、合成少数类过采样技术(synthetic minority over-sampling technique,SMOTE)[56]等简化数据集技术也被应用于交通事件检测中。如何简化预测模型,减少检测时间是模型能否真正应用于交通事件检测这类实时预测领域的关键。

此外,SVC 在交通视频车辆检测[57]、道路结冰预测[58]、障碍物识别[59]、交通事故自动判案[60-61]等应用领域也有很多研究成果。

4.4 支持向量机与其他算法的对比

本文选取了5 个在ITS 中被广泛应用的算法与SVM 进行对比。它们各自的优缺点和研究现状如表3 所示。

5 支持向量机的优化5.1 基于核函数及核函数参数的优化

核函数的选择决定了特征空间的结构,多数SVM 的研究和应用均使用如下所示的常见核函数,其中式(9)为径向基核,式(10)为拉普拉斯核。

图片[13]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Table 3 Comparison between SVM and common algorithms in ITS表3 支持向量机与其他ITS 常用算法的比较

图片[14]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

常用的几种核函数结构简单、普及度高。但在某些数据、问题上常用核函数性能不是很好。例如常用的径向基核函数,在预测车流量低谷期时和预测车流量高峰期时性能相差甚远。为了提高模型性能,学者们设计了很多新核函数。文献[62]利用小波函数构造了一个新核函数用于SVM 的车速预测模型。文献[63]进一步提出了多尺度小波核函数,并证明了在车流量预测领域小波内核的性能优于径向基核函数,其核函数如式(11)所示。

图片[15]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

文献[64]综合了径向基核函数和多项式核函数各自的优势,提出了基于组合核相关向量机的短时交通流预测模型。实验结果表明,组合核能进一步提高预测精度,其所用的核函数如式(12)所示。

图片[16]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

文献[65]将高斯核和多项式核混合,作为SVM的核函数预测交通流量。结果表明,如式(13)所示的核函数性能在高峰时段优于常用核函数。

图片[17]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

SVM 的核技巧理论完备,但在实际应用上仍然存在核函数参数难以选择的问题,其核函数参数的优化一直是SVM 的一个研究热点。核函数的参数决定了SVM 模型的复杂度和性能。式(4)中的C和式(14)中核函数半径g是最重要的两个超参数,其中g与参数σ的关系如式(14)所示。

图片[18]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

其中,g隐含地决定了数据映射到新特征空间后的分布。g越大,支持向量越少,而支持向量的个数影响着SVM 模型的训练与预测速度。在核函数参数寻优上,早期有实验法、网格搜索法、梯度下降法等[66-67]。为了解决传统方法耗时长、误差大的问题,以智能算法为首的元启发式算法被广泛应用于SVM 的参数寻优中。文献[68]基于改进后的PSO 算法优化最小二乘支持向量机(least squares support vector machine,LS-SVM)构建了短期客流量预测模型。针对客流量预测,提出了惯性权重自适应调整方法优化PSO。结果表明,该优化方式相比PSO 算法、正弦粒子群算法和高斯粒子群算法对LS-SVM 的参数寻优效果更好。文献[69]将文献[68]的参数寻优算法替换为果蝇优化算法,实现了更精确的车流量预测。文献[70]提出了基于GPS 数据出行模式识别模型,并采用遗传算法对参数进行优化。实验表明,该模型可精确识别步行、自行车、公交、汽车等交通方式。文献[71]采用禁忌搜索算法(tabu search,TS)对SVM 参数进行优化。实验证明,TS 算法能有效优化SVM,并且模型在高速公路事件检测中的性能优于人工神经网络。

除去上面提到的几种智能算法,一些新智能算法也被应用于SVM 参数寻优中,例如烟花算法[72]、磷虾群算法[73]、生物地理学优化算法[74]、引力搜索算法[75]等,但这些算法在ITS 中的研究应用过少。在部分回归预测和小数据量分类问题中,参数寻优的耗时可能会占到算法整体耗时的70%~90%。目前来看,参数寻优算法显著提高了SVM 的精度,同时也付出了相当大的时间代价。根据不同的应用场景设计不同的核函数和参数寻优算法,并利用并行化技术缩短参数寻优的时间是一个值得研究的方向。

5.2 基于并行计算的优化

为了解决SVM 在大数据集下的效果不佳的问题,学者们提出了使用并行化技术加快SVM 训练速度的方法。文献[76]提出了基于二次规划的SVM 并行训练,采用分解思想将二次规划问题划分成若干个子二次规划问题,并行处理子问题以加快迭代中的计算速度。目前流行的SVM 并行化技术是利用分布式集群将训练样本集分割到各计算节点并行训练。文献[77]提出了被后来广泛使用的层叠向量机(Cascade SVM),Cascade SVM 分割样本集进行并行训练,每个计算节点训练产生分类器,经过两两组合筛选,最后得到一组全局最优的支持向量,其思路如图3 所示。

图片[19]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Fig.3 Cascade SVM图3 层叠向量机

SVM 常见的并行化实现方式有以下3 种:

(1)基于GPU 的并行化。CUDA(compute unified device architecture)和OpenCL(open computing language)是两种最为流行的GPU 编程语言。OpenCL 灵活度更高,支持各种类型的协处理器;CUDA 的API更易于调用,但只支持NVIDIA 设备。文献[78]提出了基于CUDA 的高斯核SVM 算法并行化方案,并将其应用于行人检测应用中,最终得出随着数据量的增加并行效率会越来越高的结论。文献[79]将基于CUDA 并行的SVM 算法用于车牌识别。相对于原始算法,在GPU 上运行的SVM 训练速度能提高1~30倍,预测速度能提高50~72 倍。基于GPU 的并行计算并行度很高,计算速度很快,但有单节点受限,耦合度紧密和可扩展性低的缺点。故GPU 更适合处理单指令多数据(single instruction multiple data,SIMD)的运算。

(2)基于MapReduce 的并行化。MapReduce 是由Google 公司研究提出的一种并行计算框架[80]。文献[81]将SVM 算法与MapReduce 相结合实现对铁路客流量的预测,实验证明并行版算法效率显著优于单机版算法。文献[82]提出了基于MapReduce 的多SVM 组合分类器并行训练方法。对每个数据集并行训练,最后进行分类器的组合。实验证明,MapReduce框架有效解决了SVM 在面对大数据集时的效率问题。基于MapReduce 并行可通过增加节点数量的方式体现扩展性,并且具有良好的容错率,但集群的任务调度和启动开销大,不适合迭代计算。

(3)基于Spark 的并行化。Spark 是专为大规模数据处理而设计的快速通用的计算引擎,平台中拥有MLlib 机器学习库,包含了分类算法、聚类算法、推荐算法等函数[83]。文献[84]根据Cascade SVM 的思想,提出了一种基于Spark 平台的并行化方案(SPSVM)。实验结果表明,SP-SVM 在损失很小精度的前提下减少了训练时间。文献[85]利用SVM 结合Spark 平台对Twitter 推文进行文本分类,实现了一种检测交通实时事件的新方法。基于Spark 的并行同样拥有较好的扩展性和容错率,但其优势也带来了问题。Spark 在内存中计算远快于硬盘中,内存消耗大导致其需要更好的硬件设备支撑。MLlib 的API丰富且调用简单,但不支持修改内部逻辑,大部分算法都只能简单调用而不能优化。表4 列出了3 种SVM 常见并行化方式的对比。

大数据时代已经到来,使用SVM 进行回归和分类的数据集越来越大,但以少量准确率换取运行效率的并行化SVM 在ITS 中的研究和应用可谓寥若晨星。在很多要求实时性的交通应用领域,并行化SVM 还有很大的研究空间和应用潜力。

图片[20]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Table 4 Comparison about common parallel implementation of SVM表4 SVM 常见并行化实现方式的对比

5.3 支持向量机衍生算法

5.3.1 最小二乘支持向量机

LS-SVM 是1999 年提出的一种SVM 衍生算法。LS-SVM 以损失解的稀疏性为代价,把求解二次规划问题转化为求解线性方程组,以此提高计算速度和收敛精度。文献[86]使用LS-SVM 预测北京市地铁客运量,并使用RBF 神经网络和LS-SVM 的预测结果进行加权结合,证明了LS-SVM 是铁路客运量预测的有效工具。文献[87]利用集成经验模态分解(ensemble empirical mode decomposition,EEMD)原始数据的灰狼优化算法(grey wolf optimizer,GWO)优化LS-SVM,通过对西安地铁某站点一个月进出站人数进行训练,证明了该算法能更加精确地预测进出站人数。文献[88]提出了一种基于模糊信息粒化和PSO 优化LS-SVM 的客流量波动范围预测模型,通过跟踪客流量变化趋势,为预测短期客流量提供了一种行之有效的方法。

LS-SVM 在交通领域被广泛用于交通流量和客流量预测中,但其他应用场景少有LS-SVM 的身影。如何将LS-SVM 学习过程简单、训练速度快的特点在其他应用场景中体现,并进一步提高精度依然是一个巨大的挑战。

5.3.2 多分类支持向量机

多分类支持向量机(multi-class support vector machine,MSVM)是由传统SVM 推广而来的算法。由于SVM 是针对二分类问题设计的算法,故MSVM的核心思路就是将复杂的多分类问题转化为多个简单的二分类问题[89]。文献[90]提出MSVM 有一对多、一对一、导向无环图、二叉树四种结构,并通过实验证明,对于交通实时预测应用应优先选择二叉树MSVM。文献[91]采用一对一结构的MSVM 进行交通状态分类,其结构如图4 所示。

理论上,针对K分类问题需要K(K-1)/2 个二分类SVM。文献[92]提出了一种结合无向图优化的MSVM 分类器,通过检测行人和车辆进行验证,该方法错误率低但算法效率较差。

图片[21]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Fig.4 Multi-class SVM with one-to-one structure图4 一对一SVM 多分类器

现实中大多数分类问题都属于多分类问题,因此多分类支持向量机比传统支持向量机应用价值更大。多分类相比二分类计算量必然更大,并且要考虑测试样本同时属于不同的类或者不属于任何一个类的情况。如何利用5.2 节涉及的并行化等技术解决多分类算法效率不高的问题应是今后研究的重点。

5.3.3 模糊支持向量机

模糊支持向量机(fuzzy support vector machine,FSVM)的提出主要是为了减小噪声数据对预测模型的影响,其主要思想是将模糊数学与SVM 结合,赋予支持向量较高的隶属度并赋予非支持向量和噪声较小的隶属度[93]。模糊支持向量机的最优超平面为式(15)所示的目标函数最优解。

图片[22]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

其中,μi是隶属度,表示不同样本的重要性程度。对不同的样本赋予不同的μi,可达到对不同样本采用不同程度的惩罚作用。

文献[94]将FSVM 应用于交通标志识别。结果表明,FSVM具有良好的分类效果,对交通标志分类准确率接近100%,对限速标志分类准确率接近99%。文献[95-96]基于FSVM 建立了旁车并线意图检测模型,实时检测旁车道车辆是否要进行并线行为。经实验发现FSVM 可使驾驶员辅助控制更加准确合理。文献[97]利用FSVM 实现车牌识别,并使用基于Memetic 算法优化的PSO 算法对FSVM 进行参数寻优。实验对220 幅马来西亚的车牌图像进行识别,得出PSO 可提高FSVM 预测准确率的结论。因为模糊数学理论降低了SVM 对噪声数据的敏感性,按照此思路可将模糊数学理论结合其他SVM 衍生算法,例如模糊最小二乘支持向量机[98]、模糊多分类支持向量机[99]、模糊孪生支持向量机[100]。将降低噪声影响技术与更先进的SVM 算法结合应是未来的研究热点。

5.3.4 相关向量机

相关向量机(relevance vector machine,RVM)是于2000 年提出的基于贝叶斯框架的稀疏概率模型。RVM 具有SVM 的一切优点,并克服了SVM 支持向量个数多,模型预测时间长,核函数必须满足Mercer定理等缺点。文献[101]提出了一种基于RVM 的交通流预测模型,实验证明RVM 比LS-SVM 的精度提高了60%,并具有其他算法所不具备的预测速度。为了预防飞机碰撞事故,文献[102]利用RVM 构建了飞行安全评价模型。文献[103]提出了一种采用混沌模拟退火算法优化RVM 的交通流量预测方法。并对6种核函数的性能进行了实验。预测结果表明,该预测方法具有更高的预测精度,文中使用的核函数为:

图片[23]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

文献[104]对影响公交车头时距的因素进行了分析,选择历史车头时距、行程时间和乘客信息作为RVM 算法的输入预测车头时距。结果表明,该算法优于SVM、卡尔曼滤波、KNN(K-nearest neighbor)等算法。

在故障检测[105]、情感识别中[106],RVM 已有很多研究成果,但在交通领域,目前只有交通流预测、客流量预测、安全检测等少数领域存在相关研究。RVM 拥有极快的预测速度并且准确率与SVM 相近,故更适合于实时预测领域。因此RVM 在ITS 中还有很大的研究潜力和应用空间。

5.3.5 SVM 与深度学习结合的深层模型

深度学习有SVM 无法比拟的非线性函数逼近能力,能够很好地提取交通数据的特征,其本质是一个特征表征力强但不善于独立处理分类、回归的特征学习器[107]。SVM 作为机器学习模型,数据表征能力并不理想。因此,融合深度学习和SVM 的深层模型成为了近年来的研究热点,如图5 所示。

图片[24]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Fig.5 Deep model combining SVM with deep learning图5 SVM 与深度学习结合的深层模型

目前,作为深层模型的底层被引入ITS 的深度学习算法主要有深度置信网络(DBN)和卷积神经网络(convolutional neural networks,CNN)两种。根据两者数据输入的要求以及相关文献可以得出,DBN 适用于处理单维时间序列数据,CNN 更适合处理图像和多维时间序列预测问题[108-109]。文献[110]将CNN与SVM结合为深层预测模型进行车流量预测,实验结果显示该深层模型预测性能显著优于浅层模型。其中CNN-SVM 深层预测模型的结构如图6 所示。

文献[111]采用DBN 作为深层模型的底层,建立了用于判别高速公路变道危险程度的DBN-SVM 模型。实验结果表明,该深层模型效果显著优于朴素贝叶斯模型和BPNN。文献[112]将深度学习中门循环单元(gated recurrent unit,GRU)与SVR 相结合,提出基于GRU-SVR 的短时交通流量预测模型。与GRU 和SVR 等浅层模型相比,GRU-SVR 的效果优势明显。通常DBN 和CNN 的输出层为SoftMax 分类器,采用SVM 取代传统模型的SoftMax 能够有效提高模型精度。但目前研究对深层模型中SVM 的参数寻优问题解决得不好。深度学习可谓日新月异,每年都会涌现出很多新颖算法。在未来,应针对不同的问题和数据研究不同的深度学习提取特征方法,并结合5.1 节内容解决深层模型中的SVM 参数寻优问题。

图片[25]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Fig.6 CNN-SVM deep prediction model图6 CNN-SVM 深层预测模型

图片[26]-支持向量机在智能交通系统中的研究应用综述*-游戏花园

Table 5 Comparison about derivation algorithms of SVM表5 支持向量机衍生算法的比较

5.4 支持向量机衍生算法总结

除去以上提到的衍生算法外,还有一些在交通领域应用不多但同样具有独特效果的衍生算法,例如:加权支持向量机(weighted support vector machine,WSVM)[113]、孪生支持向量机(twin support vector machine,TSVM)[114]、排序支持向量机(Rank support vector machine,Rank-SVM)[115]等。表5 列出了几种支持向量机衍生算法的对比。

6 结束语

SVM 是一个非常经典的机器学习算法,针对其应用现状、优化方法、衍生算法本文均做了详细阐述,发现SVM 在算法应用以及算法优化方面仍有很多研究工作可做。

算法应用:(1)要将SVM 应用于客流量预测领域,需保证准确率的同时进一步提高算法的效率,并研究短间隔的客流量预测与客流量的纵向相关性。(2)利用交通数据的高维性和各类优化算法进一步提高交通拥堵评价参数预测的准确率,并加强基于拥堵时间比和经济比的拥堵预测研究。(3)研究更合理的交通事故发生因素选取和数据降维方法。(4)将新颖的SVM 优化算法、衍生算法和深层模型应用于城市交通碳排放预测领域。(5)研究如何提高交通数据的数量和可靠性,设计有地区特征的交通状态判别方法,并增加分类算法与回归算法结合的研究。(6)进一步研究如何解决SVM 在TSR 中算法效率低问题,如何利用深度学习提高算法在各种不利条件下的检测准确率。(7)在交通事件检测领域,需研究减少SVM 检测时间的方法。

算法优化:(1)根据不同的应用场景设计不同的核函数和参数寻优算法,并减少参数寻优的耗时。(2)将并行化的SVM 及其衍生算法推广至智能交通系统中实时性要求较强、算法效率要求高的应用场景。(3)研究各种优化方法和SVM 衍生算法的结合。(4)将深度学习的表征能力结合SVM 的分类与回归能力,并研究深层模型中SVM 的参数寻优问题。

THE END
喜欢就支持一下吧
点赞186 分享