林 浩,李雷孝+,王 慧
1.內(nèi)蒙古工業(yè)大學 數(shù)據(jù)科學與應用學院,呼和浩特010080
2.內(nèi)蒙古自治區(qū)基于大數(shù)據(jù)的軟件服務工程技術(shù)研究中心,呼和浩特010080
智慧交通的前身是20 世紀60 年代后期提出的智能交通系統(tǒng)(intelligent transportation system,ITS),ITS 作為一個充滿學科交叉的綜合性研究領(lǐng)域,將信息技術(shù)、計算機技術(shù)、數(shù)據(jù)通信技術(shù)、傳感器技術(shù)、電子控制技術(shù)、自動控制技術(shù)、運籌學、人工智能等學科成果運用于交通運輸管理、服務控制、車輛制造等難點問題中[1]。ITS 涵蓋了公路、鐵路、民航、水運等交通方式,通過整合多元化信息,對數(shù)據(jù)進行挖掘后分析潛在價值數(shù)據(jù),可為政府和道路使用者提供科學的管理依據(jù)。
支持向量機(support vector machine,SVM)是一種基于統(tǒng)計學習理論的機器學習算法,于1964 年誕生,又在2004 年達到鼎盛。SVM 自1995 年來得到了快速發(fā)展并衍生出一系列擴展算法[2]。由于交通數(shù)據(jù)普遍具有非線性、非平穩(wěn)性、潮汐性等特點,而SVM 通過尋求結(jié)構(gòu)風險最小化來最小化實際風險,具有優(yōu)秀的泛化能力,能夠較好地解決非線性數(shù)據(jù)、小樣本和維數(shù)災難等問題。這使它被廣泛應用于智能交通系統(tǒng)領(lǐng)域。但SVM 也有其自身局限性,例如:傳統(tǒng)SVM 無法解決多分類問題;對大規(guī)模數(shù)據(jù)訓練的效果不佳;大數(shù)據(jù)背景下訓練時間過長;核函數(shù)參數(shù)的確定困難;在理論上SVM 只能提供次優(yōu)解等問題[3]。針對SVM 的缺點,各個研究領(lǐng)域的學者提出了多種不同的優(yōu)化方案。
支持向量機根據(jù)用途可分為支持向量回歸機(support vector regression,SVR)和支持向量分類機(support vector classification,SVC)。
其核心思想是尋找一個滿足分類(回歸)要求的最優(yōu)超平面,使得該超平面既保證精度又能使得到超平面最近樣本的距離最大(小),如圖1、圖2 所示。

Fig.1 Support vector classification圖1 支持向量分類機

Fig.2 Support vector regression圖2 支持向量回歸機
以二分類問題為例,設訓練樣本集為{(xi,yi)|i=1,2,…,n},xi∈Rn,其中xi為輸入樣本,yi為輸出樣本。則超平面可記作:

可計算出分類間隔為2/||w||,后引入Lagrange 函數(shù)解決該最優(yōu)化問題,則該超平面可轉(zhuǎn)化成:

令Lagrange 函數(shù)對w、b的偏導數(shù)為0,則可將問題轉(zhuǎn)化為對偶問題,則最終最優(yōu)分類函數(shù)為:

對于非線性問題,SVM 可以通過引入核技巧(kernel trick)解決。其核心思想是將輸入向量映射到一個高維的特征向量空間,并在該特征空間中構(gòu)造最優(yōu)分類面。非線性的SVM 超平面問題可寫成:

式(4)中引入了懲罰因子C和松弛變量ξi,C的作用是調(diào)整誤差,決定了模型因為離群點而帶來的損失,同ξi一樣都是可優(yōu)化的超參數(shù)。從數(shù)學模型中可看出SVM 只涉及樣本間的內(nèi)積運算,故在高維空間不需進行復雜的運算。
2.2.1 SVM 工具箱
Matlab 是國際上最流行的科學與工程計算軟件,承擔了大部分新算法的開發(fā)任務。Matlab 擁有自帶的SVM 工具箱,并提供了訓練模型和預測的相關(guān)函數(shù)。但Matlab 自帶的SVM 工具箱僅支持二分類問題。無法改變核函數(shù)和其參數(shù),導致在功能性和易用性方面和其他開源工具差距較大。針對這些問題,學者們開發(fā)了LSSVM、OSU_SVM、SVM_SteveGunn等工具箱,并提供了可視化函數(shù)。但Matlab本身無法應用于大數(shù)據(jù)量情況,故研究數(shù)據(jù)量大的問題時應選用其他工具。
2.2.2 Scikit-Learn
Scikit-Learn 是一個基于Python 語言開發(fā)的機器學習算法庫,它建立在NumPy、SciPy、matplotlib 等擴展程序庫上,可簡單高效地實現(xiàn)數(shù)據(jù)挖掘和數(shù)據(jù)分析等功能[4]。Scikit-Learn 使用起來簡單,并更易于和其他數(shù)據(jù)處理技術(shù)結(jié)合,是研究學習以至于實際應用SVM 的重要工具。Scikit-Learn 通過高封裝實現(xiàn)易用性,這導致有些參數(shù)都在算法API(application programming interface)內(nèi)部調(diào)用,算法整體優(yōu)化難度大。
2.2.3 LIBSVM
LIBSVM 是臺灣大學林智仁教授等人開發(fā)設計的一個簡單高效的SVM 軟件包[5]。LIBSVM 中提供了很多的默認參數(shù),并自帶了交互檢驗、數(shù)據(jù)歸一化等功能。目前,LIBSVM 擁有C、Java、Matlab、Python、R 等26 種語言版本。實際上,Scikit-Learn 中的SVM 函數(shù)底層是基于LIBSVM 和LIBLINEAR 實現(xiàn)的[6]。LIBSVM 對數(shù)據(jù)輸入輸出格式較為嚴格,這使它很難集成到其他應用。但其功能的專業(yè)性和完整性使它成為了學術(shù)研究的首選工具。3 種開源工具的比較如表1 所示。
近年我國交通行業(yè)發(fā)展迅速,客流量激增、飽和的情況經(jīng)常發(fā)生。準確及時地預測客流量直接影響著客運計劃的制定。客流量預測領(lǐng)域是SVR 應用和研究最多的領(lǐng)域,文獻[7]基于SVR 提出了一種短時交通流量預測模型,并分析了交通信息的非線性、復雜性和不確定性,為后續(xù)研究提供了重要的指導意義。文獻[8]將SVR 引入航空客流量預測中,證明了SVR 同樣適用于民航客流量預測。
只有精確預測客流量才能保證客運計劃的合理性。為了提高SVR 模型的準確率,文獻[9]采用遺傳算法(genetic algorithm,GA)優(yōu)化SVR 預測了鐵路客流量,實驗證明經(jīng)遺傳算法優(yōu)化參數(shù)后的SVR 比傳統(tǒng)SVR 準確率高。因天氣、溫度、節(jié)假日等多個因素與客流量相關(guān),文獻[10]基于文獻[9]的方法,采用主成分分析(principal component analysis,PCA)對多個斷面的交通流數(shù)據(jù)進行降維。結(jié)果表明,該方法比未數(shù)據(jù)降維的方法效果更好。文獻[11]先使用粗集理論的強定性分析約簡輸入數(shù)據(jù),再利用SVM 預測交通流量,有效地消除了樣本中冗余數(shù)據(jù)和噪聲數(shù)據(jù)。文獻[12]使用基于黃金分割的混沌粒子群(particle swarm optimization,PSO)算法優(yōu)化SVR,并設計了基于RBF 核(radial basis function)與多項式核函數(shù)的混合核函數(shù)彌補常用核函數(shù)的局限性。文獻[13]基于深度信念網(wǎng)絡(deep belief nets,DBN)和SVM 提出了一種交通短時客流深層預測模型,并使用多個群智能算法優(yōu)化SVM 的參數(shù)。結(jié)果表明該深層模型各方面優(yōu)于GA-SVM、PSO-SVM、BPNN(back propagation neural network)、LSTM(long short-term memory)等淺層模型。

Table 1 Comparison of SVM tools表1 支持向量機開源工具比較
隨著SVM 算法研究的深入,客流量預測的準確率也越來越高,但也仍然存在許多問題。在目前的研究中,客流量數(shù)據(jù)大多以10 min、15 min 和30 min為時間間隔,時間間隔越短隨機性越強,預測的難度也就越大。客流量數(shù)據(jù)的橫向周期性已成為共識,但縱向隨機性的研究較少。假設需要預測的車流量為xij,其中i表示天數(shù),j表示時段。(xi-n,j,xi-n-1,j,…,xi-1,j)表示第i天的前n天第j時段的車流量,體現(xiàn)數(shù)據(jù)受到的橫向周期性影響;(xi,j-m,xi,j-m-1,…,xi,j-1) 表示第i天內(nèi)第j時段的前m個時段的車流量,體現(xiàn)數(shù)據(jù)受到的縱向隨機性影響。即某時段客流量應受到同一天內(nèi)該時段前若干時段客流量的影響與若干天前該時段客流量的影響。如不考慮天氣、溫度等原因,模型的輸入應為:

同時,效率低下的客流量預測方法對現(xiàn)實恐無指導意義。要將算法應用于客流量預測這種實時性較強的領(lǐng)域,不僅要保證準確率,更要注意算法效率。在大數(shù)據(jù)時代,客流量預測還有很大的研究價值和空間。
為了量化交通擁堵程度,國內(nèi)外學者從道路服務水平(V/C 比)、擁堵時間比和經(jīng)濟比等不同角度出發(fā),設計了許多具有整體完備性、客觀性、可操作性、可比性的因素指標。常用的指標有交通流平均速度、交通流密度和路段飽和度等[14]。
交通流平均速度是指單位時間內(nèi)該條道路中所有車輛行駛距離的平均值。交通流密度是指在單位時間內(nèi)該條道路單位長度內(nèi)的車輛數(shù),計算方法如下:

其中,f為車流量;v為平均速度。
路段飽和度是指該路段實際交通流量與最大通行能力的比值,其反映的是道路的實際負荷能力。路段飽和度的計算方法如下:

其中,V為該道路當前車流量;C為道路最大通行能力。
交通擁堵評價參數(shù)預測是SVR 的另一個應用熱點。文獻[15]利用SVR 預測交通流平均速度,并結(jié)合K-均值聚類、PCA、自組織特征映射等無監(jiān)督學習算法分析其時空特征。文獻[16]使用均值濾波和PSO算法優(yōu)化SVR 預測車道飽和度,并使用悉尼的真實道路數(shù)據(jù)對預測模型進行了驗證。結(jié)果表明,所建立的模型能夠有效預測未來車道飽和度以及有可能發(fā)生的道路擁堵。文獻[17]在文獻[16]的基礎(chǔ)上增加了平均車速和交通流密度的預測,通過3 個擁堵評價參數(shù)構(gòu)建了多指標的模糊綜合評價模型來描述交通擁堵情況。
通過預測多個交通擁堵評價參數(shù)綜合評價交通擁堵是預測未來時刻交通擁堵較為先進的方法。其中,參數(shù)預測的準確率決定了擁堵預測的精度和實際指導意義[18]。此外,基于V/C 比的交通擁堵評價參數(shù)因其可操作性成為了目前的主流評價參數(shù)。但這并不意味著基于擁堵時間比和經(jīng)濟比的參數(shù)效果不佳。如何收集這些可操作性差的數(shù)據(jù),并利用各類優(yōu)化算法進一步提高回歸預測的準確率是該領(lǐng)域的下一個研究問題。
交通事故預測對于研究交通事故的發(fā)生規(guī)律,分析交通事故的發(fā)展趨勢以及道路交通安全控制均具有重要意義,是政府和交通部門制定策略的重要數(shù)據(jù)支持。交通事故預測的研究對象一般為交通事故數(shù)、萬車死亡率和10 萬人口死亡率。文獻[19]證明了交通事故數(shù)據(jù)之間存在著非線性關(guān)系,事故發(fā)生受政治、經(jīng)濟等若干敏感因素影響,傳統(tǒng)的回歸預測模型無法準確地預測交通事故。故支持非線性計算的SVR 更適用于交通事故預測。文獻[20]基于ARIMA模型(autoregressive integrated moving average model)和SVR 構(gòu)建了交通事故混合預測模型。研究結(jié)果表明,該混合模型的準確性高于單個ARIMA 模型的準確性。文獻[21]采用基于相關(guān)性分析的特征選擇算法對數(shù)據(jù)進行降維,實驗證明該方法有效提高了SVR 的計算速度和精度。
除公路、鐵路事故預測以外,SVR 在預測海上交通事故[22]和飛行事故預測[23]中也有一些研究成果。相較于其他熱門研究領(lǐng)域,交通事故預測的研究較少。據(jù)統(tǒng)計,交通事故預測中涉及到特征變量已經(jīng)超過35 個,綜合考慮所有因素并對多余特征值進行合理降維應是今后的主要研究方向。
交通行業(yè)是國家經(jīng)濟和社會發(fā)展的基礎(chǔ)產(chǎn)業(yè)。據(jù)統(tǒng)計,交通行業(yè)的能源消費占全社會能源消費總量的25%~30%。交通碳排放預測可為制定合理有效的減排政策提供科學的決策依據(jù)。碳排放強度是指單位GDP 所產(chǎn)生的碳排放總量,其計算方法為:

其中,Ct為歷年交通運輸行業(yè)碳排放總量,GDPt為歷年經(jīng)濟生產(chǎn)總值。文獻[24]研究并使用完全指數(shù)分解法確定了不同交通領(lǐng)域和不同運輸結(jié)構(gòu)中的諸多碳排放影響因素。研究結(jié)果顯示,GDP 對碳排放的影響最大,汽車技術(shù)水平的影響最小。文獻[25]選取了人口、城市化率、人均GDP、服務業(yè)增加值比重、人均GDP 能耗和煤炭消費比6 個影響因素作為特征值,建立了基于SVR 的碳排放預測模型。通過中國1980 年到2009 年的數(shù)據(jù)進行驗證后得出該模型具有良好學習和泛化能力的結(jié)論。文獻[26]采用類似方法,使用河南省1991 年到2016 年的數(shù)據(jù)進行驗證得到了近似結(jié)果。文獻[27]基于上述方法,加入了機動車保有量、旅客周轉(zhuǎn)量和貨物周轉(zhuǎn)量共7 項指標作為城市交通運輸碳排放影響因素,說明了實驗區(qū)域未來交通碳排放增長趨勢逐漸變緩,但總量將持續(xù)呈上升趨勢。文獻[28]構(gòu)建了一個基于PCA 和SVR 的碳排放量組合預測模型,預測結(jié)果表明使用PCA 降維后的模型誤差顯著小于其他模型誤差。
交通碳排放預測是典型的時間序列預測問題,LSTM 和RNN(recurrent neural network)等擁有記憶能力的深度學習模型更適用于該問題[29]。未來應研究SVM 與深度學習結(jié)合的深層預測模型在交通碳排放預測中的應用。
此外,SVR 在公交到站時間預測[30]、交通牽引能耗測算[31]、交通流時間序列補齊[32]、航班延誤預測[33]等應用領(lǐng)域也有相應的研究成果。
交通狀態(tài)識別是ITS 重要的組成部分,一般是通過各種分類、聚類算法實現(xiàn)對各類交通狀態(tài)的識別,并依據(jù)識別結(jié)果實現(xiàn)交通系統(tǒng)的智能控制和管理[34]。多數(shù)研究將交通狀態(tài)劃分為4 到6 個狀態(tài)等級,表2是根據(jù)車速將交通狀態(tài)分類的依據(jù)。

Table 2 Traffic status classification表2 交通狀態(tài)劃分等級
SVC 在這方面研究成果豐富,文獻[35]通過研究和實際仿真,構(gòu)建了單車道流量、平均車速、道路占有率的三維參數(shù)體系,并使用SVC進行分類預測。文獻[36]基于SVC 實現(xiàn)了實時交通狀態(tài)預測模型,并且考慮到了平均車速、道路密度、道路交通量、交通事件和降雨量等多個因素,對實際工作有一定的指導意義。文獻[37]提出一種通過噪聲識別交通流狀態(tài)的新方法。將發(fā)動機噪聲、輪胎噪聲、空氣渦流噪聲、排氣噪聲等信號分量作為SVC 的輸入,將交通流狀態(tài)分為自由流、飽和流及擁堵3 種狀態(tài)。該方法對飽和流的識別準確率不理想,卻為今后的研究提供了很好的思路。
交通狀態(tài)判別需要大量的交通流數(shù)據(jù),目前該領(lǐng)域的樣本量普遍不足。一方面必須提高數(shù)據(jù)量和可靠性;另一方面,像歐洲的車輛行駛工況無法完全適用于中國各地一樣,應根據(jù)各地區(qū)交通流的特性、路段狀態(tài)和交通對象統(tǒng)計情況設計有地區(qū)特點的交通狀態(tài)判別方法[38]。并且將分類算法與3.2 節(jié)中回歸算法結(jié)合實現(xiàn)對未來時刻交通狀態(tài)判別的研究不多,該領(lǐng)域還有很多問題尚待學者們解決。
交通標志識別(traffic sign recognition,TSR)是指通過采集的道路圖像,檢測、分類識別出交通標志,可為自動駕駛提供技術(shù)保障,對提高行駛安全性和保證交通運行效率都有重要意義。自2011 年起,全球各地公開了很多數(shù)據(jù)集,例如:德國交通標志識別集(GTSRB)、克羅地亞交通標志數(shù)據(jù)集(RMASTIF)、意大利交通標志數(shù)據(jù)集(DITS)等。其中,GTSRB 包括多種光照、遮擋、低分辨率、傾斜、運動模糊情況下的交通標志圖像樣本,識別難度最大[39]。
TSR 的基本流程包括圖像分割、檢測標志輪廓和識別標志三步。文獻[40]采用SVC 作為分類器識別交通限速標志,由于實際道路圖像會因為駕駛時間、天氣、照明條件等因素而出現(xiàn)不同程度的變化,故引入改進的Census 變換算法(modified census transform,MCT)解決這些不利因素造成的誤差。由于這些不利因素,人工特征、顏色模型和機器學習的結(jié)合是目前的研究熱點。常用的顏色模型包括RGB 模型、HSI模型、HSV 模型及高斯顏色模型等[41]。文獻[42]提出了一種基于高斯顏色模型和SVC 的快速交通標志檢測算法,解決了采用單一顏色模型或單一分類器檢測誤差較大的問題。文獻[43]為了解決樣本類別間的不平衡導致檢測性能弱化的問題,采用顏色增強技術(shù)分割提取出自然背景中交通標志所在的感興趣區(qū)域,隨后對標識樣本提取特征,最后使用遺傳算法對SVC 進行參數(shù)尋優(yōu)。文獻[44]在文獻[43]的基礎(chǔ)上,選取魯棒性較強的HSV模型對標識圖像進行閾值分割處理,隨后采用自適應卡爾曼濾波算法進行交通標志的跟蹤識別。實驗結(jié)果表明文獻[44]提出的方法具有97.88%的分類準確率且具有較好的實時性。
經(jīng)過數(shù)十年的研究,SVC 在交通標志識別領(lǐng)域的研究趨近成熟。很多研究成果證明了基于SVC 的方法識別率較高,但對于TSR 這種多分類復雜問題訓練時間較長[45],導致其無法應用于實際。其次,TSR 在理論上全局特征描述是可行的,但實際交通環(huán)境成像存在各種不利條件[46]。如何更好地融合人工特征與SVC,并結(jié)合5.3.5 小節(jié)中涉及的深層模型,使得TSR 在各種不利條件下的可擴展性和實用性得到提高,這個問題依然有待研究。
交通事件檢測是通過分析交通特征參數(shù)來預測發(fā)生交通事件的可能性或判定交通事件的嚴重程度,對減少交通延誤、保障道路安全、減少人員傷亡和財產(chǎn)損失均具有十分重要的意義。SVC 作為最常用的分類器,在該領(lǐng)域的研究成果頗多[47]。
文獻[48]提出了一種基于SVM 的交通事件自動檢測算法(SVM-AID),并采用美國加州高速公路I-880 數(shù)據(jù)庫中實際數(shù)據(jù)進行測試。結(jié)果表明SVMAID 算法的正確分類率在98%以上,且平均檢測時間不超過5 s,優(yōu)于人工神經(jīng)網(wǎng)絡等其他交通事件自動檢測算法。文獻[49]以一般事故和嚴重事故作為二分類標簽,利用SVC 識別交通事故嚴重程度,并通過GA 進行模型核參數(shù)尋優(yōu)。文獻[50]建立了基于SVC的水上交通事故的嚴重程度三分類模型,實驗表明分類準確率在70%以上。文獻[51]將SVC 和協(xié)同神經(jīng)模糊推理系統(tǒng)(collaboration adaptive neuro-fuzzy inference system,CANFIS)結(jié)合,以預測交通碰撞事故的嚴重程度。該方法將空間分析和人工智能相結(jié)合,預測效果優(yōu)于傳統(tǒng)SVC。文獻[52]利用SVC 模型研究翻車事故中駕駛員的受傷程度,從碰撞信息、環(huán)境信息、車輛特征、駕駛員人口統(tǒng)計和行為特征等方面考慮特征值,并與分類回歸樹(classification and regression tree,CART)進行比較。結(jié)果表明SVC 的分類效果優(yōu)于CART。文獻[53]使用基于相關(guān)性的特征選擇算法對交通碰撞事故數(shù)據(jù)進行處理。結(jié)果表明,該方法可顯著提高SVC 模型的預測性能。
如何處理高維、復雜的交通事故數(shù)據(jù)是交通事件檢測的一個難點。除去上述方法,因子分析[54]、主成分分析[55]、合成少數(shù)類過采樣技術(shù)(synthetic minority over-sampling technique,SMOTE)[56]等簡化數(shù)據(jù)集技術(shù)也被應用于交通事件檢測中。如何簡化預測模型,減少檢測時間是模型能否真正應用于交通事件檢測這類實時預測領(lǐng)域的關(guān)鍵。
此外,SVC 在交通視頻車輛檢測[57]、道路結(jié)冰預測[58]、障礙物識別[59]、交通事故自動判案[60-61]等應用領(lǐng)域也有很多研究成果。
本文選取了5 個在ITS 中被廣泛應用的算法與SVM 進行對比。它們各自的優(yōu)缺點和研究現(xiàn)狀如表3 所示。
核函數(shù)的選擇決定了特征空間的結(jié)構(gòu),多數(shù)SVM 的研究和應用均使用如下所示的常見核函數(shù),其中式(9)為徑向基核,式(10)為拉普拉斯核。

Table 3 Comparison between SVM and common algorithms in ITS表3 支持向量機與其他ITS 常用算法的比較

常用的幾種核函數(shù)結(jié)構(gòu)簡單、普及度高。但在某些數(shù)據(jù)、問題上常用核函數(shù)性能不是很好。例如常用的徑向基核函數(shù),在預測車流量低谷期時和預測車流量高峰期時性能相差甚遠。為了提高模型性能,學者們設計了很多新核函數(shù)。文獻[62]利用小波函數(shù)構(gòu)造了一個新核函數(shù)用于SVM 的車速預測模型。文獻[63]進一步提出了多尺度小波核函數(shù),并證明了在車流量預測領(lǐng)域小波內(nèi)核的性能優(yōu)于徑向基核函數(shù),其核函數(shù)如式(11)所示。

文獻[64]綜合了徑向基核函數(shù)和多項式核函數(shù)各自的優(yōu)勢,提出了基于組合核相關(guān)向量機的短時交通流預測模型。實驗結(jié)果表明,組合核能進一步提高預測精度,其所用的核函數(shù)如式(12)所示。

文獻[65]將高斯核和多項式核混合,作為SVM的核函數(shù)預測交通流量。結(jié)果表明,如式(13)所示的核函數(shù)性能在高峰時段優(yōu)于常用核函數(shù)。

SVM 的核技巧理論完備,但在實際應用上仍然存在核函數(shù)參數(shù)難以選擇的問題,其核函數(shù)參數(shù)的優(yōu)化一直是SVM 的一個研究熱點。核函數(shù)的參數(shù)決定了SVM 模型的復雜度和性能。式(4)中的C和式(14)中核函數(shù)半徑g是最重要的兩個超參數(shù),其中g(shù)與參數(shù)σ的關(guān)系如式(14)所示。

其中,g隱含地決定了數(shù)據(jù)映射到新特征空間后的分布。g越大,支持向量越少,而支持向量的個數(shù)影響著SVM 模型的訓練與預測速度。在核函數(shù)參數(shù)尋優(yōu)上,早期有實驗法、網(wǎng)格搜索法、梯度下降法等[66-67]。為了解決傳統(tǒng)方法耗時長、誤差大的問題,以智能算法為首的元啟發(fā)式算法被廣泛應用于SVM 的參數(shù)尋優(yōu)中。文獻[68]基于改進后的PSO 算法優(yōu)化最小二乘支持向量機(least squares support vector machine,LS-SVM)構(gòu)建了短期客流量預測模型。針對客流量預測,提出了慣性權(quán)重自適應調(diào)整方法優(yōu)化PSO。結(jié)果表明,該優(yōu)化方式相比PSO 算法、正弦粒子群算法和高斯粒子群算法對LS-SVM 的參數(shù)尋優(yōu)效果更好。文獻[69]將文獻[68]的參數(shù)尋優(yōu)算法替換為果蠅優(yōu)化算法,實現(xiàn)了更精確的車流量預測。文獻[70]提出了基于GPS 數(shù)據(jù)出行模式識別模型,并采用遺傳算法對參數(shù)進行優(yōu)化。實驗表明,該模型可精確識別步行、自行車、公交、汽車等交通方式。文獻[71]采用禁忌搜索算法(tabu search,TS)對SVM 參數(shù)進行優(yōu)化。實驗證明,TS 算法能有效優(yōu)化SVM,并且模型在高速公路事件檢測中的性能優(yōu)于人工神經(jīng)網(wǎng)絡。
除去上面提到的幾種智能算法,一些新智能算法也被應用于SVM 參數(shù)尋優(yōu)中,例如煙花算法[72]、磷蝦群算法[73]、生物地理學優(yōu)化算法[74]、引力搜索算法[75]等,但這些算法在ITS 中的研究應用過少。在部分回歸預測和小數(shù)據(jù)量分類問題中,參數(shù)尋優(yōu)的耗時可能會占到算法整體耗時的70%~90%。目前來看,參數(shù)尋優(yōu)算法顯著提高了SVM 的精度,同時也付出了相當大的時間代價。根據(jù)不同的應用場景設計不同的核函數(shù)和參數(shù)尋優(yōu)算法,并利用并行化技術(shù)縮短參數(shù)尋優(yōu)的時間是一個值得研究的方向。
為了解決SVM 在大數(shù)據(jù)集下的效果不佳的問題,學者們提出了使用并行化技術(shù)加快SVM 訓練速度的方法。文獻[76]提出了基于二次規(guī)劃的SVM 并行訓練,采用分解思想將二次規(guī)劃問題劃分成若干個子二次規(guī)劃問題,并行處理子問題以加快迭代中的計算速度。目前流行的SVM 并行化技術(shù)是利用分布式集群將訓練樣本集分割到各計算節(jié)點并行訓練。文獻[77]提出了被后來廣泛使用的層疊向量機(Cascade SVM),Cascade SVM 分割樣本集進行并行訓練,每個計算節(jié)點訓練產(chǎn)生分類器,經(jīng)過兩兩組合篩選,最后得到一組全局最優(yōu)的支持向量,其思路如圖3 所示。

Fig.3 Cascade SVM圖3 層疊向量機
SVM 常見的并行化實現(xiàn)方式有以下3 種:
(1)基于GPU 的并行化。CUDA(compute unified device architecture)和OpenCL(open computing language)是兩種最為流行的GPU 編程語言。OpenCL 靈活度更高,支持各種類型的協(xié)處理器;CUDA 的API更易于調(diào)用,但只支持NVIDIA 設備。文獻[78]提出了基于CUDA 的高斯核SVM 算法并行化方案,并將其應用于行人檢測應用中,最終得出隨著數(shù)據(jù)量的增加并行效率會越來越高的結(jié)論。文獻[79]將基于CUDA 并行的SVM 算法用于車牌識別。相對于原始算法,在GPU 上運行的SVM 訓練速度能提高1~30倍,預測速度能提高50~72 倍。基于GPU 的并行計算并行度很高,計算速度很快,但有單節(jié)點受限,耦合度緊密和可擴展性低的缺點。故GPU 更適合處理單指令多數(shù)據(jù)(single instruction multiple data,SIMD)的運算。
(2)基于MapReduce 的并行化。MapReduce 是由Google 公司研究提出的一種并行計算框架[80]。文獻[81]將SVM 算法與MapReduce 相結(jié)合實現(xiàn)對鐵路客流量的預測,實驗證明并行版算法效率顯著優(yōu)于單機版算法。文獻[82]提出了基于MapReduce 的多SVM 組合分類器并行訓練方法。對每個數(shù)據(jù)集并行訓練,最后進行分類器的組合。實驗證明,MapReduce框架有效解決了SVM 在面對大數(shù)據(jù)集時的效率問題。基于MapReduce 并行可通過增加節(jié)點數(shù)量的方式體現(xiàn)擴展性,并且具有良好的容錯率,但集群的任務調(diào)度和啟動開銷大,不適合迭代計算。
(3)基于Spark 的并行化。Spark 是專為大規(guī)模數(shù)據(jù)處理而設計的快速通用的計算引擎,平臺中擁有MLlib 機器學習庫,包含了分類算法、聚類算法、推薦算法等函數(shù)[83]。文獻[84]根據(jù)Cascade SVM 的思想,提出了一種基于Spark 平臺的并行化方案(SPSVM)。實驗結(jié)果表明,SP-SVM 在損失很小精度的前提下減少了訓練時間。文獻[85]利用SVM 結(jié)合Spark 平臺對Twitter 推文進行文本分類,實現(xiàn)了一種檢測交通實時事件的新方法。基于Spark 的并行同樣擁有較好的擴展性和容錯率,但其優(yōu)勢也帶來了問題。Spark 在內(nèi)存中計算遠快于硬盤中,內(nèi)存消耗大導致其需要更好的硬件設備支撐。MLlib 的API豐富且調(diào)用簡單,但不支持修改內(nèi)部邏輯,大部分算法都只能簡單調(diào)用而不能優(yōu)化。表4 列出了3 種SVM 常見并行化方式的對比。
大數(shù)據(jù)時代已經(jīng)到來,使用SVM 進行回歸和分類的數(shù)據(jù)集越來越大,但以少量準確率換取運行效率的并行化SVM 在ITS 中的研究和應用可謂寥若晨星。在很多要求實時性的交通應用領(lǐng)域,并行化SVM 還有很大的研究空間和應用潛力。

Table 4 Comparison about common parallel implementation of SVM表4 SVM 常見并行化實現(xiàn)方式的對比
5.3.1 最小二乘支持向量機
LS-SVM 是1999 年提出的一種SVM 衍生算法。LS-SVM 以損失解的稀疏性為代價,把求解二次規(guī)劃問題轉(zhuǎn)化為求解線性方程組,以此提高計算速度和收斂精度。文獻[86]使用LS-SVM 預測北京市地鐵客運量,并使用RBF 神經(jīng)網(wǎng)絡和LS-SVM 的預測結(jié)果進行加權(quán)結(jié)合,證明了LS-SVM 是鐵路客運量預測的有效工具。文獻[87]利用集成經(jīng)驗模態(tài)分解(ensemble empirical mode decomposition,EEMD)原始數(shù)據(jù)的灰狼優(yōu)化算法(grey wolf optimizer,GWO)優(yōu)化LS-SVM,通過對西安地鐵某站點一個月進出站人數(shù)進行訓練,證明了該算法能更加精確地預測進出站人數(shù)。文獻[88]提出了一種基于模糊信息粒化和PSO 優(yōu)化LS-SVM 的客流量波動范圍預測模型,通過跟蹤客流量變化趨勢,為預測短期客流量提供了一種行之有效的方法。
LS-SVM 在交通領(lǐng)域被廣泛用于交通流量和客流量預測中,但其他應用場景少有LS-SVM 的身影。如何將LS-SVM 學習過程簡單、訓練速度快的特點在其他應用場景中體現(xiàn),并進一步提高精度依然是一個巨大的挑戰(zhàn)。
5.3.2 多分類支持向量機
多分類支持向量機(multi-class support vector machine,MSVM)是由傳統(tǒng)SVM 推廣而來的算法。由于SVM 是針對二分類問題設計的算法,故MSVM的核心思路就是將復雜的多分類問題轉(zhuǎn)化為多個簡單的二分類問題[89]。文獻[90]提出MSVM 有一對多、一對一、導向無環(huán)圖、二叉樹四種結(jié)構(gòu),并通過實驗證明,對于交通實時預測應用應優(yōu)先選擇二叉樹MSVM。文獻[91]采用一對一結(jié)構(gòu)的MSVM 進行交通狀態(tài)分類,其結(jié)構(gòu)如圖4 所示。
理論上,針對K分類問題需要K(K-1)/2 個二分類SVM。文獻[92]提出了一種結(jié)合無向圖優(yōu)化的MSVM 分類器,通過檢測行人和車輛進行驗證,該方法錯誤率低但算法效率較差。

Fig.4 Multi-class SVM with one-to-one structure圖4 一對一SVM 多分類器
現(xiàn)實中大多數(shù)分類問題都屬于多分類問題,因此多分類支持向量機比傳統(tǒng)支持向量機應用價值更大。多分類相比二分類計算量必然更大,并且要考慮測試樣本同時屬于不同的類或者不屬于任何一個類的情況。如何利用5.2 節(jié)涉及的并行化等技術(shù)解決多分類算法效率不高的問題應是今后研究的重點。
5.3.3 模糊支持向量機
模糊支持向量機(fuzzy support vector machine,FSVM)的提出主要是為了減小噪聲數(shù)據(jù)對預測模型的影響,其主要思想是將模糊數(shù)學與SVM 結(jié)合,賦予支持向量較高的隸屬度并賦予非支持向量和噪聲較小的隸屬度[93]。模糊支持向量機的最優(yōu)超平面為式(15)所示的目標函數(shù)最優(yōu)解。

其中,μi是隸屬度,表示不同樣本的重要性程度。對不同的樣本賦予不同的μi,可達到對不同樣本采用不同程度的懲罰作用。
文獻[94]將FSVM 應用于交通標志識別。結(jié)果表明,F(xiàn)SVM具有良好的分類效果,對交通標志分類準確率接近100%,對限速標志分類準確率接近99%。文獻[95-96]基于FSVM 建立了旁車并線意圖檢測模型,實時檢測旁車道車輛是否要進行并線行為。經(jīng)實驗發(fā)現(xiàn)FSVM 可使駕駛員輔助控制更加準確合理。文獻[97]利用FSVM 實現(xiàn)車牌識別,并使用基于Memetic 算法優(yōu)化的PSO 算法對FSVM 進行參數(shù)尋優(yōu)。實驗對220 幅馬來西亞的車牌圖像進行識別,得出PSO 可提高FSVM 預測準確率的結(jié)論。因為模糊數(shù)學理論降低了SVM 對噪聲數(shù)據(jù)的敏感性,按照此思路可將模糊數(shù)學理論結(jié)合其他SVM 衍生算法,例如模糊最小二乘支持向量機[98]、模糊多分類支持向量機[99]、模糊孿生支持向量機[100]。將降低噪聲影響技術(shù)與更先進的SVM 算法結(jié)合應是未來的研究熱點。
5.3.4 相關(guān)向量機
相關(guān)向量機(relevance vector machine,RVM)是于2000 年提出的基于貝葉斯框架的稀疏概率模型。RVM 具有SVM 的一切優(yōu)點,并克服了SVM 支持向量個數(shù)多,模型預測時間長,核函數(shù)必須滿足Mercer定理等缺點。文獻[101]提出了一種基于RVM 的交通流預測模型,實驗證明RVM 比LS-SVM 的精度提高了60%,并具有其他算法所不具備的預測速度。為了預防飛機碰撞事故,文獻[102]利用RVM 構(gòu)建了飛行安全評價模型。文獻[103]提出了一種采用混沌模擬退火算法優(yōu)化RVM 的交通流量預測方法。并對6種核函數(shù)的性能進行了實驗。預測結(jié)果表明,該預測方法具有更高的預測精度,文中使用的核函數(shù)為:

文獻[104]對影響公交車頭時距的因素進行了分析,選擇歷史車頭時距、行程時間和乘客信息作為RVM 算法的輸入預測車頭時距。結(jié)果表明,該算法優(yōu)于SVM、卡爾曼濾波、KNN(K-nearest neighbor)等算法。
在故障檢測[105]、情感識別中[106],RVM 已有很多研究成果,但在交通領(lǐng)域,目前只有交通流預測、客流量預測、安全檢測等少數(shù)領(lǐng)域存在相關(guān)研究。RVM 擁有極快的預測速度并且準確率與SVM 相近,故更適合于實時預測領(lǐng)域。因此RVM 在ITS 中還有很大的研究潛力和應用空間。
5.3.5 SVM 與深度學習結(jié)合的深層模型
深度學習有SVM 無法比擬的非線性函數(shù)逼近能力,能夠很好地提取交通數(shù)據(jù)的特征,其本質(zhì)是一個特征表征力強但不善于獨立處理分類、回歸的特征學習器[107]。SVM 作為機器學習模型,數(shù)據(jù)表征能力并不理想。因此,融合深度學習和SVM 的深層模型成為了近年來的研究熱點,如圖5 所示。

Fig.5 Deep model combining SVM with deep learning圖5 SVM 與深度學習結(jié)合的深層模型
目前,作為深層模型的底層被引入ITS 的深度學習算法主要有深度置信網(wǎng)絡(DBN)和卷積神經(jīng)網(wǎng)絡(convolutional neural networks,CNN)兩種。根據(jù)兩者數(shù)據(jù)輸入的要求以及相關(guān)文獻可以得出,DBN 適用于處理單維時間序列數(shù)據(jù),CNN 更適合處理圖像和多維時間序列預測問題[108-109]。文獻[110]將CNN與SVM結(jié)合為深層預測模型進行車流量預測,實驗結(jié)果顯示該深層模型預測性能顯著優(yōu)于淺層模型。其中CNN-SVM 深層預測模型的結(jié)構(gòu)如圖6 所示。
文獻[111]采用DBN 作為深層模型的底層,建立了用于判別高速公路變道危險程度的DBN-SVM 模型。實驗結(jié)果表明,該深層模型效果顯著優(yōu)于樸素貝葉斯模型和BPNN。文獻[112]將深度學習中門循環(huán)單元(gated recurrent unit,GRU)與SVR 相結(jié)合,提出基于GRU-SVR 的短時交通流量預測模型。與GRU 和SVR 等淺層模型相比,GRU-SVR 的效果優(yōu)勢明顯。通常DBN 和CNN 的輸出層為SoftMax 分類器,采用SVM 取代傳統(tǒng)模型的SoftMax 能夠有效提高模型精度。但目前研究對深層模型中SVM 的參數(shù)尋優(yōu)問題解決得不好。深度學習可謂日新月異,每年都會涌現(xiàn)出很多新穎算法。在未來,應針對不同的問題和數(shù)據(jù)研究不同的深度學習提取特征方法,并結(jié)合5.1 節(jié)內(nèi)容解決深層模型中的SVM 參數(shù)尋優(yōu)問題。

Fig.6 CNN-SVM deep prediction model圖6 CNN-SVM 深層預測模型

Table 5 Comparison about derivation algorithms of SVM表5 支持向量機衍生算法的比較
除去以上提到的衍生算法外,還有一些在交通領(lǐng)域應用不多但同樣具有獨特效果的衍生算法,例如:加權(quán)支持向量機(weighted support vector machine,WSVM)[113]、孿生支持向量機(twin support vector machine,TSVM)[114]、排序支持向量機(Rank support vector machine,Rank-SVM)[115]等。表5 列出了幾種支持向量機衍生算法的對比。
SVM 是一個非常經(jīng)典的機器學習算法,針對其應用現(xiàn)狀、優(yōu)化方法、衍生算法本文均做了詳細闡述,發(fā)現(xiàn)SVM 在算法應用以及算法優(yōu)化方面仍有很多研究工作可做。
算法應用:(1)要將SVM 應用于客流量預測領(lǐng)域,需保證準確率的同時進一步提高算法的效率,并研究短間隔的客流量預測與客流量的縱向相關(guān)性。(2)利用交通數(shù)據(jù)的高維性和各類優(yōu)化算法進一步提高交通擁堵評價參數(shù)預測的準確率,并加強基于擁堵時間比和經(jīng)濟比的擁堵預測研究。(3)研究更合理的交通事故發(fā)生因素選取和數(shù)據(jù)降維方法。(4)將新穎的SVM 優(yōu)化算法、衍生算法和深層模型應用于城市交通碳排放預測領(lǐng)域。(5)研究如何提高交通數(shù)據(jù)的數(shù)量和可靠性,設計有地區(qū)特征的交通狀態(tài)判別方法,并增加分類算法與回歸算法結(jié)合的研究。(6)進一步研究如何解決SVM 在TSR 中算法效率低問題,如何利用深度學習提高算法在各種不利條件下的檢測準確率。(7)在交通事件檢測領(lǐng)域,需研究減少SVM 檢測時間的方法。
算法優(yōu)化:(1)根據(jù)不同的應用場景設計不同的核函數(shù)和參數(shù)尋優(yōu)算法,并減少參數(shù)尋優(yōu)的耗時。(2)將并行化的SVM 及其衍生算法推廣至智能交通系統(tǒng)中實時性要求較強、算法效率要求高的應用場景。(3)研究各種優(yōu)化方法和SVM 衍生算法的結(jié)合。(4)將深度學習的表征能力結(jié)合SVM 的分類與回歸能力,并研究深層模型中SVM 的參數(shù)尋優(yōu)問題。