王樹洋,黃天民,方 新
(西南交通大學數學學院,四川成都 610031)
基于PSO-SVM的交通流量短時預測
王樹洋,黃天民,方 新
(西南交通大學數學學院,四川成都 610031)
參數選擇問題影響了支持向量機預測模型在交通流量中的預測性能。為了解決支持向量機預測模型的參數選擇問題,引入了粒子群優化算法機制,通過粒子群優化選擇支持向量機預測模型的學習訓練參數,得到較優的PSO-SVM預測模型。通過實例仿真實驗,將PSO-SVM預測模型與神經網絡預測模型進行了比較,顯示了其優越性。
支持向量機;粒子群優化算法;神經網絡;預測;交通流量
交通流量預測作為智能交通系統(ITS)的基礎,其實時準確的短時預測是實現科學規范的交通規劃、交通誘導和交通控制的關鍵技術。真實的交通流量具有隨機性、非線性、復雜性、不確定性,無法建立精確的數學模型,因而采用人工智能方法對交通流量預測越來越受重視[1]。在交通流量預測中,神經網絡憑借其逼近任意非線性函數的能力和所具有的容錯、自學習等優點,已被國內外學者廣泛的采用[2]。但是,基于經驗風險最小化原則的神經網絡,結構選擇缺乏理論指導,容易陷入局部極值點,經驗風險不能達到最小,所以神經網絡的推廣能力不能得到很好的控制。
支持向量機(Support Vector Machine,SVM)是近年來出現的機器學習方法,在解決小樣本、非線性和多變量的分類和回歸問題中表現出優勢。SVM避免了神經網絡等方法存在的陷入局部最優解的問題,也避免了神經網絡在學習小樣本問題時出現的“過學習”問題,因此 SVM具有較好的泛化能力[2-5]。SVM的參數選擇問題一直是一個未完全解決的研究領域[3]。然而訓練學習參數的選擇對SVM模型的預測性能有很大的影響,筆者將PSO與SVM相結合,用PSO優化選擇SVM模型的訓練學習參數,得到較優的PSO-SVM預測模型,并用于城市道路交通流量的預測。
支持向量機是由Vapink教授提出的一種統計學習方法,近年來在其理論研究和算法實現方面都取得了突破性的進展,成為了克服維數災難、過學習及局部最優等傳統困難的有效手段。該方法具有學習速度快,全局最優和泛化能力強等優點,其學習結果明顯好于其它傳統的回歸預測方法,并在模式識別、系統建模、信號處理、最優控制等領域得到了廣泛的應用[3]。
支持向量機的方法應用于回歸問題,得到支持向量回歸機(Support Vector Regression,SVR)。支持向量回歸機基本的思想可解釋為:給定樣本集(x1,y1),…,(xl,yl),其中:xi是第i個n維的輸入向量;yi是對應的第i個輸出量;l是訓練樣本數目,尋找輸入量與輸出量之間的映射關系f。首先通過非線性映射Φ,將樣本集中的n維輸入向量映射到m維的特征空間F內,然后在m維特征空間F內構造優化的線性回歸函數,即:

式中:ω為權重向量;b為偏置項。可以通過求解最優化問題得到系數ω和b。
為了提高預測模型的魯棒性,減少噪聲的影響,引入不敏感損失函數ε,此函數可以描述為:


式中:K(xi,xj)為滿足Mercer定理的內積核(核函數)。
引進核函數K(xi,xj)也是支持向量機理論的一個亮點,它將非線性不可分問題轉化為線性可分問題來解決,避免了維數災難并降低了算法的復雜性。常見的幾種核函數有線性核、多項式核、高斯徑向基核、Sigmoid核以及傅里葉核。
上述的對偶優化問題其實是二次凸規劃問題,求解該二次凸規劃問題即可得到最優解αi,α*i。因此線性回歸函數模型可表示為:

粒子群優化算法(Particle Swarm Optimization,PSO)是由Kennedy和Eberhart提出的一種基于群智能(Swarm Intelligence)的演化計算技術,是在鳥群、魚群和人類社會的行為規律的啟發下提出來的。粒子群優化算法通過群體中的粒子間的合作與競爭產生的群體智能來指導優化搜索。與演化計算相比,PSO保留了基于種群的全局搜索策略,它采用的速度-位移模型操作簡單,避免了復雜的遺傳操作。粒子群優化算法特有的記憶,使其可以動態跟蹤當前的搜索情況,調整其搜索策略。與演化計算相比,粒子群優化算法是一種高效的并行搜索算法。由于算法收斂速度快,設置參數少,近年來受到學術界的廣泛重視[6]。
粒子群優化算法的精確描述為:在D維目標搜索空間中,n個粒子組成一個群落,每個粒子i包含一個D維的位置向量xi=(xi1,xi2,…,xiD)和速度向量vi=(vi1,vi2,…,viD)。粒子 i在搜索D維解空間時,記住其搜索到的最優位置pi。在每次迭代中,粒子 i根據自身慣性、自身經驗 pi=(pi1,pi2,…,piD)和粒子群最優經驗 pg=(pg1,pg2,…,pgD)調整自身的速度向量,進而調整自身位置。可以通過一個適應值函數f(x)來衡量粒子的優勢[6]。

式中:學習因子c1和c2是非負常數;r1和r2是取值介于(0,1)之間的隨機數;vid∈[-vmax,vmax](vmax是常數,根據具體問題而設定)。
交通流量預測是根據交通流量歷史數據和現在數據,采用一定的方法建立合適的數學模型,然后用該模型對未來交通流量進行預測。支持向量機在預測推廣方面具有優勢,但支持向量機在學習訓練時參數的選擇沒有具體的理論可依,嚴重影響了支持向量機模型的預測效果和效率。人工的設定參數,往往是根據具體的問題,多次選擇參數,通過比較確定較優的參數組合。人工選擇設定參數的方法效率低,盲目性大,因此采用群體智能算法對支持向量機模型的參數進行優化。文獻[5]采用了遺傳算法對支持向量機模型的參數進行優化選擇,但是遺傳算法程序復雜,參數設置較多,收斂速度慢,影響了模型的預測效率。而粒子群優化算法算法程序實現簡單,設置的參數少,收斂速度比較快。因此采用PSO-SVM預測模型對交通流量進行預測分析。
PSO-SVM預測模型的算法步驟為:
1)建立訓練樣本集。采集某時間段內交通流量數據,構造訓練樣本 (X,y)={(xi,yi)|i=1,…,n},其中 xi=(ai,ai+1,ai+2,ai+3,ai+4)為第 i個樣本點的輸入向量,yi=ai+5為對應的第i個輸出值。

2)PSO的初始化。設置PSO的初始參數,如群體規模N,學習因子c1和c2等。在允許的范圍內,隨機的生成粒子的初始位置和初始速度。
3)確定支持向量機的參數C和σ2取值范圍。
4)用訓練樣本集訓練SVM,并計算各個粒子的適應度函數值,將其適應值與其經歷過的最好位置pbest進行比較分析。如果優于pbest,則將其作為當前的最好位置pbest。筆者采用平均相對誤差作為適應度函數,具體形式如下:

式中:n為訓練樣本點的數目;yi是第i個樣本的實際值;y'i為第i個樣本的預測值。
5)對每個粒子,將其適應值與所有群體粒子所經歷過的最好位置的適應值進行比較,若小于所有群體經歷過的最好位置的適應值,則全局最優位置gbest被當前粒子的最優位置所替代。
6)根據式(7)、式(8)更新當前粒子的位置和速度。
7)判斷終止條件。判斷全局最優位置的適應值是否滿足設定的最小適應閾值或者是否達到最大的迭代次數。若滿足終止條件,則輸出最優解C和σ2,算法結束。否則返回步驟2)。
8)將最優解C和σ2代入SVM模型,重新訓練學習,得到較優的SVM預測模型。

圖1 PSO-SVM交通流量預測模型的優化尋參過程Fig.1 The process of searching parameters for PSO-SVM model
選取文獻[7]中12:45—14:40期間記錄的24組數據作為實驗數據(表1),將其中12:45—14:20期間記錄的20組數據作為模型的訓練學習樣本集,14:25—14:40期間記錄的4組數據作為模型的測試樣本集。實驗程序在MATLAB7.1平臺上編寫,程序調用了比利時魯汶大學電子工程系版的SVM(LSSVMlab1.5)工具箱和Brian Birge版粒子群優化工具箱。4

表1 路口A 12:45—14:40期間記錄的24組流量數據[7]Table 1 24 couples of data of traffic flow between 12:45 and 14:40 at the intersection A /(veh·h-1)
首先,將表1中流量數據進行歸一化,采用的歸一化處理公式為:

式中:a'i為歸一化后的數據;ai為原始數據;amin和amax分別為原始數據中的最小值和最大值。然后構造訓練樣本集,采用嵌入維數為5,即輸入數據的維數為5,所得訓練樣本集的形式如式(9)。
設置PSO-SVM模型的參數值及參數取值范圍:粒子群規模為20;解空間為二維,分別對應C和σ2的取值,C ∈[0.01,500],σ2∈[0.01,10];最大迭代次數為2 000;加速因子c1=c2=2。經PSO優化選擇得到較優的參數組合為C=150,σ2=0.01,然后將這兩個參數代入SVM預測模型重新訓練模型,繼而得到經PSO優化的SVM預測模型。最后,利用測試樣本集測試經PSO優化后的SVM模型,測試結果見表2。
為了進一步作比較,同時利用BP神經網絡預測模型和RBF神經網絡預測模型分別對該組流量數據進行訓練學習,并用測試樣本集進行測試。BP神經網絡預測模型采用的網絡結構為“5-10-20-1”型,學習速率為0.01,訓練最大次數為2 000。RBF神經網絡預測模型采用3層的前向網絡,激活函數采用高斯函數,均方差精度為0.002,散布常數為1。BP神經網絡預測模型和RBF神經網絡預測模型的測試結果如表2。

表2 PSO-SVM與RBF神經網絡、BP神經網絡預測結果的對比Table 2 Comparison of predicting outcomes among PSO-SVM,RBF neural network and BP neural network
從表2可以看出,PSO-SVM預測模型的平均絕對誤差和平均相對誤差分別為3.695和3.676 8%。PSO-SVM預測模型在預測的平均相對誤差和平均絕對誤差上,明顯的小于BP神經網絡預測模型、RBF神經網絡預測模型的預測誤差。因此,經PSO優化的SVM模型比神經網絡預測模型具有更好的預測能力。
同時還發現,PSO-SVM預測模型14:40的預測值的相對誤差為7.227 2%,誤差超過5%,主要有兩方面原因:①預測的時間段(14:20—14:40)稍長,造成了訓練樣本的有效性降低;②交通流量短時的多變性,復雜性,影響了短時預測的可靠性。
PSO模型具有程序實現簡單,設置參數少,計算收斂速度快等優點;SVM模型具有小樣本學習能力,學習速度快,泛化能力強等優點。基于PSOSVM的預測模型,就是將PSO和SVM結合在一起,利用PSO優化選擇SVM模型的參數,得到較優的SVM預測模型。通過實驗結果表明,基于PSO-SVM模型的預測方法優于神經網絡的預測方法,它克服了神經網絡學習訓練時的“過學習”現象,避免了局部最優解,具有極好的泛化能力。因此,基于PSOSVM的預測模型要好于單純的SVM預測模型,它解決了SVM預測模型的參數選擇問題。
[1]朱文興.基于RBF神經網絡的交通流量預測算法[J].山東大學學報:工學版,2007,37(4):23-27.
Zhu Wenxing.Traffic volume forecasting algorithm based on RBF neutral network[J].Journal of Shandong University:Engineering Science,2007,37(4):23-27.
[2]溫惠英,李俊輝.基于改進支持向量機的交通流量預測算法研究[J].交通與計算機,2008,26(2):4-7.
Wen Huiying,Li Junhui.Traffic flow prediction algorithm based on improved support vector machine[J].Chinese Journal of Computer and Traffic,2008,26(2):4-7.
[3] 方瑞明.支持向量機理論及其應用分析[M].北京:中國電力出版社,2007:47-49.
[4] 任洪娥,霍滿東.基于PSO優化的SVM預測應用研究[J].計算機應用研究,2009(3):867-869.
Ren Honge,Huo Mandong.Support vector machine optimized by particle swam optimization algorithm for holding nail force forecasting[J].Chinese Journal of Computer Application Research,2009(3):867-869.
[5]李曉斌.基于遺傳算法優化支持向量機的交通流量預測[J].微電子學與計算機,2010,27(10):186-189.
Li Xiaobin.Forecasting urban traffic flow based on support vector machine optimized by genetic algorithm[J].Chinese Journal of Microelectronics and Computer,2010,27(10):186-189.
[6]段曉東,劉向東.粒子群算法及其應用[M].沈陽:遼寧大學出版社,2007:29-34.
[7] 胡佩鋒.交通流量短時預測方法研究[D].北京:北京交通大學,2006:44-45.
[8]侯媛彬,杜京義,汪梅.神經網絡[M].西安:西安電子科技大學出版社,2007:89-122.
[9]劉麗娜.城市道路交通流量短時預測的研究[D].北京:北京郵電大學,2009:40-46.
Short-Time Prediction of Traffic Flow on the Basis of PSO-SVM
Wang Shuyang,Huang Tianmin,Fang Xin
(College of Mathematics,Southwest Jiaotong University,Chengdu 610031,Sichuan,China)
Parameter selection for SVM exerts influence on the predicting function of SVM prediction model in traffic flow.The present paper introduces PSO optimization mechanism to solve parameter selection of SVM.The way is to select SVM training parameters by PSO;then better PSO-SVM prediction model is obtained.Finally the paper compares PSO-SVM prediction model with neural network by means of simulation experiments and shows that PSO-SVM prediction model has advantages over neural network.
support vector machine(SVM);particle swarm optimization(PSO);neural network;prediction;traffic flow
U491.1+12
A
1674-0696(2012)04-0832-04
10.3969/j.issn.1674-0696.2012.04.24
2011-11-28;
2012-03-16
國家自然科學青年基金項目(61100046);四川省應用基礎研究計劃項目(2011JY0092);中央高校科研業務費專項資金項目(SWJTU11ZT29)
王樹洋(1986—),男,山東泰安人,博士研究生,主要從事機器學習、人工智能方面的研究。E-mail:swjtusywang@163.com。