人工神經(jīng)網(wǎng)絡(luò)在貨運(yùn)預(yù)測(cè)系統(tǒng)中的應(yīng)用
掃描二維碼
隨時(shí)隨地手機(jī)看文章
引 言
現(xiàn)如今物流業(yè)的快速發(fā)展對(duì)人們的生活與產(chǎn)能經(jīng)濟(jì)都產(chǎn)生了重要影響,而整個(gè)物流鏈中的關(guān)鍵就是貨運(yùn)環(huán)節(jié)。影響貨物運(yùn)輸?shù)囊蛩乇容^復(fù)雜,包括相關(guān)體制、交通條件、城市環(huán)境、產(chǎn)業(yè)布局等,這些因素在數(shù)學(xué)模型上是非線性且不確定的, 于是給預(yù)測(cè)造成了較大困難。為了做好庫(kù)存控制、信息管理的工作,在貨物運(yùn)輸前對(duì)貨運(yùn)量進(jìn)行預(yù)測(cè)是非常有必要的。
1 神經(jīng)網(wǎng)絡(luò)模型及其特點(diǎn)
1.1 系統(tǒng)概述
本文研究的預(yù)測(cè)模型是基于貨運(yùn)預(yù)測(cè)系統(tǒng)的,該系統(tǒng)的主要功能是將項(xiàng)目輸入的數(shù)據(jù)確定為預(yù)測(cè)目標(biāo),并根據(jù)具體要求與有關(guān)資料動(dòng)態(tài)分析出可執(zhí)行計(jì)劃,將預(yù)測(cè)結(jié)果保存到數(shù)據(jù)庫(kù)備份。貨運(yùn)預(yù)測(cè)系統(tǒng)的具體結(jié)構(gòu)包括初始數(shù)據(jù)模塊、預(yù)測(cè)方法選擇、結(jié)果處理模塊、系統(tǒng)輔助管理及數(shù)據(jù)庫(kù)模塊等。系統(tǒng)結(jié)構(gòu)圖如圖 1 所示。
1.2 模型特點(diǎn)
神經(jīng)網(wǎng)絡(luò)分為單層前向網(wǎng)絡(luò)(LMS 學(xué)習(xí)算法)、多層前向網(wǎng)絡(luò)(BP 學(xué)習(xí)算法)、改進(jìn)型神經(jīng)網(wǎng)絡(luò)等,其中 BP 神經(jīng)網(wǎng)絡(luò)是目前應(yīng)用最廣泛的模型之一,模型拓?fù)浣Y(jié)構(gòu)如圖 2 所示。
多層前向網(wǎng)絡(luò)是單層感知器的推廣,解決了非線性可分問(wèn)題,其由輸入層、隱含層和輸出層組成,其中隱含層可以為一層或多層。輸入層中每個(gè)源節(jié)點(diǎn)作為激勵(lì)單元,組成了下一層的輸入信號(hào),而該層的輸出信號(hào)又成為后層的輸入,以此類推。多層感知器中每個(gè)神經(jīng)元的激勵(lì)函數(shù)是可微的Sigmoid 函數(shù), 見(jiàn)式(1)所示 :
式中 ui是第 i個(gè)神經(jīng)元的輸入信號(hào),vi是該神經(jīng)元的輸出信號(hào)。
BP 學(xué)習(xí)過(guò)程具有工作信號(hào)正向傳播、誤差信號(hào)反向傳播的特點(diǎn)。對(duì)于圖 2,設(shè)輸入層任意一個(gè)輸入信號(hào)用 m表示,第一層、第二層、輸出層任意神經(jīng)元分別用 i,j,p表示。按誤差反向傳播方向,從輸出節(jié)點(diǎn)到隱含層的修正權(quán)值公式見(jiàn)式(2):
2 預(yù)測(cè)實(shí)例及結(jié)果分析
2.1 問(wèn)題描述
貨站是物流的一種重要形式,被認(rèn)為是物流中心,包含著物資信息、資金流動(dòng)等管理,這里取若干年的某貨站數(shù)據(jù)進(jìn)行預(yù)測(cè)并與實(shí)際結(jié)果對(duì)比,貨運(yùn)量走勢(shì)如圖 3 所示。
圖中曲線很明顯不適合做直線擬合,我們可運(yùn)用指數(shù)平滑法、神經(jīng)網(wǎng)絡(luò)等進(jìn)行外推預(yù)測(cè)。對(duì)于指數(shù)平滑法,歷史數(shù)據(jù)影響程度逐漸減小,隨著數(shù)據(jù)遠(yuǎn)離權(quán)數(shù)收斂趨近零,因此適用于短期預(yù)測(cè) ;對(duì)于灰色模型,十分依賴于歷史數(shù)據(jù),其精度受原始數(shù)據(jù)的影響較大。本預(yù)測(cè)系統(tǒng)會(huì)根據(jù)輸入數(shù)據(jù)的各項(xiàng)因子最終選擇最合適的算法模型。下面就神經(jīng)網(wǎng)絡(luò)的一般預(yù)測(cè)步驟進(jìn)行說(shuō)明。
2.2 預(yù)測(cè)步驟
一般來(lái)說(shuō),BP 算法的預(yù)測(cè)步驟如下:
(1) 樣本預(yù)處理。由于數(shù)據(jù)的評(píng)價(jià)標(biāo)準(zhǔn)或量綱不一樣,所以需要對(duì)樣本作歸一化處理??刹扇O差變換(xn - xmin)/(xmax - xmin)進(jìn)行處理;
(2) 樣本分組。每組前 m個(gè)值作為輸入,后一個(gè)作為輸出期望值;
(3) 網(wǎng)絡(luò)訓(xùn)練。使訓(xùn)練后的網(wǎng)絡(luò)自適應(yīng)樣本數(shù)據(jù)的特征,
網(wǎng)絡(luò)訓(xùn)練狀態(tài)如圖 4 所示;
(4)得到預(yù)測(cè)值后??赏ㄟ^(guò)對(duì) 2001至 2010 年數(shù)據(jù)的網(wǎng) 絡(luò)訓(xùn)練,得到 2011 年的輸出預(yù)測(cè)值。Matlab 中仿真程序如下: