姚潔, 邱勁
1. 福州外語(yǔ)外貿(mào)學(xué)院 大數(shù)據(jù)學(xué)院, 福州 350202; 2. 福建省高速公路集團(tuán)有限公司 福州管理分公司, 福州 350202
隨著經(jīng)濟(jì)的發(fā)展, 中國(guó)已經(jīng)成為世界上最大的人力和物資流動(dòng)國(guó)家, 2010-2019年全國(guó)公路里程由400.82萬(wàn)公里增長(zhǎng)到501.25萬(wàn)公里, 年復(fù)合增長(zhǎng)率為2.5%, 交通問(wèn)題已經(jīng)成為影響社會(huì)發(fā)展的關(guān)鍵因素. 隨著機(jī)動(dòng)車(chē)數(shù)量日益增多, 擁堵問(wèn)題、 交通事故、 能耗問(wèn)題、 環(huán)境問(wèn)題已經(jīng)成為社會(huì)痛點(diǎn)問(wèn)題. 因此, 能夠預(yù)測(cè)道路交通流量, 并對(duì)道路進(jìn)行實(shí)時(shí)疏導(dǎo)、 路網(wǎng)規(guī)劃建設(shè)有著至關(guān)重要的作用. 道路交通是一個(gè)復(fù)雜的系統(tǒng), 呈現(xiàn)出非線性、 隨機(jī)性和動(dòng)態(tài)性的特征. 眾多學(xué)者紛紛聚焦該領(lǐng)域, 提出了許多預(yù)測(cè)方法. 比如宮同偉等[1]以新浪微博簽到數(shù)據(jù)為基礎(chǔ), 運(yùn)用核密度分析法和分類統(tǒng)計(jì)法, 揭示天津市軌交站區(qū)個(gè)體行為的時(shí)應(yīng)變化特征, 歸納軌交站區(qū)個(gè)體行為的空間聚集模式. Williams等[2]、 李建森等[3]、 李靜嫻等[4]提出了移動(dòng)平均模型、 回歸模型等方法, 而這些模型多是解決先行問(wèn)題, 針對(duì)道路交通的非線性系統(tǒng)預(yù)測(cè)效果不佳. 為了更好地模擬交通流量中的非線性時(shí)空問(wèn)題, 機(jī)器學(xué)習(xí)的方法被廣泛應(yīng)用其中, 如支持向量機(jī)算法和神經(jīng)網(wǎng)絡(luò)算法. 姚智勝等[5]、 朱永強(qiáng)等[6]、 Toan等[7]、 鄭義彬等[8]提出了支持向量回歸機(jī)的短時(shí)交通流量預(yù)測(cè), 然而當(dāng)二次規(guī)劃求解涉及到M階矩陣的計(jì)算時(shí), 如果M(M是樣本數(shù)量)很大, 將耗費(fèi)大量的機(jī)器內(nèi)存和運(yùn)算時(shí)間, 在此基礎(chǔ)上郭萌等[9]、 羅山[10]、 張帆[11]提出神經(jīng)網(wǎng)絡(luò)算法更適合于大數(shù)據(jù)非線性系統(tǒng)的預(yù)測(cè). 但該模型也存在不足, 比如收斂慢、 易陷入局部最優(yōu). 針對(duì)這些問(wèn)題, 張健等[12]提出了增加動(dòng)量項(xiàng)來(lái)提高收斂速度, 但BP神經(jīng)網(wǎng)絡(luò)初始的權(quán)值和閾值是隨機(jī)的, 不同初始值對(duì)預(yù)測(cè)結(jié)果影響較大. 張春生等[13]、 黃承鋒等[14]、 王小凡等[15]、 黃富程等[16]采用遺傳算法來(lái)優(yōu)化BP神經(jīng)網(wǎng)絡(luò)的初始權(quán)值和閾值, 通過(guò)選擇、 交叉和變異操作找到最優(yōu)適應(yīng)度值, 再將得到的權(quán)值和閾值賦給BP神經(jīng)網(wǎng)絡(luò), 最后使用反向插播進(jìn)行訓(xùn)練. 然而, 遺傳算法對(duì)初始種群依賴性較高, 不同的初始種群預(yù)測(cè)結(jié)果也不同, 因此很容易陷入局部極值. 蔡翠翠等[17]、 董海等[18]、 張德干等[19]采用粒子群算法來(lái)改進(jìn)BP神經(jīng)網(wǎng)絡(luò)初始的權(quán)值和閾值, 但同樣局部尋優(yōu)能力不足, 算法易陷入早收斂.
交通流量的預(yù)測(cè)主要服務(wù)于道路協(xié)調(diào)管控和后期建設(shè)規(guī)劃, 如果僅僅以短時(shí)來(lái)定量預(yù)測(cè)流量值往往會(huì)造成在某個(gè)時(shí)段管控的頻繁調(diào)整, 且在交通流量預(yù)測(cè)過(guò)程中存在不定性、 周期性、 非線性的特點(diǎn). 針對(duì)上述文獻(xiàn)的不足, 本文提出采用群體智能優(yōu)化算法的麻雀優(yōu)化算法來(lái)改進(jìn)BP神經(jīng)網(wǎng)絡(luò)算法, 以期達(dá)到高擬合度流量預(yù)測(cè)的目的. 本文所提方案主要工作有: ① 采用麻雀優(yōu)化算法對(duì)BP神經(jīng)網(wǎng)絡(luò)算法的初始權(quán)值和閾值進(jìn)行優(yōu)化, 降低局部最優(yōu)概率, 提高預(yù)測(cè)精度、 收斂時(shí)效. ② 根據(jù)交通的波動(dòng)規(guī)律提出分組區(qū)間預(yù)測(cè), 不僅提高交通流量預(yù)測(cè)的準(zhǔn)確性, 并且波動(dòng)區(qū)間可以實(shí)時(shí)調(diào)整, 為智能交通流量預(yù)測(cè)提供更有利的信息.
群體智能優(yōu)化算法是一種建立在概率理論基礎(chǔ)上的隨機(jī)搜索算法, 主要模擬了生物群體在進(jìn)化過(guò)程中獨(dú)特的行為和生存方式, 比如模擬昆蟲(chóng)、 鳥(niǎo)群等群體的覓食行為, 群體間通過(guò)某種合作方式去尋找食物, 并且通過(guò)交流能夠更快地得到更多的食物, 從這類群體行為中抽象出的一種算法就稱之為群體智能優(yōu)化算法.
群體智能優(yōu)化算法由Beni等[20]1989年首次提出, Colorni等[21]1991年提出蟻群算法, Smets等[22]1994年提出粒子群優(yōu)化算法, 開(kāi)啟了群體智能優(yōu)化算法研究的熱潮. 群體智能優(yōu)化算法能夠從全局上解決最優(yōu)化問(wèn)題, 其去中心性的特點(diǎn), 使其在魯棒性、 自組織性、 靈活性上受到越來(lái)越多的認(rèn)可, 近幾年被廣泛用于工程預(yù)測(cè)、 圖像檢索和特征選擇等領(lǐng)域. 目前常見(jiàn)的群體智能優(yōu)化算法有蟻群優(yōu)化算法、 粒子優(yōu)化算法、 細(xì)菌覓食優(yōu)化算法、 布谷鳥(niǎo)優(yōu)化算法、 蝙蝠算法、 灰狼優(yōu)化算法、 鯨魚(yú)優(yōu)化算法、 騎手優(yōu)化算、 麻雀優(yōu)化算法等.
李雅麗等[23]對(duì)上述優(yōu)化算法進(jìn)行比較, 將單模態(tài)測(cè)試函數(shù)、 多模態(tài)測(cè)試函數(shù)、 固定維數(shù)的多模態(tài)基準(zhǔn)函數(shù)等標(biāo)準(zhǔn)基準(zhǔn)測(cè)試函數(shù)進(jìn)行比較實(shí)驗(yàn), 從收斂速度、 精度、 穩(wěn)定性等角度進(jìn)行比較, 提出的SSA優(yōu)化算法各方面的性能都遠(yuǎn)超其他優(yōu)化算法.
SSA優(yōu)化算法又稱麻雀搜索算法, 是由Xue等[24]2020年提出的最新群體優(yōu)化算法. 該算法主要受到麻雀覓食行為和反捕食行為的啟發(fā), 具有優(yōu)化能力強(qiáng)、 收斂快、 穩(wěn)定性高的特點(diǎn).
SSA優(yōu)化算法模擬了麻雀在覓食活動(dòng)中的3種角色行為. ① 發(fā)現(xiàn)者, 主要在群體活動(dòng)中擔(dān)任尋找食物的工作, 由于擁有良好的能源儲(chǔ)備且搜索范圍廣的優(yōu)勢(shì), 為種群覓食提供區(qū)域和方向. ② 加入者, 加入者跟隨發(fā)現(xiàn)者一起活動(dòng), 從中獲取最好的食物以增加其能源儲(chǔ)備值, 同時(shí)加入者通過(guò)不斷監(jiān)控發(fā)現(xiàn)者并爭(zhēng)取食物資源來(lái)增加其能源儲(chǔ)備值, 從而動(dòng)態(tài)調(diào)整發(fā)現(xiàn)者和加入者的身份. 能量?jī)?chǔ)備能力取決于麻雀?jìng)€(gè)體適應(yīng)度值的高低. ③ 警戒者, 由加入者扮演, 如果種群受到其他捕食者的威脅時(shí), 會(huì)發(fā)出鳴叫作為報(bào)警信號(hào). 如果警報(bào)值高于安全值, 發(fā)現(xiàn)者將加入者帶到另一個(gè)安全區(qū)域進(jìn)食. 一旦感應(yīng)到危險(xiǎn), 深處邊緣的麻雀會(huì)迅速移動(dòng)到安全區(qū), 同時(shí)占據(jù)更好的位置, 而處于種群中間的群體會(huì)隨機(jī)走動(dòng)以便靠近其他麻雀.
由n只麻雀組成的種群用矩陣表示如式(1)所示.
(1)
那么, 所有麻雀的適應(yīng)度值可以表示如式(2)所示.
(2)
式(1)、 式(2)中,d為優(yōu)化問(wèn)題的變量維數(shù),n為麻雀種群數(shù)量,f表示適應(yīng)度值. 在SSA算法中, 擁有最好適應(yīng)度值的發(fā)現(xiàn)者優(yōu)先獲取食物, 并為加入者提供覓食方向. 因此, 發(fā)現(xiàn)者獲得的覓食范圍要高于加入者. 隨著個(gè)體適應(yīng)度值的變化, 麻雀角色也發(fā)生變化, 在每次這樣的迭代過(guò)程中, 發(fā)現(xiàn)者的位置變化如式(3)所示.
(3)
1) 當(dāng)R2 2) 當(dāng)R2≥ST時(shí), 意味著周?chē)嬖诓妒痴撸?同時(shí)向種群發(fā)出警報(bào), 所有麻雀會(huì)迅速飛到其他安全地方進(jìn)行覓食. 加入者會(huì)跟隨發(fā)現(xiàn)者去搶奪食物, 并動(dòng)態(tài)調(diào)整其適應(yīng)值, 其位置也會(huì)隨著爭(zhēng)奪食物而產(chǎn)生變化, 加入者位置更新如式(4)所示. (4) 式(4)中,t為迭代次數(shù),Xp是當(dāng)前發(fā)現(xiàn)者的最好位置, 反之Xworst則是最壞位置.A是一個(gè)1×d矩陣(矩陣中的元素值為1和-1的隨機(jī)數(shù)), 同時(shí)矩陣A滿足A+=AT(AAT)-1. 1) 當(dāng)i>n/2時(shí), 意味著適應(yīng)度較小的第i個(gè)加入者在本次搜索中未獲得食物, 自身處于饑餓狀態(tài), 必須改變位置覓食. 2) 當(dāng)i≤n/2時(shí), 意味著第i個(gè)加入者在最佳位置XP附近尋找食物的具體位置. 在模擬實(shí)驗(yàn)中, 本文將警戒麻雀數(shù)量假設(shè)為總數(shù)的10%~20%, 麻雀?jìng)€(gè)體的初始位置隨機(jī), 其算法表達(dá)式如式(5)所示. (5) 式(5)中,Xbest是當(dāng)前種群麻雀的最佳位置.β是服從正態(tài)分布隨機(jī)數(shù)(β的均值為0,β的方差為1),β參數(shù)的作用是控制步長(zhǎng).K為隨機(jī)數(shù), 其范圍為[-1, 1], 表示麻雀移動(dòng)方向, 也為步長(zhǎng)控制參數(shù).fi是當(dāng)前第i只麻雀?jìng)€(gè)體的適應(yīng)度值.fg和fw分別代表當(dāng)前種群麻雀的全局最高和最低的適應(yīng)度值.ε是一個(gè)常數(shù)以避免分母為0. 1) 當(dāng)fi>fg時(shí), 種群中的麻雀正處于邊緣位置, 極易受到捕食者獵殺. 2) 當(dāng)fi=fg時(shí), 種群中的麻雀已經(jīng)感知到了危險(xiǎn)臨近, 它們會(huì)通過(guò)靠近其他麻雀來(lái)減少被獵殺的風(fēng)險(xiǎn). SSA優(yōu)化算法流程如圖1所示. 圖1 SSA優(yōu)化算法流程圖 BP神經(jīng)網(wǎng)絡(luò)算法是3層結(jié)構(gòu), 即輸入層、 隱含層和輸出層, 它遵循“信息沿正向傳播、 誤差沿反向糾正”的原則. 外部信息從輸入層流入, 經(jīng)過(guò)每個(gè)隱含層神經(jīng)元的加工和傳遞, 最后由輸出層輸出信息處理結(jié)果, 即完成信息的正向傳播. 如果與實(shí)際輸出不等, 或者未達(dá)到允許的誤差范圍, 則照“誤差梯度下降”原則修正所有的權(quán)值和閾值. 可以進(jìn)行多次正、 反向傳播的迭代直到誤差減少到可接受的范圍, 或完成預(yù)定的學(xué)習(xí)次數(shù)即可. Rumelhart[25]1986年提出并證明了任何閉區(qū)間內(nèi)的連續(xù)函數(shù)都可以用一個(gè)隱含層的BP網(wǎng)絡(luò)來(lái)逼近, 因此采用3層BP神經(jīng)網(wǎng)絡(luò)算法就可以完成n維到m維的映射, 如圖2所示. 圖2 BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu) 圖2中設(shè)輸入層有i個(gè)節(jié)點(diǎn)(i=1, 2…N), 隱含層有j個(gè)節(jié)點(diǎn)(j=1, 2…J), 輸出層有k個(gè)節(jié)點(diǎn)(k=1, 2…K). 假設(shè)信息從輸入節(jié)點(diǎn)i輸入, 其值為xi.ωij為神經(jīng)元i到神經(jīng)元j的權(quán)值,θj為神經(jīng)元j的閾值,Ok為隱含層節(jié)點(diǎn)j的輸出信息值. 那么, 隱含層節(jié)點(diǎn)j的加權(quán)輸入xj如式(6)所示, 其實(shí)際輸出Oj如式(7)所示.f(x)采用S型激活函數(shù), 隱含層選用非線性變化函數(shù)Sigmoid函數(shù), 其特點(diǎn)是函數(shù)及其導(dǎo)數(shù)都是連續(xù)的. (6) Oj=f(xj) (7) 將隱含層節(jié)點(diǎn)的輸出作為輸出層的輸入, 隱含層第j個(gè)節(jié)點(diǎn)和輸出層第k個(gè)節(jié)點(diǎn)連接的權(quán)值和閾值分別為ωjk和θk, 可得第k個(gè)節(jié)點(diǎn)的輸出Ok如式(8)所示. (8) 若輸出Ok與期望輸出tk不符, 可通過(guò)式(9)得出所有輸出節(jié)點(diǎn)的訓(xùn)練誤差. (9) 通過(guò)不斷地迭代調(diào)整各層的權(quán)值和閾值, 迭代更新公式如式(10)所示, 使得訓(xùn)練誤差不斷減少直至無(wú)限接近期望值, 以期達(dá)到與期望輸出無(wú)限接近的實(shí)際輸出. (10) 式(10)中,α為學(xué)習(xí)速率(α∈(0, 1)), 通過(guò)鏈?zhǔn)椒▌t、 Sigmoid函數(shù)導(dǎo)數(shù)特性可得輸出層、 隱含層的權(quán)值偏導(dǎo)如式(11)所示. 同理, 也可求出各節(jié)點(diǎn)的閾值偏導(dǎo). (11) BP神經(jīng)網(wǎng)絡(luò)算法通過(guò)反向修正權(quán)值和閾值將預(yù)測(cè)誤差控制在允許范圍內(nèi), 實(shí)現(xiàn)了從輸入到輸出的映射. 數(shù)學(xué)理論已經(jīng)證實(shí)3層BP神經(jīng)網(wǎng)絡(luò)算法能夠以任意小的精度去無(wú)限逼近任何非線性連續(xù)系統(tǒng), BP神經(jīng)網(wǎng)絡(luò)算法這一較強(qiáng)的非線性映射能力特別適用于解決內(nèi)部機(jī)制復(fù)雜的系統(tǒng). BP神經(jīng)網(wǎng)絡(luò)在訓(xùn)練時(shí), 自身能夠通過(guò)學(xué)習(xí)提取出輸入樣本和輸出樣本之間的“規(guī)則”, 并將學(xué)習(xí)內(nèi)容存儲(chǔ)于網(wǎng)絡(luò)的權(quán)值中, 體現(xiàn)出了高度的自學(xué)性和自適應(yīng)性. 同時(shí), 在學(xué)習(xí)過(guò)程中若BP神經(jīng)網(wǎng)絡(luò)算法的局部神經(jīng)元受到破壞, 對(duì)結(jié)果不會(huì)造成較大影響, 體現(xiàn)出了強(qiáng)大的容錯(cuò)能力和穩(wěn)定性. BP神經(jīng)網(wǎng)絡(luò)算法的優(yōu)點(diǎn)使其在不少應(yīng)用中受到國(guó)內(nèi)外學(xué)者的青睞, 但是隨著應(yīng)用范圍的擴(kuò)大, BP神經(jīng)網(wǎng)絡(luò)算法也暴露出了許多不足. 如作為一種局部搜索的優(yōu)化方法, 對(duì)權(quán)值和閾值的初始取值敏感度高, 不同的初始值往往會(huì)收斂于不同的局部極小, 陷入局部最優(yōu)的缺陷. 引入SSA算法后, 利用其極高的尋優(yōu)能力和高效的迭代收斂速度, 在一定程度上提高了網(wǎng)絡(luò)的非線性動(dòng)態(tài)映射能力. SSA-BP算法的基本思想是將BP神經(jīng)網(wǎng)絡(luò)算法的初始權(quán)值和閾值作為SSA算法的尋優(yōu)目標(biāo), 將預(yù)測(cè)算法中的均方誤差作為SSA算法的適應(yīng)度值, 經(jīng)過(guò)多次迭代將得到的結(jié)果賦值給BP神經(jīng)網(wǎng)絡(luò)算法, 增強(qiáng)BP神經(jīng)網(wǎng)絡(luò)算法的尋優(yōu)能力[26-27], 其算法流程如圖3所示. 圖3 SSA-BP算法流程圖 本文采用福州高速天龍山隧道入口的流量信息為實(shí)驗(yàn)數(shù)據(jù). 采集2020年1月1日至2021年12月31日的數(shù)據(jù)信息, 共計(jì)731條. 按照經(jīng)驗(yàn), 路網(wǎng)流量波動(dòng)一般以7 d為1個(gè)周期, 輸入為前7 d的車(chē)流量, 輸出為第8 d的車(chē)流量, 取整數(shù)共計(jì)91組數(shù)據(jù). 61組作為訓(xùn)練樣本, 30組作為測(cè)試樣本. 2.2.1 網(wǎng)絡(luò)算法初始化 本實(shí)驗(yàn)通過(guò)輸入前7 d的車(chē)流量來(lái)預(yù)測(cè)第8 d的車(chē)流量, 隱含層的神經(jīng)元數(shù)量根據(jù)經(jīng)驗(yàn)求出如式(12)所示[28]. (12) 式(12)中,h為BP神經(jīng)網(wǎng)絡(luò)算法中隱藏層神經(jīng)元數(shù)量,n為BP神經(jīng)網(wǎng)絡(luò)算法中輸入層神經(jīng)元數(shù)量,k為BP神經(jīng)網(wǎng)絡(luò)算法中輸出層神經(jīng)元數(shù)量,a取1~10之間的任意值. BP神經(jīng)網(wǎng)絡(luò)算法中隱藏層的神經(jīng)元數(shù)量在4~13之間選擇. 經(jīng)過(guò)實(shí)驗(yàn), 當(dāng)網(wǎng)絡(luò)隱含層節(jié)點(diǎn)數(shù)為11時(shí), 網(wǎng)絡(luò)對(duì)測(cè)試樣本具有最高的預(yù)測(cè)命中率. 因此, BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)是7-11-1. BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練次數(shù)固定在300; 學(xué)習(xí)速率為0.01, 目標(biāo)誤差為0.000 01. 2.2.2 數(shù)據(jù)預(yù)處理 為消除數(shù)據(jù)之間的量綱影響, 對(duì)數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理. 本文通過(guò)min-max標(biāo)準(zhǔn)化處理, 將結(jié)果映射到[0, 1]范圍, 轉(zhuǎn)換公式如式(13)所示. (13) 式(13)中,y為min-max標(biāo)準(zhǔn)化后的值,x為待處理的樣本數(shù)據(jù),ymin為min-max標(biāo)準(zhǔn)化后的最小值,ymax為min-max標(biāo)準(zhǔn)化后的最大值,xmin為待處理樣本數(shù)據(jù)的最小值,xmax為待處理樣本數(shù)據(jù)的最大值. 2.3.3 SSA參數(shù)初始化 通過(guò)上述3層BP神經(jīng)網(wǎng)絡(luò)(7-11-1)算法計(jì)算網(wǎng)絡(luò)的權(quán)值和閾值總量, 計(jì)算方法如式(14)所示, 得到優(yōu)化的種群維度數(shù)dim=100. dim=n×h+h×m+h+m (14) 初始麻雀種群數(shù)量為20, 最大迭代次數(shù)為50, 生產(chǎn)者占麻雀種群總量的20%, 安全閾值ST∈[0.5, 1](本文取0.8), 警戒值R2∈[0, 1](本文取0.8). MSE(Mean Squared Error, 均方誤差), 是樣本數(shù)據(jù)偏離真實(shí)值差值的平方和的平均數(shù), 也就是誤差平方和的平均數(shù), 能夠衡量樣本數(shù)據(jù)與真實(shí)值之間的關(guān)系,MSE值越小, 說(shuō)明預(yù)測(cè)算法精度越高, 預(yù)測(cè)值和真實(shí)值擬合度越高. 因此, 采用均方誤差作為SSA算法的個(gè)體適應(yīng)度值, 其計(jì)算公式如式(15)所示. (15) 式(15)中,n為樣本數(shù),ci為預(yù)測(cè)值,yi為實(shí)際值. 由圖4可見(jiàn), 經(jīng)過(guò)50次迭代進(jìn)化, 適應(yīng)度整體呈現(xiàn)出下降趨勢(shì), 并在18次時(shí)達(dá)到最小值0.016 8, 充分說(shuō)明SSA算法能夠用很小的開(kāi)銷(xiāo)來(lái)實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)算法權(quán)值和閾值的初始值的優(yōu)化. 圖4 適應(yīng)度迭代曲線 從表1可以看出, 采用SSA-BP算法與傳統(tǒng)的BP神經(jīng)網(wǎng)絡(luò)算法的最小相對(duì)誤差值、 最大相對(duì)誤差值及均方誤差值. SSA-BP算法的均方誤差值為0.009 2, 最小相對(duì)誤差值為0.001 6, 最大相對(duì)誤差值為0.192 3, 根據(jù)計(jì)量經(jīng)濟(jì)學(xué)中對(duì)評(píng)價(jià)算法的誤差理論原理, 將誤差控制在20%范圍內(nèi)即為效果比較好的預(yù)測(cè)算法[29], 通過(guò)比對(duì)可知本文的預(yù)測(cè)算法效果較好. 表1 誤差對(duì)比表 圖5、 圖6分別為BP算法和SSA-BP算法的預(yù)測(cè)值與實(shí)際值對(duì)比圖. 由圖6可知, SSA-BP算法的預(yù)測(cè)值與實(shí)際值對(duì)比曲線平穩(wěn), 而傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法的預(yù)測(cè)值與實(shí)際值對(duì)比曲線波動(dòng)較大, 并出現(xiàn)奇異點(diǎn)(圖5), 說(shuō)明采用傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法在訓(xùn)練中易陷入局部最優(yōu)的狀態(tài), 從而導(dǎo)致測(cè)試結(jié)果出現(xiàn)誤差偏離. 圖6 SSA-BP算法預(yù)測(cè)值與真實(shí)值比較 SSA-BP算法的擬合度值為0.970 4, BP算法的擬合度值為0.261 5. SSA-BP算法的擬合度值高于BP算法且趨近于1, 說(shuō)明樣本特征的學(xué)習(xí)曲線較平滑, SSA-BP的算法泛化能力優(yōu)于BP神經(jīng)網(wǎng)絡(luò)算法, 訓(xùn)練過(guò)程中精確率逐漸提升, 證明SSA-BP算法對(duì)傳統(tǒng)BP神經(jīng)網(wǎng)絡(luò)算法進(jìn)行優(yōu)化有效且算法穩(wěn)定性高, 為交通流量區(qū)間預(yù)測(cè)提供了新的行之有效的解決方法. 本文提出采用SSA-BP算法對(duì)交通流量進(jìn)行預(yù)測(cè), 以前7 d的流量作為輸入值, 第8 d的流量作為輸出值. 研究表明, SSA-BP算法在改進(jìn)交通流量預(yù)測(cè)方面具有較大突破, 能夠有效地映射交通流量隨時(shí)間變化的復(fù)雜非線性系統(tǒng), 具體表現(xiàn)在如下兩個(gè)方面: 1) 利用SSA算法對(duì)BP神經(jīng)網(wǎng)絡(luò)算法的初始權(quán)值和閾值進(jìn)行優(yōu)化, 改進(jìn)了BP神經(jīng)網(wǎng)絡(luò)算法初始值隨機(jī)性的問(wèn)題, 針對(duì)BP神經(jīng)網(wǎng)絡(luò)算法易陷入局部最優(yōu)的問(wèn)題, 提出了一種新的解決方法. 2) 通過(guò)誤差、 擬合度的對(duì)比分析, 證明了SSA-BP算法在預(yù)測(cè)精度、 收斂速度、 泛化能力和穩(wěn)定性均強(qiáng)于BP神經(jīng)網(wǎng)絡(luò)算法, 預(yù)測(cè)結(jié)果更適用于隨時(shí)間變化的復(fù)雜非線性系統(tǒng)工程應(yīng)用.1.3 BP神經(jīng)網(wǎng)絡(luò)算法
2 算法的建立與應(yīng)用
2.1 SSA-BP算法建立
2.2 實(shí)驗(yàn)數(shù)據(jù)及分析過(guò)程
3 結(jié)果與分析
3.1 適應(yīng)度變化
3.2 誤差比對(duì)
3.3 擬合度比對(duì)
4 結(jié)語(yǔ)