張青林 劉春玲
摘要:針對(duì)BP神經(jīng)網(wǎng)絡(luò)存在無(wú)法有效收斂最優(yōu)值問(wèn)題,構(gòu)建基于蟻群算法的優(yōu)化神經(jīng)網(wǎng)絡(luò)的公路客運(yùn)預(yù)測(cè)模型。該模型采用常見(jiàn)的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),算法采用的是一種新型的進(jìn)化算法——蟻群算法。然后以合肥市2012年公路客運(yùn)預(yù)測(cè)為實(shí)例,嘗試了蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)ACONN在客運(yùn)量預(yù)測(cè)中的應(yīng)用,結(jié)果表明蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)模型的預(yù)測(cè)精度比其他模型高。
關(guān)鍵詞:客運(yùn)量預(yù)測(cè);蟻群算法;神經(jīng)網(wǎng)絡(luò);ACONN模型;灰色預(yù)測(cè)
中圖分類(lèi)號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)06-1348-04
Prediction and Analysis of Hefei Highway Passenger Quantity Based on ACA-NN
ZHANG Qinq-lin,LIU Chun-ling
(Department of Information Engineering, Anhui Economic Management Institute, Hefei 230051,China)
Abstract: According to the defects of neural network, this paper puts forward neural network highway customer forecast method which based on colony algorithm optimization. This model is used common BP neural network structure, the algorithm is used is a new kind of evolutionary algorithm- ant colony algorithm. Finally, it takes
highway passenger transportation in hefei as an example, try ACONN ant colony neural network application in the passenger traffic forecast, results show that the ant colony neural network model's prediction precision is better than other models.
Key words: Passenger traffic forecast;ant colony algorithm;neural networks;ACONN model;gray prediction
隨著汽車(chē)保有量的增加,公路客運(yùn)量也隨之增加,公路客運(yùn)能力受到了極大的挑戰(zhàn)。如何有效利用現(xiàn)有工具來(lái)預(yù)測(cè)客運(yùn)量,滿(mǎn)足公路客運(yùn)管理和交通工程建設(shè),這是交通管理和建設(shè)部門(mén)面臨的一項(xiàng)重要工作任務(wù)。國(guó)內(nèi)外學(xué)者對(duì)預(yù)測(cè)模型進(jìn)行了大量詳盡的研究,其中AR模型、ARMA模型、ARIMA模型、Box-Jenkins方法、馬爾可夫方法、灰色系統(tǒng)方法及統(tǒng)計(jì)回歸方法等建模方法比較常用[1~2]。這些方法很多是線性的,無(wú)法逼近真實(shí)的歷史數(shù)據(jù);也有利用原始BP神經(jīng)網(wǎng)絡(luò)方法來(lái)預(yù)測(cè),雖然多層BP網(wǎng)絡(luò)可以實(shí)現(xiàn)任意可實(shí)現(xiàn)的線性和非線性函數(shù)的映射,但是在訓(xùn)練過(guò)程中易陷入局部最小的情況,所以這些預(yù)測(cè)方法的準(zhǔn)確率還不是很高。該文針對(duì)神經(jīng)網(wǎng)絡(luò)存在無(wú)法有效收斂最優(yōu)值問(wèn)題,構(gòu)建基于蟻群算法優(yōu)化的神經(jīng)網(wǎng)絡(luò)的公路客運(yùn)預(yù)測(cè)模型[3]。經(jīng)過(guò)對(duì)2012年合肥公路客運(yùn)量進(jìn)行預(yù)測(cè)分析,掌握各個(gè)時(shí)段客運(yùn)量的分布,有利于相關(guān)部門(mén)作出相應(yīng)決策,應(yīng)對(duì)客運(yùn)高峰期帶來(lái)的種種壓力,更好地滿(mǎn)足廣大人民群眾的需求, 以最合理的人力和財(cái)力的投入,來(lái)獲得最大經(jīng)濟(jì)效率,達(dá)到最好的社會(huì)效果。
1 蟻群算法
蟻群算法(Ant Colony Algorithm,簡(jiǎn)稱(chēng)ACA)是人們受到對(duì)自然界中真實(shí)的螞蟻群體行為啟發(fā)而提出的一種仿生優(yōu)化算法。屬于隨機(jī)搜索算法,該算法是在1991年召開(kāi)的第一界歐洲人工生命會(huì)議上,由Dorigo M等人第一次提出的關(guān)于蟻群算法的基本模型[4]。Dorigo M等人通過(guò)模擬螞蟻搜索食物的過(guò)程(就是怎樣去找到蟻穴到食物源的最短路徑,前提是在個(gè)體之間相互合作的情況下)來(lái)求解TSP問(wèn)題。
該算法以前主要解決一維的靜態(tài)優(yōu)化問(wèn)題,發(fā)展到現(xiàn)在用于解決多維動(dòng)態(tài)組合優(yōu)化的問(wèn)題,在多種研究領(lǐng)域,已經(jīng)得到廣泛應(yīng)用。蟻群算法目前軟件及硬件的實(shí)現(xiàn)上都取得了突破性的研究進(jìn)展,既具有深刻的學(xué)術(shù)思想,又具有廣闊的發(fā)展前景。
以TSP為例,基本蟻群算法的程序結(jié)構(gòu)流程圖如圖1。
2 蟻群算法與神經(jīng)網(wǎng)絡(luò)NN(Neural Network)的融合
2.1 基本思想
針對(duì)反向傳播BP(Back Propagation)算法容易陷入局部極小的不足,采用蚊群優(yōu)化算法ACO(Ant Colony Optimization)訓(xùn)練方法。[5]蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)訓(xùn)練過(guò)程就是在實(shí)數(shù)權(quán)值組合中,找到一組最優(yōu)的,使得期望結(jié)果與輸出結(jié)果之間的誤差達(dá)到最小,而蟻群算法正是尋找這樣的最優(yōu)權(quán)值組合的不錯(cuò)選擇。
2.2 構(gòu)建蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)ACONN系統(tǒng)
應(yīng)用蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)ACONN(Ant Colony Optimization Neural Network)系統(tǒng)預(yù)測(cè)的框圖2如下,首先對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理,再建立原始的神經(jīng)網(wǎng)絡(luò),再次利用蟻群算法來(lái)優(yōu)化神經(jīng)網(wǎng)絡(luò)的權(quán)值、閾值構(gòu)建一個(gè)性能完好的ACONN系統(tǒng),最后利用優(yōu)化好的ACONN系統(tǒng)來(lái)預(yù)測(cè),輸出預(yù)測(cè)數(shù)據(jù)。
圖2 ACONN系統(tǒng)預(yù)測(cè)圖
3 合肥客運(yùn)量預(yù)測(cè)的蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)模型構(gòu)建
3.1 樣本采集與數(shù)據(jù)預(yù)處理
樣本選擇了以合肥市歷年的客運(yùn)量為樣本數(shù)據(jù),月為單位的訓(xùn)練樣本選擇了2011年每月的數(shù)據(jù),預(yù)測(cè)2012年中每月的客運(yùn)總量。
由于BP神經(jīng)網(wǎng)絡(luò)要求輸入的數(shù)據(jù)范圍一般在(0,1)。因此對(duì)樣本數(shù)據(jù)進(jìn)行歸一化處理。其公式為[6]:
[Y=X-XminXmax-Xmin]
其中Xmax取一個(gè)比較大的值,保證預(yù)測(cè)年的數(shù)據(jù)小于該數(shù)值, Xmin取一個(gè)小于樣本數(shù)據(jù)序列中最小值的值,保證歸一化后的數(shù)據(jù)不太接近于0。
3.2 預(yù)測(cè)方式選擇及ACONN的訓(xùn)練樣本設(shè)計(jì)
我們知道,目前我們基于蟻群優(yōu)化的神經(jīng)網(wǎng)絡(luò)的客運(yùn)預(yù)測(cè)模型,它是屬于一種數(shù)據(jù)驅(qū)動(dòng)的方法,也就是說(shuō),我們?nèi)ダ媚壳吧窠?jīng)網(wǎng)絡(luò)的一種非線性的特性去逼近一個(gè)時(shí)間序列,這樣通過(guò)神經(jīng)網(wǎng)絡(luò)的清晰邏輯關(guān)系,并且利用過(guò)去時(shí)刻的值,去表達(dá)未來(lái)某一時(shí)刻的值。我們的人工神經(jīng)網(wǎng)絡(luò)預(yù)測(cè),目前可以分為單變量時(shí)間序列預(yù)測(cè)和多變量時(shí)間序列預(yù)測(cè)[7]。所以說(shuō)無(wú)論是單變量時(shí)間序列預(yù)測(cè)還是多變量時(shí)間序列預(yù)測(cè),都可以使用我們平時(shí)的常用的方法,共有三種是:?jiǎn)尾筋A(yù)測(cè),滾動(dòng)預(yù)測(cè),多步預(yù)測(cè)[8]。
現(xiàn)采用的是滾動(dòng)預(yù)測(cè)方式,在訓(xùn)練樣本設(shè)計(jì)時(shí)需要根據(jù)網(wǎng)絡(luò)的結(jié)構(gòu)。以月為單位預(yù)測(cè),采用2個(gè)輸入,即連續(xù)兩年的同月份2個(gè)月數(shù)據(jù)作為輸入,下一年同月份作為輸出。設(shè)有歸一化的樣本集 X(t)(t=1,2,…,n),選擇一步預(yù)測(cè)時(shí),選取個(gè)m輸入,1個(gè)輸出,可組成如下的訓(xùn)練組對(duì):
表1
[輸入數(shù)據(jù) 期望輸出\&X(1),X(2),…,X(m) X(m+1)\&X(2),X(3),…,X(m+1) X(m+2)\&…… ……\&X(n-m),X(n-m+1),…,X(n-1) X(n)\&]
3.3 蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)與參數(shù)
現(xiàn)在我們所熟知的蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)采用具有一個(gè)隱含層的三層BP網(wǎng)絡(luò)結(jié)構(gòu)。由于采用年和月為單位預(yù)測(cè),因此根據(jù)需要在輸入層、隱含層上有差別,具體的各層神經(jīng)元個(gè)數(shù)在年與月的預(yù)測(cè)中有具體的設(shè)置。目前,我們可以去根據(jù)萬(wàn)能逼近定理,如果有一個(gè)三層的BP網(wǎng)絡(luò),它可以以任意的精度去逼近一個(gè)連續(xù)函數(shù)。這樣,也就是說(shuō)可以采用具有一個(gè)隱含層的三層BP網(wǎng)絡(luò)結(jié)構(gòu)。在網(wǎng)絡(luò)模型結(jié)構(gòu)確定的基礎(chǔ)上設(shè)定網(wǎng)絡(luò)參數(shù),網(wǎng)絡(luò)的連接數(shù)目S,蟻群算法參數(shù)選為ρ=0.7,Ant=40,網(wǎng)絡(luò)權(quán)值參數(shù)隨機(jī)值選值N=30, 網(wǎng)絡(luò)權(quán)值參數(shù)隨機(jī)值范圍為[-3,3],訓(xùn)練次數(shù)為500次學(xué)習(xí),像Q、S等參數(shù)根據(jù)年和月的預(yù)測(cè)會(huì)有所不同,在后續(xù)有具體設(shè)置。
3.4 預(yù)測(cè)分析
現(xiàn)在用蟻群優(yōu)化神經(jīng)網(wǎng)絡(luò)ACONN、反向傳播神經(jīng)網(wǎng)絡(luò)BPNN、灰色預(yù)測(cè)GM(1,1)三種模型分別對(duì)來(lái)合肥市客運(yùn)量進(jìn)行預(yù)測(cè)[9-10]。ACONN是通過(guò)蟻群算法找到最優(yōu)的初始權(quán)值,從而固定了初始權(quán)值,因此每次的預(yù)測(cè)值幾乎趨于固定;可是目前神經(jīng)網(wǎng)絡(luò)中,我們知道它的初始權(quán)值的選取,都是具有隨機(jī)性的,所有我們?nèi)ナ褂孟嗤臄?shù)據(jù),去進(jìn)行多次預(yù)測(cè)時(shí)時(shí)候,得到的預(yù)測(cè)結(jié)果就不會(huì)完全相同。因此,為了使預(yù)測(cè)更具有一定的普遍性,ACONN與BPNN可以采取一樣的網(wǎng)絡(luò)結(jié)構(gòu),同時(shí)我們選取10次預(yù)測(cè)的平均值作為最終的預(yù)測(cè)結(jié)果。
將ACONN、BPNN、GM(1,1)模型分別作預(yù)測(cè),將預(yù)測(cè)結(jié)果進(jìn)行反歸一化,預(yù)測(cè)結(jié)果如下表:
表2
將ACONN、BPNN、GM(1,1)模型預(yù)測(cè)合肥市客運(yùn)量結(jié)果用圖形表示,可以更直觀看到它們之間預(yù)測(cè)的精度。具體預(yù)測(cè)結(jié)果如圖3。
圖3 ACONN、BPNN、GM(1,1)模型預(yù)測(cè)結(jié)果圖
從每幅圖形可以直觀地看出ACONN的數(shù)據(jù)在實(shí)際值附近有很小的波動(dòng),BPNN數(shù)據(jù)值比ACONN的在實(shí)際值附近波動(dòng)要大些,而GM(1,1)數(shù)據(jù)只有中間很小區(qū)間比較精確一點(diǎn),而數(shù)據(jù)的開(kāi)始和末端狀態(tài)都表現(xiàn)出發(fā)散,其數(shù)據(jù)預(yù)測(cè)精度不高。所以比較之,ACONN很明顯表現(xiàn)出很好的優(yōu)勢(shì),預(yù)測(cè)數(shù)據(jù)比較穩(wěn)定。
4 結(jié)束語(yǔ)
ARIMA模型、Box-Jenkins方法、馬爾可夫方法、灰色系統(tǒng)方法及統(tǒng)計(jì)回歸方法等,這些預(yù)測(cè)方法很多是線性的,無(wú)法逼近真實(shí)的歷史數(shù)據(jù)。利用原始BP神經(jīng)網(wǎng)絡(luò)方法來(lái)預(yù)測(cè),我們現(xiàn)在知道,雖然多層的BP網(wǎng)絡(luò)能去實(shí)現(xiàn)任意一個(gè)可實(shí)現(xiàn)的線性以及非線性函數(shù)的映射,但是在訓(xùn)練過(guò)程中易陷入局部最小的情況,所以這些預(yù)測(cè)方法的準(zhǔn)確率還不是很高。經(jīng)過(guò)分析蟻群算法在神經(jīng)網(wǎng)絡(luò)中應(yīng)用的可行性后,提出一種基于蟻群算法和神經(jīng)網(wǎng)絡(luò)相結(jié)合的新型預(yù)測(cè)方法,該方法可以有效地避免原始BP神經(jīng)網(wǎng)絡(luò)存在的問(wèn)題和單一預(yù)測(cè)方法精確度不高的缺陷,為預(yù)測(cè)提供了新的途徑。
參考文獻(xiàn):
[1] 翁鋼民,鄭竹葉,劉洋,等.基于GM-Markov 模型的旅游客源預(yù)測(cè)[J].燕山大學(xué)學(xué)報(bào),2008,9(2):109-112.
[2] 李松,劉力軍,郭海玲.短時(shí)交通流混沌預(yù)測(cè)方法的比較[J].系統(tǒng)工程,2009,27(9):60-64.
[3] 董超俊,劉智勇.多層混沌神經(jīng)網(wǎng)絡(luò)及其在交通量預(yù)測(cè)中的應(yīng)用[J].系統(tǒng)仿真學(xué)報(bào),2007,19(10):101-104.
[4] 張維存,鄭丕諤,吳曉丹.蟻群遺傳算法求解能力約束的柔性作業(yè)車(chē)間調(diào)度問(wèn)題[J].計(jì)算機(jī)集成制造系統(tǒng),2007,13(2):333-337.
[5] 萬(wàn)李,楊杰.小波神經(jīng)網(wǎng)絡(luò)在短時(shí)交通流量預(yù)測(cè)中的應(yīng)用[J].計(jì)算機(jī)仿真,2012,29(9):352-355.
[6] 方琴,李永前.K 近鄰短期交通流預(yù)測(cè)[J].重慶交通大學(xué)學(xué)報(bào):自然科學(xué)版,2012,31(4):829-831.
[7] 吳寶春,鄭蕊蕊,李敏,楊亞寧.基于遺傳灰色GM(1,1,ρ)模型的短時(shí)交通流量預(yù)測(cè)[J].電子設(shè)計(jì)工程,2012,20(13):165-167.
[8] 郭杰,丁镠,朱超余.灰色預(yù)測(cè)模型的系統(tǒng)動(dòng)力學(xué)仿真[J].電子設(shè)計(jì)工程,2011,19(14):4-7.
[9] 李松,劉力軍,解永樂(lè).遺傳算法優(yōu)化BP 神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流混沌預(yù)測(cè)[J].控制與決策,2011,26(10):1581-1585.
[10] 張玉梅,曲仕茹,溫凱歌.基于混沌和RBF神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流量預(yù)測(cè)[J].系統(tǒng)工程,2007,25(11):30-34.