陳飛
【摘 要】交通流預測是智能運輸系統中的路徑誘導和交通流控制的必要條件,其實時性和可靠性直接關系到交通管理與控制的效果,因此本文利用利用遺傳算法對BP神經網絡的權值、閾值進行優化,從而應用強大非線性逼近能力實現交通流量的準確預測,并且通過實驗進行算法的仿真,結果表明,BP神經網絡經遺傳算法優化后,精度得到提高,而且BP神經網絡對交通流量的預測是可行的。
【關鍵詞】交通流量 遺傳算法 BP神經網絡
中圖分類號:G4 文獻標識碼:A DOI:10.3969/j.issn.1672-0407.2015.04.003
一、引言
交通流量是反映交通路況的一個非常重要的信息,因此交通汽車流量的預測受到許多學者和科學工作者比較重視的方面。一些優秀的預測算法和手段也先后被人們發明和改進,但很少有人將兩者結合在一起,這也正是該課題研究意義之所在。BP神經網絡具有較強的非線性映射能力、高度的自學習自適應能力、也具有將學習成果應用于新知識的能力、還具有一定的容錯能力。開展該課題的研究工作,不僅能有效地拓展神經網絡算法和預測問題的研究角度,豐富學習內容,更可能在理論上有所突破和創新,對于培養自身自學意識和創新意識,提高本科生分析能力與運籌能力都是有所裨益的。
二、交通流量預測BP神經網絡模型的構建
基本BP算法包括兩個方面,信號的前向傳播和誤差的反向傳播,計算實際輸出時按從輸入到輸出的方向進行,而權值和閾值的修正從輸出到輸入的方向進行。
如圖所示,其中xj表示輸入層第j個節點的輸入,j=1,…,M;Wij表示隱含層第i個節點到輸入層第j個節點之間的權值; 表示隱含層第i個節點的閾值; (x)表示隱含層的激勵函數;Wki表示輸出層第k個節點到隱含層第i個節點之間的權值,i=1,…,q;ak表示輸出層第k個節點的閾值,k=1,…,L;ψ(x)表示輸出層的激勵函數;Ok表示輸出層第k個節點的輸出。BP神經網絡的算法流程通過數據歸一化、數據分類、神經網絡設置、指定訓練參數進行訓練以及相應的測試進行。
三、利用遺傳算法優化BP神經網絡
利用遺傳算法實現BP神經網絡的參數優化的流程圖如圖2-1所示。從圖中可知,遺傳算法與BP神經網絡溝通的橋梁即染色體與閾值、權值的等價,預測誤差與適應度函數的等價,而兩算法的其他部分則都為獨立的。遺傳算法每次產生新的種群后,將每個染色體解碼成十進制的閾值與權值,然后代入構建的BP神經網絡中,計算每條染色體對應的BP神經網絡誤差作為遺傳算法的適應度函數,若誤差越小則代表適應度越高,越容易被保留而不被淘汰。根據計算出的適應度函數,對種群中的染色體進行自適應交叉與變異,得到新的種群,然后不斷循環直到滿足算法迭代終止條件。
四、交通流程預測的Matlab仿真與分析
經研究表明,城市交通路網中交通路段上某時刻的交通流量與本路段前幾個小時的交通流量有關,并且交通流量具有周期性,為24小時。本文利用交通流量的這些特性,將采集的五天的某路網同一路口的交通流量,每隔4分鐘采集一次,每條共360個數據點,其中前四天的前276個數據作為神經網絡輸入訓練數據,前四天的后84個數據點作為神經網絡訓練輸入測試數據;第五天的前276個交通流量數據作為神經網絡輸出訓練數據,后84個的數據點作為神經網絡訓練輸出測試數據。也就是利用前四天的交通流量數據訓練好神經網絡后,在第五天的前276個交通流量已知的情況下,對第五天的后84個交通流量進行預測。
本文構造的神經網絡為1-5-1BP神經網絡,也就是單輸入單輸出,5隱含層的BP神經網絡;對BP神經網絡進行優化的遺傳算法的參數為:種群數10、進化代數50,交叉概率0.6、變異概率0.1。BP神經網絡優化前后對交通流量預測的結果如圖2-1至圖2-3所示。
通過仿真實驗可以得到以下結論:
1.由圖2-1可知,遺傳算法在第27代即已收斂,說明利用遺傳算法優化BP神經網絡是可行的,并且效率很高。
2.由圖2-2可知,BP神經網絡優化前后都能實現對交通流量的預測,說明BP神經網絡具有很好的非線性逼近能力,可以利用于交通流量的預測。
3.由圖2-3可知,改進前,BP神經網絡的預測誤差區間為。-3.137%-5.042%;改進后BP神經網絡的預測誤差區間為-3.146%-3.831%。由此可知,利用遺傳算法改進BP神經網絡不僅是可行,而且預測精度也切實地得到了提高。
參考文獻
[1]王萬良、吳啟迪等.基于Hopfield神經網絡的作業車間生產調度方法[J].自動化學報.2002,28(5):838一844.
[2]王小平,曹立明,遺傳算法—理論、應用與軟件實現M,西安:西安交通大學出版社,2002.
[3]陳永春.Matlab語言高級編程[M].北京:清華大學出版社,2004.
[4]李華.基于一種改進遺傳算法的神經網絡.太原:太原理工大學,2007.
[5]陳明.Matlab神經網絡原理與實例精解.北京:清華大學出版社,2013.