謝 聰,余立建
(西南交通大學 交通信息工程及控制實驗室,四川 成都611756)
高速公路是國家的經(jīng)濟動脈,對經(jīng)濟交流活動具有著重要作用。高速公路發(fā)生事故是難以避免的,如何快速而準確地獲知事件的發(fā)生,對于交管部門和其它相關單位都非常重要,因此,智能交通系統(tǒng)應運而生。交通事件檢測系統(tǒng)作為其子系統(tǒng),能夠通過檢測交通事件的發(fā)生采取相關措施,盡可能地減少損失。事件檢測算法是系統(tǒng)的關鍵所在,國內(nèi)外有各種各樣的檢測技術和算法,包括早期經(jīng)典的加利福尼亞算法、McMaster算法和近年來的人工智能算法(神經(jīng)網(wǎng)絡、支持向量機等)。文中先用小波神經(jīng)網(wǎng)絡(wavelet neural network WNN)構造事件檢測模型,再用改進的遺傳算法對WNN模型的權值和小波因子進行優(yōu)化,然后用模型來檢測事件是否發(fā)生,最后用評價指標對算法進行評價,并且把優(yōu)化前和優(yōu)化后的結果作對比。
Zhang和A.Benveniste在一篇論文中正式提出小波神經(jīng)網(wǎng)絡。其基本思想為:利用小波元代替神經(jīng)網(wǎng)絡中的激勵函數(shù)。H.H.Szu等人提出由“疊加小波”構成的自適應小波神經(jīng)網(wǎng)絡,通過不斷調整小波函數(shù)的平移因子和伸縮因子,實現(xiàn)函數(shù)擬合。鑒于其較強的自適應能力,文中選其作為事件檢測模型的基本結構,如圖1所示。
小波神經(jīng)網(wǎng)絡結構類似于前饋型神經(jīng)網(wǎng)絡,輸入節(jié)點層有一個或多個輸入(如圖1中的x1,x2,…,xm),網(wǎng)絡中間有一個中間節(jié)點層,其輸出層由一個或多個線性組合器構成。中間節(jié)點層由若干神經(jīng)元組成,其激活函數(shù)由母小波構成。
圖1 小波神經(jīng)網(wǎng)絡結構
其基本運算過程如下:
xi與輸入層、中間層之間的權值(wij)相乘得中間節(jié)點層的輸入信號,再經(jīng)過小波函數(shù)φj(x)的平移(bj)和伸縮(aj)得到h(j)。其過程如下式所示
式中:l為中間節(jié)點層的節(jié)點個數(shù)。
常用的小波基函數(shù)有 Morlet、Harr、Meyer、Gausse等母小波。由于Morlet小波有較強的抗干擾能力,因此模型采用Morlet函數(shù),其數(shù)學公式為
最后,h(j)先與權值(wij)做積,再進行線性疊加輸出y(k)。其過程如下式所示
式中:n為輸出層節(jié)點個數(shù)。
遺傳算法(Genetic Algorithm)是模仿物種進化繁衍而來的一種搜索方法。是由美國J.Hooland教授于1975年提出、具有全局啟發(fā)式搜索能力的,常應用于最優(yōu)化問題、模式識別以及智能控制中。
遺傳算法模仿自然界的生存法則,用編碼來描述復雜的問題,用適應度決定個體能否生存下去。也就是說那些適應能力強的個體,能夠把自身的基因傳遞給下一代;適應能力差的個體,則會失去競爭力而被淘汰。算法用染色體交叉的方式模仿生物的繁殖行為。為保持群體的多樣,個體也會有變異行為,進化若干次后群體中的個體都有最佳的適應力,即為適應度最大,也就是搜索到最優(yōu)個體。圖2描述了算法的流程。
影響遺傳算法性能的主要因素有適應度(fit-ness)、變異概率pm、交叉概率pc。適應度函數(shù)的選取需要結合實際問題,直接關系到算法的可行性和種群進化的方向。一般來說pm的取值決定群體的多樣性,pc的取值決定群體產(chǎn)生新個體的速度。在實際問題中需要確定適應度函數(shù)來描述“適應能力強”。同時,一個合適的交叉、變異概率也需要具體問題具體分析。
圖2 遺傳算法基本流程
本文數(shù)據(jù)來源于加州大學的I-880數(shù)據(jù)庫。數(shù)據(jù)庫來源于加州大學在1998年的FSP(Freeway Service Patrol)項目報告,該項目測試美國舊金山海灣I-880高速公路位于Marina和 Wipple出口間的路段,該路段有3~5個車道,分南北雙向。I-880數(shù)據(jù)庫包括不同路段每個車道的流量、速度和占有率數(shù)據(jù)。這其中包括有交通事件狀態(tài)下的數(shù)據(jù),交通事件共有1 210件,選取其中的45個事件數(shù)據(jù)和三天無事件數(shù)據(jù)進行建模。將其中的23個事件數(shù)據(jù)(2 036組)和無事件樣本數(shù)(2 636組)作為訓練集,10個事件(507組)和1 318組無事件數(shù)據(jù)作為測試集。通過對交通事件的特性分析,更好地描述交通事件狀態(tài),選取上下游占有率差與速度差的乘積絕對值(表中用“絕對值”簡稱),將上游占有率、流量、速度、占有率以及速度的比值(表中用“比值”簡稱)共5個參數(shù)作為特征輸入,并將其進行歸一化 ,數(shù)據(jù)格式如表1所示。
表1為交通事件參數(shù)樣本,輸出1表示有事件產(chǎn)生,輸出-1表示無事件產(chǎn)生。
表1 交通事件檢測數(shù)據(jù)輸入與判定樣例
事件檢測結果用以下3個指標來評價:檢測率(Detection Rate ,DR)、誤 報 警 率 (False Alarm Rate,F(xiàn)AR)、平均檢測時間(Mean Time Detection,MTTD)。各指標的定義分別如下:
1)檢測率(DR):一段時間內(nèi)算法正確檢測出的事件發(fā)生數(shù)占實際發(fā)生事件數(shù)的百分比,即
式中:DN為正確檢測到的事件發(fā)生數(shù),AN為實際發(fā)生的事件數(shù)。
2)誤報警率(FAR):在一段時間內(nèi),算法檢測到錯報事件的數(shù)量與檢測到事件總量的比值,即
式中:FN為時間T內(nèi)誤報事件次數(shù),CDN為時間T內(nèi)檢測到的事件總數(shù)。
3)平均檢測時間(MTTD):被算法正確檢測出的事件發(fā)生時刻與事件實際發(fā)生時刻的差值算術平均值,即
式中:TI(i)為事件i實際發(fā)生的時刻,AT(i)為事件被檢測到的時刻,n為算法檢測到的實際發(fā)生事件數(shù)。
文中采用GA-WNN模型對交通事件進行分類,分類精度反映模型的分辨能力,即
式中:TD為被正確檢查出的事件數(shù),NN為被正確檢測出的非事件數(shù),Tc為總的輸入數(shù)據(jù)集個數(shù)。
結合上述的理論分析和評價指標對交通事件檢測進行建模。
1)確定網(wǎng)絡結構。采用如圖1所示的基本結構,經(jīng)過多次實驗,確定網(wǎng)絡結構為5-11-1的結構,即輸入層選用5個節(jié)點,隱含層選用11個節(jié)點,輸出層選用1個節(jié)點。輸出1表示有事件,輸出-1表示無事件。
2)確定種群以及基本參數(shù)。網(wǎng)絡結構一旦確定,網(wǎng)絡權值aj,bj的個數(shù)就確定了。選取小波神經(jīng)網(wǎng)絡權值wjk,wij和小波因子aj,bj組成種群的一個個體,并采用實數(shù)編碼,種群規(guī)模選取50,確定進化次數(shù)為60。
3)計算個體的適應度值。這里的適應度函數(shù)是把模型的期望輸出和實際輸出的均方差(MSE)作為算法的適應度值,公式為
式中:F為個體的適應度值,F(xiàn)的值越小,表示此個體越優(yōu);N為樣本數(shù);pi(x)為訓練實際輸出;yi為訓練的期望輸出。
4)按照圖2的流程依次進行選擇、交叉、變異操作,其中選擇操作采用的方法為輪盤賭法,即適應度值越大,其被選擇到的可能性也越大,適應度值越小,則反之。個體i被選的概率為pi
式中:Fi為個體i的適應度值,N為種群規(guī)模。
在交叉操作過程中,交叉概率過大、產(chǎn)生的新個體速度太快都容易破壞適應度較好的個體。交叉概率太小會導致進化速度過慢。因此,采用自適應調整方式,調整公式為
式中:fmax為當代中所有染色體中最大適應度值;favg為所有染色體適應度值的平均值,為交叉的兩個染色體中較大的適應度值,在模型中取pc1=0.8,pc2=0.5。
變異概率過小,不利于種群的多樣性;概率過大,變成無意義的隨機搜索。為了改變這一現(xiàn)狀,采用自適應調整的Pm,其公式為
式中:f為變異染色體的適應度值;fmax,favg與交叉概率調整公式中的含義相同;pm1=0.1,pm2=0.05。
5)按照圖2的流程循環(huán)操作,經(jīng)過若干次的進化,最后得到最優(yōu)個體。把最優(yōu)個體解碼(編碼的逆過程),解碼得到網(wǎng)絡的權值和小波因子的初始值,然后用訓練數(shù)據(jù)進行網(wǎng)絡訓練,得到最終的網(wǎng)絡權值和小波因子。
6)利用步驟5)得到的結果構造小波神經(jīng)網(wǎng)絡,然后用測試數(shù)據(jù)進行測試,最后按照2.2中的評價指標對模型進行評價。
7)把未經(jīng)過GA優(yōu)化的 WNN按照步驟1)的設置進行試驗,并與經(jīng)過GA優(yōu)化的結果作對比。
實驗采用MatlabR2010b編寫仿真代碼,各個參數(shù)按2.3節(jié)建模過程設置,權值學習速率lr1=0.02,小波因子學習速率lr2=0.001。訓練次數(shù)為800次,學習算法采用BP算法,為提高學習性能,采用增加動量項的方法,動量項學習率(K)取0.9,其仿真結果如圖3、圖4所示。
圖3 800次GA-WNN網(wǎng)絡訓練過程
圖4 GA優(yōu)化WNN適應度變化
將經(jīng)GA優(yōu)化的模型仿真結果與未經(jīng)優(yōu)化的仿真結果作比較,結果如表2所示。
表2 WNN和GA-WNN模型結果比較
從實驗結果來看,在GA-WNN模型中種群進化到50次左右的時候,最佳適應度與平均適應度值大體相當,說明算法搜索到最優(yōu)個體。此時的網(wǎng)絡權值和小波因子是WNN網(wǎng)絡的最佳初始值。從圖3可以看出,GA-WNN模型的訓練到600次左右算法收斂,此時網(wǎng)絡參數(shù)是最合理的。從表2可知,GA-WNN模型的檢測率(DR)達到92.63%,比起WNN模型的77.83%有顯著提高。FAR從 WNN模型的18.72%下降到8.51%,MTTD能夠反映出算法的實時性,但由于有GA的全局啟發(fā)式搜索,增加算法的復雜度,平均檢測時間有所增加。說明經(jīng)GA優(yōu)化的檢測算法能夠有效提高檢測率、分類精度,降低誤報警率。
本文通過小波神經(jīng)網(wǎng)絡建立交通事件檢測模型,并用GA對事件模型進行優(yōu)化,使檢測率和分類精度得到較大提升,同時模型的收斂速度也得到較大的提升,但檢測時間偏長。進一步的研究工作則是在分類準確率和檢測時間上尋找合理的平衡點。
[1] 姜愛萍.混沌時間序列的小波神經(jīng)網(wǎng)絡預測方法及其優(yōu)化研究[M].上海:上海大學出版社,2014:230-233.
[2] 陳祥梅.GA-SVM在高速公路交通事件檢測中的應用研究[D].成都:西南交通大學,2009.
[3] 龔炯.基于SVM的高速公路交通事件檢測算法研究[D].成都:西南交通大學,2010.
[4] 史鋒,王小川,郁磊,等.MATLAB神經(jīng)網(wǎng)絡43個案例分析[M].北京:北京航空航天大學出版社,2013.
[5] 殷麗莉.小波網(wǎng)絡用于水下目標是別的研究[D].哈爾濱:哈爾濱工程大學,2007.
[6] 金玉婷,余立建.基于小波神經(jīng)網(wǎng)絡的短時交通流預測[J].交通科技與經(jīng)濟,2014,16(1):82-86.
[7] 劉輝.小波神經(jīng)網(wǎng)絡在醫(yī)學圖像壓縮中的應用研究[D].合肥:合肥工業(yè)大學,2006.
[8] Wang Jin,Xu Li,Zheng Baoyu.A Genetic Annealing Hybrid Algorithm based Clustering Strategy in Mobile Ad hoc Network[J].IEEE Trans on SMC,2005,27(1):314-318
[9] Chew,R.L and Ritchie,S.G.Automatic Detection of Lane-blocking Freeway Incidents Using Artificial Neural Network.Transportation Research Part C,1995,13(6):271-388.