王小凡 朱永強(qiáng)
(青島理工大學(xué)機(jī)械與汽車工程學(xué)院,山東 青島 266520)
近年來(lái)我國(guó)汽車保有率迅速上升,交通建設(shè)逐步完善,高速公路成為越來(lái)越重要的出行方式,高速公路不僅為出行提供許多便利,它還加快了周邊地區(qū)的經(jīng)濟(jì)發(fā)展。但是隨著交通事業(yè)的飛速發(fā)展,高速公路上交通量猛增,甚至超出了道路通行能力造成交通擁堵和連環(huán)事故,為了提高道路的通行效率,需要對(duì)高速公路的交通量進(jìn)行分類控制和合理誘導(dǎo),而準(zhǔn)確的交通量預(yù)測(cè)則是進(jìn)行科學(xué)交通規(guī)劃和誘導(dǎo)的前提和關(guān)鍵。
隨著智能交通迅速發(fā)展,交通量預(yù)測(cè)作為智能交通系統(tǒng)的關(guān)鍵因素引起了越來(lái)越多的學(xué)者關(guān)注,先后提出了很多模型運(yùn)用到實(shí)際交通量預(yù)測(cè)中,如學(xué)者Smith和Oswald在2002年提出非參數(shù)回歸模型,[1-2]學(xué)者Castro等創(chuàng)立了一種支持向量機(jī)預(yù)測(cè)模型,[3-4]學(xué)者Okutani根據(jù)卡爾曼濾波理論建立了交通流預(yù)測(cè)模型以及神經(jīng)網(wǎng)絡(luò)等預(yù)測(cè)方法。[5]國(guó)內(nèi)研究者周小鵬、馮奇等提出基于最近鄰法的短時(shí)交通流預(yù)測(cè)。[6]
目前人工智能已經(jīng)成為當(dāng)下的熱點(diǎn)方向,神經(jīng)網(wǎng)絡(luò)可以模擬人腦信息處理的過(guò)程,具有高度自主學(xué)習(xí)性和信息處理能力,已經(jīng)在許多領(lǐng)域進(jìn)行實(shí)際的運(yùn)用,[7]非常適用于解決非線性、復(fù)雜的交通系統(tǒng)問(wèn)題,但是神經(jīng)網(wǎng)絡(luò)自身也存在收斂速度慢,容易陷入局部極小的缺陷,造成預(yù)測(cè)誤差。因此本文根據(jù)道路交通特點(diǎn)結(jié)合實(shí)際情況,提出用遺傳因子優(yōu)化小波神經(jīng)網(wǎng)絡(luò),建立一種遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,使得神經(jīng)網(wǎng)絡(luò)可以迅速找到最優(yōu)解并提高預(yù)測(cè)精度。
BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)是一種多層前饋神經(jīng)網(wǎng)絡(luò),[8]由輸入層、輸出層和隱含層構(gòu)成,每一層由若干節(jié)點(diǎn)連接,輸入信號(hào)從輸入層經(jīng)隱含層逐層處理并傳向輸出層,若輸出層結(jié)果與期望輸出相比誤差過(guò)大,則將誤差信號(hào)沿輸出層反向傳遞,逐層修改和調(diào)整連接權(quán)值和閾值,反復(fù)迭代直至輸出結(jié)果和期望結(jié)果誤差滿足一定條件,BP神經(jīng)網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖1所示:
圖 1 BP神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)圖
圖中,X1,X2,X3,…Xn為 BP 神經(jīng)網(wǎng)絡(luò)的輸入值,Y1,Y2,Y3,…Yn是預(yù)測(cè)值,ωij和ωjk為連接權(quán)值。
(1)BP神經(jīng)網(wǎng)絡(luò)首先需要經(jīng)過(guò)網(wǎng)絡(luò)訓(xùn)練,假設(shè)神經(jīng)網(wǎng)絡(luò)輸入層節(jié)點(diǎn)數(shù)n、隱含層節(jié)點(diǎn)數(shù)l、輸出層節(jié)點(diǎn)數(shù)m、連接權(quán)值ωij,ωjk等,初始化網(wǎng)絡(luò),然后計(jì)算隱含層輸出。
(2)計(jì)算神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)輸出O:
BP神經(jīng)網(wǎng)絡(luò)憑借自身的較強(qiáng)的自學(xué)習(xí)、自適應(yīng)、容錯(cuò)性的優(yōu)點(diǎn)已被廣泛應(yīng)用于信號(hào)識(shí)別、系統(tǒng)優(yōu)化等領(lǐng)域中,但是傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)也呈現(xiàn)出收斂速度較慢,陷入局部最優(yōu)以及全局搜索能力不足的缺陷,使得BP神經(jīng)網(wǎng)絡(luò)在預(yù)測(cè)應(yīng)用中預(yù)測(cè)精度仍不能滿足需求。
美國(guó)Michigan大學(xué)Holland教授在1962年根據(jù)自然界中物競(jìng)天擇的機(jī)制以及各種生物進(jìn)化規(guī)律提出遺傳算法(Genetic Algorithms),這種算法主要是在計(jì)算模型中設(shè)定成生物自然地進(jìn)化競(jìng)爭(zhēng)的機(jī)制,編碼模型中問(wèn)題參數(shù)成染色體,模擬自然界中生物遺傳的選擇,交叉和突變過(guò)程,并根據(jù)健康狀況保留具有良好適應(yīng)值的優(yōu)秀個(gè)體,遺傳算法具有自適應(yīng)隨機(jī)優(yōu)化搜索,可以做到全局尋優(yōu),在最優(yōu)化領(lǐng)域方面更加成熟,收斂速度和效果更好。
GA-BP網(wǎng)絡(luò)預(yù)測(cè)模型首先確定BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),根據(jù)擬合函數(shù)輸入和輸出參數(shù)來(lái)確定遺傳算法個(gè)體的長(zhǎng)度。使用遺傳算法找尋網(wǎng)絡(luò)最優(yōu)適應(yīng)值,使用新的權(quán)值和閾值訓(xùn)練BP神經(jīng)網(wǎng)絡(luò)并輸出預(yù)測(cè)結(jié)果。[9]
(1)數(shù)據(jù)處理
對(duì)原始樣本數(shù)據(jù)進(jìn)行預(yù)處理作為神經(jīng)網(wǎng)絡(luò)的輸入。
(2)確定BP網(wǎng)絡(luò)結(jié)構(gòu)
隨機(jī)初始化BP神經(jīng)網(wǎng)絡(luò)的權(quán)值和閾值
(3)初始種群進(jìn)行編碼
傳統(tǒng)二進(jìn)制編碼存在連續(xù)函數(shù)離散化的映射誤差,實(shí)數(shù)編碼更適合應(yīng)用于多維數(shù)值問(wèn)題,使得遺傳算法更加接近待解問(wèn)題空間,對(duì)于個(gè)體較多的神經(jīng)網(wǎng)絡(luò),用實(shí)數(shù)對(duì)每個(gè)個(gè)體編碼,獲得初始種群。
(4)適應(yīng)度函數(shù)
個(gè)體適應(yīng)度值F是指根據(jù)個(gè)體預(yù)測(cè)輸出與實(shí)際輸出之間的誤差絕對(duì)值和,計(jì)算公式為:
式中,n為網(wǎng)絡(luò)輸出節(jié)點(diǎn)數(shù);yi為網(wǎng)絡(luò)的第i個(gè)節(jié)點(diǎn)的實(shí)際輸出;oi為第i個(gè)節(jié)點(diǎn)的預(yù)測(cè)輸出;k為系數(shù)。
(5)選擇操作
確定隨機(jī)選擇個(gè)體的概率與其適應(yīng)度函數(shù)值成正比,遺傳算法選擇輪盤賭法(Roulette Wheel Selection):
其中Fi是第i個(gè)個(gè)體的適應(yīng)度值;k為系數(shù);N為種群個(gè)體數(shù)。
(6) 交叉操作
交叉是將上代中優(yōu)秀的基因組合傳遞至下一代,在兩個(gè)個(gè)體中隨機(jī)選取一個(gè)基因位置作為交叉位置,組成新的優(yōu)秀個(gè)體,產(chǎn)生新的尋優(yōu)空間[10]:
式中,b是[0,1]間的隨機(jī)數(shù)。
(7)變異操作
將變異算子作用于群體,提高遺傳算法局部隨機(jī)搜索能力,并保持種群的多樣性。選取第i個(gè)體的第j個(gè)基因αij進(jìn)行變異操作:
式中,γ2為隨機(jī)數(shù);g為網(wǎng)絡(luò)已迭代次數(shù);Gmax為網(wǎng)絡(luò)最多進(jìn)化次數(shù);αmax,αmin分別為基因αij的上界和下界;r為[0,1]間的隨機(jī)數(shù)。
(8)判斷網(wǎng)絡(luò)是否完成參數(shù)優(yōu)化
如果網(wǎng)絡(luò)預(yù)測(cè)結(jié)果不滿足期望誤差值和迭代次數(shù),則返回重復(fù)迭代,如果達(dá)到,則輸出最優(yōu)染色體。
(9)構(gòu)造訓(xùn)練網(wǎng)絡(luò)
優(yōu)化后的初始權(quán)重和閾值從GA算法部分獲得并分配給BP網(wǎng)絡(luò)并構(gòu)建網(wǎng)絡(luò)。
本次實(shí)驗(yàn)數(shù)據(jù)來(lái)源于遼寧省某高速公路2015年全年日交通量,共365組數(shù)據(jù),將每5組數(shù)據(jù)分為一組,獲得71組數(shù)據(jù),使用61組數(shù)據(jù)作為訓(xùn)練樣本,剩余10組作為測(cè)試樣本。
設(shè)置GA-BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)為4-6-1,即將神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)設(shè)置為3層,其中輸入層為4,輸出層1,隱含層5,共有4×5+5×1=25個(gè)權(quán)值,5+1=6個(gè)閾值。GA-BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)概率為0.1,隱層激勵(lì)函數(shù)用tan-sigmoid,輸出層的激勵(lì)函數(shù)是linear,訓(xùn)練函數(shù)是traingd.網(wǎng)絡(luò)中種群數(shù)目為10,遺傳迭代次數(shù)10,交叉概率為0.3,遺傳概率為0.1,誤差精度為0.001。
為了驗(yàn)證遺傳算法優(yōu)化BP神經(jīng)網(wǎng)絡(luò)(GA-BP)在交通量預(yù)測(cè)中的效果,使用相同網(wǎng)絡(luò)結(jié)構(gòu)的傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)對(duì)同一樣本數(shù)據(jù)做出預(yù)測(cè),使用平均相對(duì)誤差(MAPE),均方根誤差(RMSE)兩種評(píng)價(jià)指標(biāo)對(duì)遺傳算法BP神經(jīng)網(wǎng)絡(luò)(GA-BP)與傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果進(jìn)行評(píng)價(jià)和比較:
使用兩種預(yù)測(cè)模型進(jìn)行訓(xùn)練網(wǎng)絡(luò)并預(yù)測(cè),輸出結(jié)果見(jiàn)表1,圖2和圖3
表1 預(yù)測(cè)評(píng)價(jià)指標(biāo)對(duì)比
圖2 兩種神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果對(duì)比圖
圖3 兩種神經(jīng)網(wǎng)絡(luò)MAPE對(duì)比
從表1可以看出,GA-BP兩項(xiàng)評(píng)價(jià)指標(biāo)均優(yōu)于傳統(tǒng)BP算法,誤差較后者比有明顯下降,表明引入遺傳算法后提高了全局搜索能力,預(yù)測(cè)精度得到顯著提升。根據(jù)圖2可知,虛線代表的GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)交通量曲線更貼實(shí)際交通量的實(shí)線,與實(shí)際交通量的變化趨勢(shì)相符。圖3表明BP預(yù)測(cè)誤差有較大波動(dòng),而GA-BP的誤差曲線趨勢(shì)則較為平緩,由此可知由遺傳算法改進(jìn)的GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)值更貼近實(shí)際值,預(yù)測(cè)精度優(yōu)于傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)。
本文提出的基于GA-BP算法的交通量預(yù)測(cè)方法將BP網(wǎng)絡(luò)初始權(quán)重和閾值優(yōu)化引入生物進(jìn)化中的自然選擇和交叉變異算子。利用遺傳算法的全局搜索能力,尋找BP神經(jīng)網(wǎng)絡(luò)的最優(yōu)權(quán)值和閾值,有效地縮小了預(yù)測(cè)模型尋優(yōu)參數(shù)的取值范圍,使得優(yōu)化后的BP神經(jīng)網(wǎng)絡(luò)獲得更快的收斂速度從而提高預(yù)測(cè)精度。采用遼寧省某高速公路全年日交通量作為原始數(shù)據(jù),預(yù)測(cè)交通量,實(shí)驗(yàn)數(shù)據(jù)表明傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)結(jié)果相對(duì)誤差為13.17%,而GA-BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)相對(duì)誤差為6.81%,后者預(yù)測(cè)誤差較小在可接受范圍之內(nèi),而且精度更高更加貼近實(shí)際值,結(jié)果證明該預(yù)測(cè)算法具有更快的收斂速度以及更加準(zhǔn)確的預(yù)測(cè)結(jié)果,整體預(yù)測(cè)準(zhǔn)確度得到了提高,克服了傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)容易陷入局部最優(yōu)的缺點(diǎn),可以為交通預(yù)測(cè)、規(guī)劃等相關(guān)工作提供一定的參考價(jià)值。