薛 鵬,任鵬飛,劉守兵
(河南工程學(xué)院 電氣信息工程學(xué)院,河南 鄭州 451191)
機(jī)動(dòng)車保有量的激增和日益發(fā)達(dá)的交通路網(wǎng)不斷滿足著人們的生活需求,隨之而來的交通規(guī)劃成為該領(lǐng)域的研究熱點(diǎn)。短時(shí)交通流因其非線性和隨機(jī)性特征被描述為非線性時(shí)間序列問題[1-2],如何利用短時(shí)交通流數(shù)據(jù)準(zhǔn)確預(yù)測(cè)未來交通情況是亟待解決的關(guān)鍵問題。
神經(jīng)網(wǎng)絡(luò)因其并行處理能力強(qiáng)、規(guī)模大、自適應(yīng)學(xué)習(xí)能力強(qiáng)的特點(diǎn)在預(yù)測(cè)領(lǐng)域具有優(yōu)勢(shì),利用BP網(wǎng)絡(luò)、RBF網(wǎng)絡(luò)的方案顯示了網(wǎng)絡(luò)逼近方法的能力[3]。然而,神經(jīng)網(wǎng)絡(luò)算法因搜索方法單一而存在容易陷入局部極小值的問題,于是算法的融合修正經(jīng)??梢?。小波神經(jīng)網(wǎng)絡(luò)中引入粒子群搜索算法可彌補(bǔ)梯度下降法的不足,更容易得到全局最優(yōu)解[4-5]。陳曉利等[6]將神經(jīng)網(wǎng)絡(luò)與Adaboost算法結(jié)合,提出了準(zhǔn)確預(yù)測(cè)交通流量的改進(jìn)模型。此類智能算法用于短時(shí)交通流量預(yù)測(cè)問題時(shí)需要解決算法收斂速度慢和容易陷入局部最優(yōu)解的問題。
布谷鳥算法屬于迭代搜索智能算法,是以布谷鳥寄生繁殖為啟發(fā)、基于萊維飛行模式提出的。該算法具有結(jié)構(gòu)簡單、參數(shù)少、易收斂于全局最優(yōu)解等優(yōu)點(diǎn)[7-8],其中短距離和長距離交替行走強(qiáng)化了它的搜索能力。本研究將布谷鳥算法用于網(wǎng)絡(luò)權(quán)值的搜索以提高權(quán)值的收斂速度,并以最優(yōu)解確保網(wǎng)絡(luò)對(duì)經(jīng)驗(yàn)數(shù)據(jù)的逼近精度,采用優(yōu)化后的網(wǎng)絡(luò)對(duì)前期交通流量數(shù)據(jù)進(jìn)行學(xué)習(xí),對(duì)未來短時(shí)車流量進(jìn)行預(yù)測(cè),并基于MATLAB的實(shí)驗(yàn)結(jié)果驗(yàn)證了所得模型的有效性。
圖1 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Structure of BP neural network
BP神經(jīng)網(wǎng)絡(luò)具有適應(yīng)性強(qiáng)、容錯(cuò)性好的優(yōu)點(diǎn),其基本結(jié)構(gòu)如圖1所示。圖1中,x1,x2,…,xk表示BP神經(jīng)網(wǎng)絡(luò)的輸入,y1,y2,…,ym表示預(yù)測(cè)輸出,wij和wjk分別表示關(guān)鍵網(wǎng)絡(luò)層之間的連接權(quán)值矩陣。
從輸入層得到隱含層,有
(1)
式中:σj(·)為隱含層神經(jīng)元的活化函數(shù)。網(wǎng)絡(luò)的輸出可以表示為
(2)
基于寄生鳥類布谷鳥的借巢繁衍行為得到布谷鳥算法,該算法具有搜索效率高、不容易陷入局部最優(yōu)解的特點(diǎn)。目標(biāo)函數(shù)選擇平均絕對(duì)誤差函數(shù)
(3)
式中:yp(t)、yr(t)分別表示實(shí)驗(yàn)預(yù)測(cè)數(shù)據(jù)和實(shí)測(cè)數(shù)據(jù)。
表1 布谷鳥搜索算法流程Tab.1 Cuckoo algorithm search process
(4)
基于MATLAB軟件提供的神經(jīng)網(wǎng)絡(luò)工具箱,編程輔助實(shí)現(xiàn)交通流量數(shù)據(jù)學(xué)習(xí)及預(yù)測(cè)。測(cè)試BP神經(jīng)網(wǎng)絡(luò)設(shè)置3個(gè)輸入節(jié)點(diǎn)、6個(gè)隱層節(jié)點(diǎn)和1個(gè)輸出層節(jié)點(diǎn),其輸入為預(yù)測(cè)時(shí)間點(diǎn)中前3個(gè)時(shí)間點(diǎn)的交通流量,輸出為當(dāng)前時(shí)間點(diǎn)的交通流量預(yù)測(cè)值。
實(shí)驗(yàn)數(shù)據(jù)來源于復(fù)旦大學(xué)力學(xué)工程系的網(wǎng)絡(luò)共享數(shù)據(jù)平臺(tái),導(dǎo)入網(wǎng)站提供的鄭州市金水路高架監(jiān)測(cè)點(diǎn)數(shù)據(jù)作為測(cè)試樣本。測(cè)試樣本記錄了某日早上7:20—8:40共2 000個(gè)時(shí)間點(diǎn)的采樣數(shù)據(jù),將前1 800個(gè)數(shù)據(jù)點(diǎn)作為訓(xùn)練樣本用于BP網(wǎng)絡(luò)訓(xùn)練,利用訓(xùn)練好的網(wǎng)絡(luò)分兩組預(yù)測(cè)交通流量。由于網(wǎng)絡(luò)的單元差異可能導(dǎo)致預(yù)測(cè)誤差較大,故對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行歸一化預(yù)處理:
(5)
圖2是實(shí)測(cè)交通流量數(shù)據(jù),其中的數(shù)據(jù)分組用于網(wǎng)絡(luò)訓(xùn)練。從圖2中抽取用于一次網(wǎng)絡(luò)訓(xùn)練的數(shù)據(jù)示例見圖3。將布谷鳥算法的迭代學(xué)習(xí)次數(shù)上限設(shè)置為300,圖4給出了迭代搜索過程中目標(biāo)評(píng)價(jià)函數(shù)的動(dòng)態(tài)過程。由于算法搜索過程的隨機(jī)性,每次得到的結(jié)果并不完全相同,圖4中所示搜索過程的最終目標(biāo)函數(shù)值為 0.315。圖5給出了網(wǎng)絡(luò)輸出的預(yù)測(cè)交通流量和實(shí)測(cè)原始數(shù)據(jù)的對(duì)比結(jié)果,可見布谷鳥算法可實(shí)現(xiàn)快速收斂并避免陷入局部最優(yōu),通過對(duì)網(wǎng)絡(luò)權(quán)值的不斷更新實(shí)現(xiàn)了對(duì)原始數(shù)據(jù)的有效學(xué)習(xí)。
圖2 實(shí)測(cè)交通流量數(shù)據(jù)Fig.2 Actual traffic flow data
圖3 實(shí)測(cè)交通流量數(shù)據(jù)分組樣本Fig.3 Samples of actual traffic flow data
圖4 布谷鳥算法的迭代過程Fig.4 Iterative process of Cuckoo algorithm
圖5 網(wǎng)絡(luò)訓(xùn)練逼近結(jié)果Fig.5 Approximation results of the network
以萊維飛行進(jìn)行搜索具有明顯的隨機(jī)性。分析布谷鳥算法的效率,在上述參數(shù)環(huán)境下對(duì)比常見算法的實(shí)驗(yàn)數(shù)據(jù),用文獻(xiàn)[2]和文獻(xiàn)[6]中的PSO算法和GA-BP算法對(duì)本實(shí)驗(yàn)數(shù)據(jù)進(jìn)行預(yù)測(cè)學(xué)習(xí),迭代次數(shù)和目標(biāo)函數(shù)值的對(duì)比結(jié)果見表2。
表2 3種算法的迭代次數(shù)和目標(biāo)函數(shù)值Tab.2 The target function values of the three algorithms
表2中的實(shí)驗(yàn)數(shù)據(jù)表明:同樣以BP網(wǎng)絡(luò)為基礎(chǔ),標(biāo)準(zhǔn)PSO算法的訓(xùn)練結(jié)果不是很好,迭代次數(shù)過大且尋優(yōu)速度較慢;基于遺傳算法的GA-P方案明顯提高了搜索效率,但在迭代1 000次的尋優(yōu)搜索實(shí)驗(yàn)中出現(xiàn)目標(biāo)函數(shù)值下降不明顯的結(jié)果;以布谷鳥算法進(jìn)行搜索,迭代次數(shù)和目標(biāo)函數(shù)值優(yōu)化效果都有明顯提升。
圖6是利用訓(xùn)練好的網(wǎng)絡(luò)得到的兩組預(yù)測(cè)數(shù)據(jù),將其與原始?xì)w一化數(shù)據(jù)進(jìn)行對(duì)比,結(jié)果表明所給出的算法達(dá)到了快速、精確優(yōu)化神經(jīng)網(wǎng)絡(luò)權(quán)值的目的,可基于前期實(shí)測(cè)交通流數(shù)據(jù)預(yù)測(cè)未來短時(shí)交通流的變化。
圖6 預(yù)測(cè)值與實(shí)際值比較Fig.6 Comparison between predicted value and actual value
針對(duì)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)方法中算法收斂速度慢、容易陷入局部最優(yōu)解的問題,提出了基于布谷鳥算法的改進(jìn)預(yù)測(cè)模型,可借助算法的高效搜索能力實(shí)現(xiàn)對(duì)未來交通流的快速、準(zhǔn)確預(yù)測(cè)。實(shí)驗(yàn)與仿真結(jié)果表明: 布谷鳥算法長短結(jié)合的步長行進(jìn)方法使得網(wǎng)絡(luò)快速收斂,提高了基于經(jīng)驗(yàn)數(shù)據(jù)的訓(xùn)練效率和學(xué)習(xí)精度;所得模型能夠基于前期數(shù)據(jù)快速、準(zhǔn)確地預(yù)測(cè)未來短期內(nèi)的交通流變化趨勢(shì);布谷鳥算法在函數(shù)最優(yōu)解的搜索中具有一定優(yōu)勢(shì),該方法與新型網(wǎng)絡(luò)結(jié)構(gòu)的結(jié)合是值得探索的方向。