李會超 李 鴻 張 博
(長沙理工大學電氣與信息工程學院 湖南 長沙 410004)
在城市化高速推進的過程中,交通問題愈發(fā)成為制約城市發(fā)展的一個關鍵因素。作為一種能有效緩解城市交通問題的手段,智能交通系統(tǒng)ITS(Intelligent Transportation Systems)已經(jīng)普遍應用于中大型城市交通系統(tǒng)中。短時交通流量的預測是交通控制與交通誘導等子系統(tǒng)的前提和關鍵,因此短時交通流量預測的準確性和實時性始終是學者研究ITS的重點[1]。
微觀層面上將間隔15 min以內(nèi)的車流量預測稱之為短時交通流量預測。較早的預測模型如移動平均模型、歷史平均模型,其大量線性評估的理論基礎不需要建立精確的數(shù)學模型。但交通流量的時變性、非線性和高復雜性使得較早模型對交通流量的預測存在很大誤差。目前,廣泛應用的短時交通流量預測模型主要有以下三種:時間序列模型、非參數(shù)回歸模型和神經(jīng)網(wǎng)絡模型[2]。其中神經(jīng)網(wǎng)絡因其良好的非線性品質和自組織學習能力在預測領域得到廣泛應用,典型的代表就是小波神經(jīng)網(wǎng)絡[3]。
在1992年,Zhang等[4]提出了小波神經(jīng)網(wǎng)絡WNN(Wavelet Neural Network),隨后便成為了熱門的建模分析方法。小波神經(jīng)網(wǎng)絡既繼承了BP神經(jīng)網(wǎng)絡的網(wǎng)絡結構,又結合了小波分析理論,用小波基函數(shù)代替原有網(wǎng)絡中隱含層節(jié)點的Sigmoid函數(shù)進行函數(shù)映射,改變了神經(jīng)網(wǎng)絡對非線性模型擬合的基函數(shù)[5]。小波神經(jīng)網(wǎng)絡綜合了小波分析和神經(jīng)網(wǎng)絡在處理非線性問題上的優(yōu)勢,很好地解決了BP神經(jīng)網(wǎng)絡結構設計的盲目性和易陷入局部最優(yōu)的問題[6]。
小波神經(jīng)網(wǎng)絡相對于其他網(wǎng)絡雖然具有更好的學習能力,但是小波參數(shù)初值設定直接影響網(wǎng)絡的逼近能力,如果網(wǎng)絡參數(shù)確定不好,將造成如下三種現(xiàn)象:1) 易陷入局部最優(yōu),誤差始終無法達到誤差限;2) 收斂速度慢,增加算法的搜索時間;3) 引起誤差曲線震蕩,不能保證誤差一直趨于最小。 因此,學者提出不少改進算法,文獻[7-8]采用粒子群算法優(yōu)化WNN,但面臨粒子群算法易早熟和局部尋優(yōu)能力差等缺點;文獻[9]采用蟻群算法優(yōu)化WNN,但面臨蟻群算法全局搜索能力差,計算量大等缺點。鑒于遺傳算法有著較好的全局搜索能力,本文采用遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡的初始參數(shù)。
小波神經(jīng)網(wǎng)絡分為松散型與融合型兩類,前者將小波分析作為神經(jīng)網(wǎng)絡的前置手段,對網(wǎng)絡輸入初步優(yōu)化,使得信息便于神經(jīng)網(wǎng)絡的處理,但這類WNN并未改變隱含層的傳遞函數(shù),依然存在神經(jīng)網(wǎng)絡的固有缺陷;后者采用小波元替代神經(jīng)元,用小波函數(shù)的伸縮、平移參數(shù)替代輸入層到隱含層的權值及隱含層閾值,是小波和神經(jīng)網(wǎng)絡的直接融合。本文研究采用融合性WNN,其網(wǎng)絡拓撲結構如圖1所示。
圖1 融合性小波神經(jīng)網(wǎng)絡拓撲結構圖
圖1中各個字母代表含義如下:
x1,x2,…,xM:輸入層數(shù)據(jù);
wj,k:輸入層到隱含層的權值參數(shù);
ψa,b(x):小波基函數(shù),本文采用Morlet函數(shù),其表達式如下:
(1)
a、b分別為小波基函數(shù)的伸縮參數(shù)和平移參數(shù);
wi,j:隱含層到輸出層的權值參數(shù);
σ(I-t):輸出層Sigmoid函數(shù),其表達式如下:
(2)
I、t分別為輸出的輸入和閾值。
y1,y2,…,yN:輸出層數(shù)據(jù)。
為求得WNN的穩(wěn)定結構,首先借助訓練集數(shù)據(jù)進行學習,其次借助測試集數(shù)據(jù)對網(wǎng)絡結構驗證。在學習過程的第一階段,將經(jīng)隱含層處理的樣本數(shù)據(jù)作為輸出向前傳播,然后與期望輸出對比,若不匹配,則進入第二階段。此階段將輸出誤差以某種形式反向傳至各層神經(jīng)元,從而獲取調整各個神經(jīng)元權值的誤差信號。經(jīng)過兩個階段重復迭代,修正WNN網(wǎng)絡的參數(shù)。在訓練中,以輸出誤差限定值或設定的迭代次數(shù)作為終止條件。整體思想如以下偽代碼所示:
While不滿足終止條件 {
遍歷訓練集中的每個樣本:
#1 將每個樣本輸入沿著網(wǎng)絡前向傳播計算
輸入層到隱含層:
隱含層輸入表達式:
(3)
隱含層輸出表達式:
(4)
隱含層到輸出層:
輸出層輸入表達式:
(5)
輸出層輸出表達式:
yn=sigmoid(In-tn)
(6)
#2 使用誤差項后項傳播
誤差函數(shù):
(7)
輸出層權重更新表達式:
(8)
輸出層閾值調整表達式:
(9)
隱含層權值調整表達式:
(10)
伸縮參數(shù)調整表達式:
(11)
平移參數(shù)調整表達式:
(12)
式(8)-式(12)中η均為小波神經(jīng)網(wǎng)絡的學習效率。
}
遺傳算法GA(Genetic Algorithm)是借鑒生物界優(yōu)勝劣汰的進化規(guī)律演化而來的一種并行隨機搜索算法,其主要思想是把問題參數(shù)編碼為染色體,對染色體進行一系列運算。即由選擇算子獲得優(yōu)良個體遺傳給下一代;利用交叉算子進行模式重組;利用變異算子進行模式突變。經(jīng)過循環(huán)這些遺傳操作,種群向有利的方向進化,最終得到所求問題最優(yōu)解。遺傳算法的隨機搜索能力,使其能夠避免陷入局部最優(yōu),且有著較好的收斂速度,可以在小波參數(shù)優(yōu)化問題上充分發(fā)揮優(yōu)勢。
遺傳算法優(yōu)化的主要要素:
(1) 編碼設置 由于待優(yōu)化參數(shù)較多,文中遺傳算法采用實數(shù)編碼,通過對種群中具有某種形式的個體進行遺傳操作,獲取群體中最優(yōu)個體,然后通過解碼得到網(wǎng)絡最佳參數(shù)。
(2) 適應度函數(shù) 遺傳算法在迭代過程中將適應度函數(shù)作為個體優(yōu)劣的評價依據(jù),其評估結果可直接作為選擇算子的依據(jù),不需要外部信息。本文中適應度函數(shù)確定為:
(13)
式中:E是小波神經(jīng)網(wǎng)絡的誤差函數(shù)。
(3) 遺傳操作 遺傳操作是遺傳算法的核心,其目的是通過逐代優(yōu)化獲得問題最優(yōu)解,包括三個基本遺傳算子:選擇、交叉、變異。
選擇算子,在迭代過程中選擇優(yōu)質的個體,淘汰劣質的個體,本文采用基于適應度比例選擇策略的輪盤賭法。
交叉算子,選擇操作后的新一代群體,按一定的概率在兩兩之間進行交叉操作。交叉概率PC的大小將影響算法的全局搜索能力,一般較大的交叉概率可以促進種群進化。
變異算子,隨機改變種群個體編碼串上的值,即某個個體的個別基因發(fā)生0-1反轉。變異操作按一定的概率Pm進行,其目的一方面是使算法具有局部搜索能力,另一方面是保持群體多樣性,防止早熟現(xiàn)象的發(fā)生。
利用遺傳算法對網(wǎng)絡權值優(yōu)化的全局搜索能力與神經(jīng)網(wǎng)絡良好的逼近能力,可以對復雜的短時交通流量建模,克服了傳統(tǒng)小波神經(jīng)網(wǎng)絡訓練時易陷入局部極值的弊端。遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡的原理如圖2所示。
圖2 遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡流程圖
算法的基本步驟如下:
Step1設種群規(guī)模為M。隨機生成初始種群N=(N1,N2,…,NM),采用實數(shù)編碼對個體Ni編碼。
Step2用Step1中的種群N進行訓練,此時的WNN參數(shù)由初始化獲得。
Step3計算種群N中每個個體的適應度值。若滿足終止條件則跳至Step6,不滿足則執(zhí)行Step4。
Step4對于適應度大的個體,選擇其中一部分直接繼承給下一代,同時將遺傳操作后產(chǎn)生的最差個體用父代適應度最大的個體替代。
Step5對當前一代群體進行交叉和變異等遺傳操作,產(chǎn)生下一代群體,轉Step3。
Step6循環(huán)結束,將最后一代群體中最優(yōu)個體的解碼還原值作為WNN的初始參數(shù)。
Step7采用Step6獲取的最優(yōu)參數(shù)建立短時交通流量預測模型。
采集長沙市某路口連續(xù)5天的地磁車流量數(shù)據(jù)作為實驗樣本,每15 min統(tǒng)計一次交通流量數(shù)據(jù),共得到480個實驗數(shù)據(jù),并取其中384個數(shù)據(jù)作為訓練集,剩余96個數(shù)據(jù)作為測試集。
為評價GA-WNN算法的性能,仿真實驗以未經(jīng)優(yōu)化的WNN算法作為對比模型,以E、MAE、RMSE、MAPE作為評價指標,計算公式如下:
(14)
(15)
(16)
(17)
遺傳算法迭代次數(shù)為120次,交叉概率Pc=0.9,變異概率Pm=0.05;GA-WNN及WNN網(wǎng)絡模型參數(shù)設置:學習率為0.08,訓練次數(shù)為100次,尋優(yōu)次數(shù)為20次。圖3-圖6為本實驗在MATLAB環(huán)境下的仿真結果,表1為兩種預測模型各項評價指標。
圖3 遺傳算法迭代誤差進化曲線圖
圖4 預測模型迭代訓練誤差曲線圖
圖5 WNN與GA-WNN預測誤差圖
圖6 WNN與GA-WNN預測結果
評價指標算法模型MAERMSEMAPEWNN5.458 36.265 08.66%GA-WNN4.791 75.588 37.79%
如圖3所示,隨著遺傳迭代的進行,誤差在逐漸縮小,當進行至72次時,網(wǎng)絡趨于穩(wěn)定。迭代完成后,保存網(wǎng)絡,此時獲得小波神經(jīng)網(wǎng)絡初始參數(shù)值。如圖4所示,WNN網(wǎng)絡在迭代60次時趨于穩(wěn)定,而GA-WNN網(wǎng)絡在迭代進行至15次時已趨于穩(wěn)定,表明GA-WNN預測模型收斂速度明顯優(yōu)于WNN。由圖5可知,優(yōu)化后的算法可將預測誤差控制在一個相對較小的范圍內(nèi)波動,并且WNN模型Emax=15,而GA-WNN模型Emax=12。由圖6可知,WNN與GA-WNN雖整體上都能反映短時交通流量變化趨勢,但后者明顯具有更好的擬合效果。如表1所示,后者各項評價指標均小于前者,結合圖6,表明GA-WNN模型對短時交通流量具有更高的預測精度。
綜合分析可知,本文提出的基于遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡的預測模型對于復雜的短時交通流量具有良好的預測精度,能較好地反映交通流量的走勢,有著良好的實用價值。
本文針對短時交通流量的特性,建立了小波神經(jīng)網(wǎng)絡預測模型,并就小波神經(jīng)網(wǎng)絡收斂速度慢,易陷入局部極值的缺點,提出了用遺傳算法優(yōu)化小波神經(jīng)網(wǎng)絡參數(shù)。仿真結果表明,該方法具有學習速率快、逼近能力強和全局尋優(yōu)等優(yōu)點,對短時交通流量的預測具有更高的精度。