趙會(huì)敏,雒江濤,楊軍超,徐正,雷曉,羅林
(重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究院,重慶400065)
研究與開發(fā)
集成BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的研究與應(yīng)用
趙會(huì)敏,雒江濤,楊軍超,徐正,雷曉,羅林
(重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究院,重慶400065)
BP神經(jīng)網(wǎng)絡(luò)對(duì)逼近實(shí)數(shù)值提供了一種頑健有效的學(xué)習(xí)方法,適合對(duì)路口交通流量進(jìn)行預(yù)測(cè)。針對(duì)BP神經(jīng)網(wǎng)絡(luò)存在易陷入局部最小值和收斂速度慢的問題,提出了一種集成BP預(yù)測(cè)模型。該模型集成多個(gè)具有不同初始權(quán)值和訓(xùn)練集的BP模型,并以加權(quán)平均值的方法作為結(jié)合方法。其中的每個(gè)BP模型是以一種改進(jìn)的MapReduce方法實(shí)現(xiàn)的。將該模型運(yùn)用到交通路口車輛分流流量大小的預(yù)測(cè)實(shí)例中,并依次與單機(jī)實(shí)現(xiàn)的單個(gè)BP模型和MapReduce實(shí)現(xiàn)的單個(gè)BP模型進(jìn)行比較。結(jié)果表明,集成BP模型在路口車輛分流流量大小的預(yù)測(cè)中有較高的準(zhǔn)確率和實(shí)時(shí)性。
BP神經(jīng)網(wǎng)絡(luò);集成預(yù)測(cè);MapReduce;加權(quán)平均值;交通路口分流流量大小的預(yù)測(cè)
TP183
A
隨著國內(nèi)城市的不斷高速發(fā)展,城市交通擁堵、交通事故頻發(fā)、能源浪費(fèi)等已成為各個(gè)城市發(fā)展所面臨的問題,很多城市將大力發(fā)展智能交通系統(tǒng)(intelligent transport system,ITS)。在交叉路口對(duì)車輛分流流量大小(路口左轉(zhuǎn)、右轉(zhuǎn)、直行車流量的大?。┑念A(yù)測(cè)是ITS中非常關(guān)鍵、基礎(chǔ)的一部分,對(duì)它的研究將使交通信號(hào)燈智能控制成為可能,對(duì)交通服務(wù)行業(yè)的發(fā)展也有至關(guān)重要的影響。目前已經(jīng)有很多種預(yù)測(cè)模型運(yùn)用到車流量預(yù)測(cè)中,如非參數(shù)回歸預(yù)測(cè)方法、自回歸移動(dòng)滑動(dòng)平均(autoregressive moving average,ARMA)模型,參考文獻(xiàn)[1]對(duì)這些模型做了介紹和對(duì)比,除此還有BP(back propagation)神經(jīng)網(wǎng)絡(luò)[2]、RBF神經(jīng)網(wǎng)絡(luò)[3]、Elman神經(jīng)網(wǎng)絡(luò)[4]、支持向量機(jī)[5](support vector machine,SVM)等算法。其中BP神經(jīng)網(wǎng)絡(luò)模型是應(yīng)用最廣泛的預(yù)測(cè)模型。
BP神經(jīng)網(wǎng)絡(luò)[6]由輸入層、隱含層和輸出層構(gòu)成,隱含層的層數(shù)可以是一層或多層,每一層的神經(jīng)元之間沒有相互連接。任意的函數(shù)可以用一個(gè)有3層結(jié)構(gòu)的網(wǎng)絡(luò)以任意精度逼近。BP神經(jīng)網(wǎng)絡(luò)是一種誤差反向傳播的模型,將網(wǎng)絡(luò)的誤差由輸出層反向傳播到輸入層,在此過程中使用隨機(jī)梯度下降的法則不斷優(yōu)化網(wǎng)絡(luò)參數(shù),調(diào)整網(wǎng)絡(luò)的權(quán)值,使得網(wǎng)絡(luò)誤差下降,直到網(wǎng)絡(luò)誤差值開始有上升趨勢(shì)時(shí)停止,得到最優(yōu)網(wǎng)絡(luò)。BP神經(jīng)網(wǎng)絡(luò)可以實(shí)現(xiàn)大規(guī)模的并行處理,可以用Hadoop的分布式計(jì)算框架MapReduce編程來處理海量的數(shù)據(jù)[7],因此可以用來處理大量的交通數(shù)據(jù)。但BP神經(jīng)網(wǎng)絡(luò)采用梯度下降的方法搜索網(wǎng)絡(luò)權(quán)值空間,這決定了其容易陷入局部極小值和收斂速度慢的問題,為此提出了一種集成BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)的模型。
集成學(xué)習(xí)是機(jī)器學(xué)習(xí)的一個(gè)發(fā)展成果,它將多個(gè)單個(gè)的模型按照某種結(jié)合方法結(jié)合在一起,來獲得比單個(gè)模型更好的預(yù)測(cè)效果[8]。目前,集成學(xué)習(xí)已經(jīng)被廣泛應(yīng)用于面部識(shí)別[9]、圖像分析[10]、疾病診斷[11]等領(lǐng)域,并已取得良好的效果。本文的集成預(yù)測(cè)模型集成了多個(gè)以MapReduce方式實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)模型,為了解決易陷入局部極小值的問題,對(duì)每個(gè)網(wǎng)絡(luò)用不同的隨機(jī)權(quán)值初始化,這是因?yàn)榫W(wǎng)絡(luò)初始權(quán)值不同,則算法訓(xùn)練權(quán)值的方向不同,算法最終會(huì)收斂于不同的局部極小值或全局極小值。集成模型的輸出是每個(gè)BP模型輸出的加權(quán)平均值,這樣就降低了某個(gè)模型陷入局部極小值,從而對(duì)預(yù)測(cè)結(jié)果的嚴(yán)重影響。此外,每個(gè)BP模型在計(jì)算更新權(quán)值量時(shí)引入了沖量項(xiàng),使其越過誤差曲面的局部極小值或平坦區(qū)域,在梯度不變的區(qū)域逐漸增大搜索步長(zhǎng)的效果,從而可以加快收斂速度。
集成BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的建立主要分為數(shù)據(jù)集構(gòu)建、單個(gè)BP模型的建立和預(yù)測(cè)結(jié)果的匯聚3個(gè)步驟,如圖1所示。
圖1 集成BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型
構(gòu)建數(shù)據(jù)集首先需要確定特征字段,本文以交叉路口車輛分流流量大小的預(yù)測(cè)為例來驗(yàn)證模型的預(yù)測(cè)性能。參考文獻(xiàn)[12]指出路口各個(gè)方向的車流量不僅和它前3個(gè)時(shí)間段的車流量有關(guān),還和其他方向的流量有關(guān)。參考文獻(xiàn)[13]指出當(dāng)前車流量與之前一個(gè)月以內(nèi)的車流量關(guān)聯(lián)最為緊密,并且必須選取交通流量特征相似的時(shí)間段的數(shù)據(jù)。因此,選取路口前3個(gè)時(shí)間段的總流量、3個(gè)方向的流量以及下一個(gè)時(shí)間段路口的總流量,共13個(gè)特征字段作為輸入特征,以下一個(gè)時(shí)間段的3個(gè)方向的流量,共3個(gè)特征字段作為輸出特征。然后,選取一個(gè)特定的時(shí)間段(如上下班高峰期)的一個(gè)月的數(shù)據(jù)來建立訓(xùn)練集,選取接下來一天該時(shí)間段的數(shù)據(jù)來建立驗(yàn)證集和預(yù)測(cè)集。
由于BP神經(jīng)網(wǎng)絡(luò)的隱含層一般采用Sigmoid轉(zhuǎn)換函數(shù),為提高訓(xùn)練速度和靈敏性以及有效避開函數(shù)的飽和區(qū),一般要求輸入數(shù)據(jù)的值在0~1之間。因此要對(duì)輸入數(shù)據(jù)進(jìn)行歸一化處理。本文采用min-max標(biāo)準(zhǔn)化線性歸一化處理方法,如式(1)所示:
集成預(yù)測(cè)模型的關(guān)鍵在于構(gòu)建出具有差異性的個(gè)體模型,這也是獲得較好集成效果的保證[14]。
BP神經(jīng)網(wǎng)絡(luò)模型的建立,首先要確定BP網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu),然后確定構(gòu)建差異性個(gè)體模型的方法,最后用一種改進(jìn)的MapReduce編碼方式實(shí)現(xiàn)模型的建立。
2.2.1 BP網(wǎng)絡(luò)結(jié)構(gòu)的確定
一個(gè)BP神經(jīng)網(wǎng)絡(luò)是由網(wǎng)絡(luò)層數(shù)、每層節(jié)點(diǎn)數(shù)、激活函數(shù)、學(xué)習(xí)效率、沖量系數(shù)和網(wǎng)絡(luò)的初始連接權(quán)值等構(gòu)成的。
(1)網(wǎng)絡(luò)層數(shù)和激活函數(shù)的確定
Hornik等人早已證明若輸入層和輸出層采用線性轉(zhuǎn)換函數(shù),隱含層采用Sigmoid轉(zhuǎn)換函數(shù),則包含一個(gè)隱含層的MPL網(wǎng)絡(luò)能夠以任意精度逼近任何有理函數(shù)[15]。因此采用3層BP網(wǎng)絡(luò),即一個(gè)輸入層、一個(gè)隱含層、一個(gè)輸出層。網(wǎng)絡(luò)的激活函數(shù)采用Sigmoid函數(shù)。
(2)網(wǎng)絡(luò)各層節(jié)點(diǎn)數(shù)的確定
根據(jù)輸入層和輸出層的特征字段的個(gè)數(shù),網(wǎng)絡(luò)的輸入層節(jié)點(diǎn)數(shù)是13個(gè),輸出層的節(jié)點(diǎn)數(shù)是3個(gè)。隱含層的節(jié)點(diǎn)數(shù)的選擇對(duì)整個(gè)網(wǎng)絡(luò)的性能至關(guān)重要。若隱含層的節(jié)點(diǎn)數(shù)過少,網(wǎng)絡(luò)可能不能被訓(xùn)練或網(wǎng)絡(luò)的性能很差;若節(jié)點(diǎn)數(shù)過多,雖然網(wǎng)絡(luò)的系統(tǒng)誤差可能很低,但一方面使網(wǎng)絡(luò)的訓(xùn)練時(shí)間很長(zhǎng),另一方面很容易導(dǎo)致訓(xùn)練陷入局部極小值而得不到最優(yōu)極小值,這也是訓(xùn)練出現(xiàn)過擬合的內(nèi)在原因,從而影響了網(wǎng)絡(luò)的泛化能力。所謂泛化能力是指訓(xùn)練的網(wǎng)絡(luò)不僅對(duì)于訓(xùn)練的數(shù)據(jù)能很好地?cái)M合,并且對(duì)于不在訓(xùn)練集內(nèi)的新的預(yù)測(cè)數(shù)據(jù)也能很好地?cái)M合,即有較高的預(yù)測(cè)準(zhǔn)確率。因此,在滿足精度的要求下,隱含層的節(jié)點(diǎn)數(shù)越少越好。隱含層節(jié)點(diǎn)數(shù)不僅與輸入、輸出層的節(jié)點(diǎn)數(shù)有關(guān),更與需要解決的問題的復(fù)雜程度、轉(zhuǎn)換函數(shù)的形式以及樣本數(shù)據(jù)的特性等因素有關(guān)。目前廣泛用于隱含層節(jié)點(diǎn)數(shù)確定的方法有兩種:一是Kolmogorov定理中指出,隱含層節(jié)點(diǎn)數(shù)一般為輸入層節(jié)點(diǎn)數(shù)的兩倍加1;另一種如式(2)所示,u是隱含層節(jié)點(diǎn)數(shù),m、n分別是輸入層和輸出層的節(jié)點(diǎn)數(shù),a為3~7之間的某個(gè)值。依照這兩種方法確定隱含層的節(jié)點(diǎn)數(shù)范圍大致在7~11或7~19中。
(3)學(xué)習(xí)率、沖量系數(shù)和初始連接權(quán)值
學(xué)習(xí)率η會(huì)影響系統(tǒng)學(xué)習(xí)過程的穩(wěn)定性。大的學(xué)習(xí)率會(huì)導(dǎo)致網(wǎng)絡(luò)權(quán)值的修正量過大,甚至導(dǎo)致權(quán)值超出誤差的極小值,呈不規(guī)則跳躍而不收斂。雖然過小的學(xué)習(xí)率會(huì)導(dǎo)致學(xué)習(xí)訓(xùn)練時(shí)間過長(zhǎng),但是能保證收斂到某個(gè)極小值。所以本文的η在0.1~0.8中。增加沖量項(xiàng)可以減少網(wǎng)絡(luò)訓(xùn)練時(shí)間而又不導(dǎo)致震蕩,可以加快收斂速度,通常沖量系數(shù)在0~1中,而且一般比學(xué)習(xí)率大。BP算法決定了誤差函數(shù)一般存在多個(gè)局部極小值,網(wǎng)絡(luò)初始權(quán)值不同,則算法訓(xùn)練權(quán)值的方向不同,這直接決定了算法收斂于哪個(gè)局部極小值或全局極小值,權(quán)重的初始化強(qiáng)烈影響著最終的解。
基于以上理論分析,結(jié)合車輛分流流量大小預(yù)測(cè)的數(shù)據(jù)集,單機(jī)Java編程BP神經(jīng)網(wǎng)絡(luò),確定最終BP神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu):隱含層節(jié)點(diǎn)數(shù)為7,學(xué)習(xí)率為0.25,沖量系數(shù)為0.3,初始權(quán)值可以分布在[-0.3,0.3]、[-0.4,0.4]、[-0.5,05]、[-0.6,0.6]和[-0.7,0.7]幾個(gè)區(qū)間中。
2.2.2 構(gòu)建多個(gè)差異性個(gè)體BP神經(jīng)網(wǎng)絡(luò)模型
在引言部分已經(jīng)說明使用不同的初始權(quán)值來構(gòu)建BP神經(jīng)網(wǎng)絡(luò),所以使用已經(jīng)驗(yàn)證的[-0.3,0.3]、[-0.4,0.4]、[-0.5,05]、[-0.6,0.6]和[-0.7,0.7]這幾個(gè)分布區(qū)間來初始不同的BP神經(jīng)網(wǎng)絡(luò)。使用不同的隨機(jī)種子來生成兩組在分布區(qū)間[-0.5,05]中的初始權(quán)值。共構(gòu)建6個(gè)有差異性的單個(gè)BP神經(jīng)網(wǎng)絡(luò)的模型。
Bagging是一種能夠提高不穩(wěn)定學(xué)習(xí)算法的預(yù)測(cè)精度的集成技術(shù),對(duì)于決策樹和人工神經(jīng)網(wǎng)絡(luò)這樣的學(xué)習(xí)算法特別有效[16]。借鑒Bagging集成技術(shù),從構(gòu)建的訓(xùn)練集S中抽取6個(gè)子訓(xùn)練集{S1,S2,S3,S4,S5,S6},分別用這些訓(xùn)練集訓(xùn)練6個(gè)BP神經(jīng)網(wǎng)絡(luò)模型,即使用不同的數(shù)據(jù)集訓(xùn)練網(wǎng)絡(luò)來增加單個(gè)BP神經(jīng)網(wǎng)絡(luò)的差異度,從而有效地提高集成BP預(yù)測(cè)模型的泛化能力。
2.2.3 以MapReduce的方式實(shí)現(xiàn)BP神經(jīng)網(wǎng)絡(luò)模型
[17]對(duì)BP神經(jīng)網(wǎng)絡(luò)的MapReduce的實(shí)現(xiàn)思路是在map階段計(jì)算并輸出每個(gè)權(quán)值的變化量,然后在reduce階段統(tǒng)計(jì)每個(gè)權(quán)值的總變化量,再對(duì)權(quán)值進(jìn)行調(diào)整。MapReduce過程中產(chǎn)生大量的中間結(jié)構(gòu),這就導(dǎo)致了大量的I/O操作,大大延長(zhǎng)了作業(yè)的完成時(shí)間。本文采用了一種改進(jìn)的MapReduce實(shí)現(xiàn)方式,能顯著減少算法的中間結(jié)果的數(shù)量,加快算法收斂速度。針對(duì)每個(gè)樣本map階段輸出的所有權(quán)值,定義了一個(gè)繼承于Hadoop序列化標(biāo)準(zhǔn)類的TwoDArrayWritable的WeightWritable類,用于傳遞權(quán)值,并且對(duì)于每個(gè)輸入樣本,經(jīng)過數(shù)次的本地迭代后,才輸出多次迭代后的權(quán)值。
對(duì)BP神經(jīng)網(wǎng)絡(luò)的MapReduce化實(shí)現(xiàn)主要通過兩個(gè)map函數(shù)和一個(gè)reduce函數(shù)來實(shí)現(xiàn),第二個(gè)map函數(shù)用驗(yàn)證集來測(cè)試預(yù)測(cè)模型,計(jì)算測(cè)試誤差,用來判斷是否可以停止迭代。其實(shí)現(xiàn)系統(tǒng)如圖2所示。
在第一個(gè)map函數(shù)中,網(wǎng)絡(luò)從文件系統(tǒng)中讀取權(quán)值,初始化網(wǎng)絡(luò),讀入樣本。對(duì)每個(gè)樣本迭代20次之后,map輸出一個(gè)<LongWritable,WeightWritable>鍵值對(duì),其中WeightWritable作為map的值類型,記錄了經(jīng)過訓(xùn)練后的網(wǎng)絡(luò)的所有權(quán)值。每一個(gè)回合的學(xué)習(xí)結(jié)果都要送到一個(gè)reduce中進(jìn)行綜合,對(duì)輸出類型為L(zhǎng)ongWritable的鍵設(shè)一個(gè)統(tǒng)一的值,因?yàn)榫W(wǎng)絡(luò)連接權(quán)值包括輸入層到隱含層的連接權(quán)值和隱含層到輸出層的連接權(quán)值,因此有兩類權(quán)值矩陣,為將這兩個(gè)權(quán)值矩陣分開,將它們的鍵分別設(shè)為1、2。
在reduce函數(shù)中,接收map的輸出<LongWritable,WeightWritable>作為輸入,reduce函數(shù)的輸出仍為<LongWritable,WeightWritable>。收集map函數(shù)輸出的WeightWritable,根據(jù)不同的鍵值(1或2),累加不同的值和值的數(shù)目,計(jì)算出兩個(gè)權(quán)值矩陣的算術(shù)平均值WeightWritable作為reduce函數(shù)的輸出值,即獲得經(jīng)過訓(xùn)練后網(wǎng)絡(luò)的新權(quán)值。
在另一個(gè)map函數(shù)map1中,將reduce函數(shù)計(jì)算得到的權(quán)值作為初始權(quán)值,初始化一個(gè)神經(jīng)網(wǎng)絡(luò)。并用驗(yàn)證數(shù)據(jù)集測(cè)試網(wǎng)絡(luò),計(jì)算驗(yàn)證集的預(yù)測(cè)誤差,如果此次迭代的預(yù)測(cè)誤差小于上次迭代的預(yù)測(cè)誤差,則用reduce函數(shù)得到的權(quán)值矩陣更新文件系統(tǒng)中的權(quán)值文件。此外驗(yàn)證集的預(yù)測(cè)誤差將會(huì)用來驗(yàn)證模型的預(yù)測(cè)性能是否達(dá)到要求,從而判斷是否可以停止迭代。
另外還要設(shè)置一個(gè)驅(qū)動(dòng)函數(shù)來保證程序的正常運(yùn)行。驅(qū)動(dòng)函數(shù)的輸入包括兩個(gè)路徑,一是樣本的輸入路徑,另一個(gè)是Hadoop作業(yè)的輸出路徑。該函數(shù)先判斷是否存在權(quán)值文件,如果沒有則創(chuàng)建一個(gè)WeightWritable實(shí)例,并賦予已選定區(qū)間的隨機(jī)值作為網(wǎng)絡(luò)的初始權(quán)值,寫入HDFS中供后續(xù)使用。然后根據(jù)參數(shù)中的樣本路徑、輸出路徑創(chuàng)建Hadoop作業(yè)。在創(chuàng)建作業(yè)之前,根據(jù)map1函數(shù)計(jì)算的預(yù)測(cè)誤差來判斷是否繼續(xù)進(jìn)行下一次作業(yè)的循環(huán)迭代,評(píng)價(jià)標(biāo)準(zhǔn)是前后兩次迭代的預(yù)測(cè)誤差的差值小于0.01,且此次預(yù)測(cè)誤差大于上次誤差,則結(jié)束迭代。此評(píng)價(jià)標(biāo)準(zhǔn)與參考文獻(xiàn)[18]中提出的以訓(xùn)練樣例的誤差達(dá)到某個(gè)閾值以下或達(dá)到一定訓(xùn)練次數(shù)作為訓(xùn)練的終止條件相比,解決了反向傳播算法容易過度擬合訓(xùn)練樣例,降低對(duì)其他新的預(yù)測(cè)實(shí)例的泛化精度的問題。
圖2 BP神經(jīng)網(wǎng)絡(luò)以MapReduce方式實(shí)現(xiàn)的系統(tǒng)
運(yùn)用已經(jīng)訓(xùn)練好的6個(gè)BP神經(jīng)網(wǎng)絡(luò)模型(模型BP1、BP2、BP3、BP4、BP5、BP6)對(duì)預(yù)測(cè)集中的每個(gè)樣本實(shí)例進(jìn)行預(yù)測(cè),并保存每個(gè)模型的預(yù)測(cè)結(jié)果。然后根據(jù)加權(quán)平均值的匯聚結(jié)合方法,用每個(gè)BP模型驗(yàn)證集誤差值最低的一次的驗(yàn)證集的平均準(zhǔn)確率除以所有模型平均準(zhǔn)確率之和,計(jì)算出集成的加權(quán)系數(shù)。將6個(gè)模型的預(yù)測(cè)結(jié)果匯集,得到最終的集成預(yù)測(cè)結(jié)果。集成預(yù)測(cè)結(jié)果的匯聚結(jié)合方法如式(3)所示,其中Q代表集成預(yù)測(cè)的流量大小,Qn(n為1~6)代表單個(gè)BP模型的預(yù)測(cè)結(jié)果,Tn(n為1~6)代表每個(gè)模型的加權(quán)系數(shù)。Tn的計(jì)算方法如式(4)所示,其中Rn(n為1~6)代表每個(gè)BP模型驗(yàn)證集誤差值最低的一次的驗(yàn)證集的平均準(zhǔn)確率。
本文的BP神經(jīng)網(wǎng)絡(luò)模型是以MapReduce方式實(shí)現(xiàn)的,需要在Hadoop平臺(tái)上進(jìn)行運(yùn)行測(cè)試。在虛擬機(jī)CentOS6.5系統(tǒng)中分別部署了Hadoop-2.6.0偽分布式平臺(tái)和主要開發(fā)平臺(tái)Eclipse-Jee-Luna-SR2-Linux。其中,為使Eclipse運(yùn)行于Hadoop平臺(tái)上,使用插件Hadoop-Eclipse-Plugin-2.6.0。
數(shù)據(jù)來源于開源網(wǎng)站數(shù)據(jù)堂[19],該數(shù)據(jù)是南京市一天的RFID交通數(shù)據(jù),包含的特征字段為身份信息(電子牌編號(hào))、車型信息(大、中、?。?、時(shí)間信息(通過某一采集點(diǎn)時(shí)間)、位置信息(采集點(diǎn)編號(hào)及方位信息)和車道號(hào)(車輛處在哪個(gè)車道上)。利用源數(shù)據(jù)的這些特征字段構(gòu)建集成預(yù)測(cè)模型的特征集。
分析這一天的南京市RFID數(shù)據(jù)的規(guī)律,編程仿造出30天的RFID數(shù)據(jù),并將其構(gòu)建為數(shù)據(jù)集,隨機(jī)分為6份,作為6個(gè)BP神經(jīng)網(wǎng)絡(luò)的訓(xùn)練集;將一天的南京市的RFID數(shù)據(jù)構(gòu)建為數(shù)據(jù)集分為兩份,分別作為模型的驗(yàn)證集和預(yù)測(cè)集。
預(yù)測(cè)的準(zhǔn)確率和所需時(shí)間的長(zhǎng)短是評(píng)估路口車輛分流流量大小預(yù)測(cè)模型的重要指標(biāo),流量預(yù)測(cè)具有實(shí)時(shí)性,如果預(yù)測(cè)的時(shí)間過長(zhǎng),將會(huì)使流量預(yù)測(cè)失去意義。準(zhǔn)確率的計(jì)算式如下:
其中,q代表準(zhǔn)確率,Q代表預(yù)測(cè)流量大小,G代表實(shí)際目標(biāo)流量大小。用式(5)計(jì)算所有樣例的準(zhǔn)確率,取平均作為模型的準(zhǔn)確率。
本文將單機(jī)實(shí)現(xiàn)(即未用MapReduce方式)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型、MapReduce方式實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型以及集成BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型三者的預(yù)測(cè)結(jié)果進(jìn)行比較,見表1。
由表1可知,單機(jī)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的準(zhǔn)確率略低于MapReduce方式實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的準(zhǔn)確率,在左轉(zhuǎn)方向上低出1.4%~13.2%,在右轉(zhuǎn)方向上低出0.2%~8.7%,在直行方向上低出5.1%~8.3%。而它們的準(zhǔn)確率都低于集成BP預(yù)測(cè)模型的準(zhǔn)確率,在左轉(zhuǎn)方向上單機(jī)BP低出18.7%,MapReduce方式實(shí)現(xiàn)的BP低出5.5%~17.1%;在右轉(zhuǎn)方向上單機(jī)BP低出20.5%,MapReduce方式實(shí)現(xiàn)的BP低出11.8%~20.3%;在直行方向上單機(jī)BP低出10.6%,MapReduce方式實(shí)現(xiàn)的BP低出2.3%~5.5%。
表1 各個(gè)模型的路口車輛分流流量大小預(yù)測(cè)性能
出現(xiàn)以上結(jié)果的原因是單機(jī)BP神經(jīng)網(wǎng)絡(luò)模型在訓(xùn)練時(shí),將樣本連續(xù)地輸入網(wǎng)絡(luò),每個(gè)樣本每次經(jīng)過網(wǎng)絡(luò),網(wǎng)絡(luò)的權(quán)值都會(huì)被更新,這種訓(xùn)練方式,有可能對(duì)后輸入的樣本訓(xùn)練訓(xùn)練效果較好,而對(duì)最開始輸入的樣本因訓(xùn)練時(shí)間長(zhǎng)久而“遺忘”;而MapReduce實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型在訓(xùn)練時(shí),對(duì)每個(gè)實(shí)例進(jìn)行多次本地迭代后更新權(quán)值,然后再求每個(gè)實(shí)例更新的權(quán)值的平均值作為神經(jīng)網(wǎng)絡(luò)的權(quán)值,這兼顧了每個(gè)實(shí)例,因此后者的預(yù)測(cè)準(zhǔn)確率高于前者的預(yù)測(cè)準(zhǔn)確率;而集成預(yù)測(cè)模型,通過訓(xùn)練多個(gè)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型并將其結(jié)果集成輸出,提高了模型的泛化能力,因此本文提出的集成BP預(yù)測(cè)模型的預(yù)測(cè)準(zhǔn)確率最高。各個(gè)模型準(zhǔn)確率的比較結(jié)果如圖3所示。因?yàn)?個(gè)方向在各個(gè)模型中的預(yù)測(cè)準(zhǔn)確率情況大致相似,因此,只展示出了各個(gè)模型左轉(zhuǎn)準(zhǔn)確率的情況。
圖3 各個(gè)模型左轉(zhuǎn)準(zhǔn)確率比較情況
由表1可知,MapReduce方式實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的訓(xùn)練時(shí)間和預(yù)測(cè)時(shí)間與單機(jī)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的訓(xùn)練時(shí)間和預(yù)測(cè)時(shí)間相比,都大大縮短了。MapReduce方式實(shí)現(xiàn)的6個(gè)BP模型的平均訓(xùn)練時(shí)間為30.063 s,與單機(jī)BP的訓(xùn)練時(shí)間64.696 s相比,訓(xùn)練時(shí)間減少了一半;MapReduce方式實(shí)現(xiàn)的6個(gè)BP模型的平均預(yù)測(cè)時(shí)間為9.762 s,與單機(jī)BP的預(yù)測(cè)時(shí)間17.626 s相比,預(yù)測(cè)時(shí)間將近減少了一半。而集成預(yù)測(cè)模型的預(yù)測(cè)時(shí)間為13.112 s,要稍微比MapReduce方式實(shí)現(xiàn)的6個(gè)BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的平均預(yù)測(cè)時(shí)間9.762 s長(zhǎng),是因?yàn)樵陬A(yù)測(cè)開始時(shí),需要從HDFS上讀取已經(jīng)訓(xùn)練好的6個(gè)MapReduce方式實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的權(quán)值,來初始化6個(gè)BP神經(jīng)網(wǎng)絡(luò),需要消耗一定的時(shí)間,但這個(gè)時(shí)間開銷不是很大,在對(duì)路口車輛分流流量大小預(yù)測(cè)的實(shí)時(shí)性要求范圍內(nèi)。各個(gè)模型預(yù)測(cè)時(shí)間的比較結(jié)果更直觀地展示如圖4所示。
集成學(xué)習(xí)可以提高單個(gè)神經(jīng)網(wǎng)絡(luò)的泛化能力,即對(duì)新樣本有較高的預(yù)測(cè)準(zhǔn)確率,從而提高模型的穩(wěn)定性。本文提出了集成多個(gè)BP神經(jīng)網(wǎng)絡(luò)的預(yù)測(cè)模型,并以MapReduce的方式實(shí)現(xiàn),將其分別與單機(jī)實(shí)現(xiàn)(即未用MapReduce方式)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型和MapReduce方式實(shí)現(xiàn)的BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型的進(jìn)行性能比較。測(cè)試表明,集成預(yù)測(cè)模型的預(yù)測(cè)準(zhǔn)確率較高、實(shí)時(shí)性合理,適合處理大量的交通流量預(yù)測(cè)數(shù)據(jù)。為路口車輛分流流量大小的預(yù)測(cè)提供了一種可靠的參考方法,在實(shí)際系統(tǒng)中,可以利用歷史RFID數(shù)據(jù)訓(xùn)練建立集成BP神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)模型,確定各個(gè)BP模型的連接權(quán)值和匯聚結(jié)合計(jì)算式的加權(quán)系數(shù),來預(yù)測(cè)路口實(shí)時(shí)車輛分流流量大小,并判斷預(yù)測(cè)的準(zhǔn)確率是否達(dá)到要求,如果不符合要求便更新建模的數(shù)據(jù)和各個(gè)BP模型的連接權(quán)值、匯聚結(jié)合計(jì)算式的加權(quán)系數(shù)。但本文對(duì)路口車輛分流流量大小預(yù)測(cè)的準(zhǔn)確率在0.9左右,仍有待提高。在本文的工作基礎(chǔ)上繼續(xù)深入研究,力爭(zhēng)建立性能更好的預(yù)測(cè)模型。
圖4 各個(gè)模型預(yù)測(cè)時(shí)間比較情況
參考文獻(xiàn):
[1]SMITH B L,DEMESKY MJ.Traffic flow forecasting:comparison of modeling approaches[J].Journal of Transportation Engineering,1997,123(4):262-266.
[2]朱學(xué)明.基于神經(jīng)網(wǎng)絡(luò)的短時(shí)交通流預(yù)測(cè)方法的研究與應(yīng)用[D/OL].蘭州:蘭州理工大學(xué),2013[2013-10-30].http:/xueshu.baidu.com/s?wd=paperuri%3A%28cccf11993959c64f0b0fa 9321a 680311%29amp;filter=sc_long_signamp;tn=SE_xueshusource_2kduw 22vamp;sc_vurl=http%3A%2F%2Fd.wanfangdata.com.cn%2F Thesis%2FY2335877amp;ie=utf-8.ZHU X M.Research and application on the short-term traffic flow prediction based on neural network[D/OL].Lanzhou:Lanzhou University of Technology,2013[2013-10-30].http://xueshu.baidu.com/s?wd=paperuri%3 A%28cccf11993959c 64f0b 0fa9321a680311%29amp;filter=sc_long_signamp;tn=SE_xueshusource_2kduw22vamp;sc_vurl=http%3A%2F%2Fd.wanfangdata.com.cn%2FThesis%2FY2335877amp;ie=utf-8.
[3]ZHAO J Y,JIA L,WANG X Q.The forecasting model of urban traffic flow based on parallel RBF neural network[C]/The Interneational Conference on Intelligent Computing and Applications,April 4-6,2015,Wuhan,China.[S.l.:s.n.],2005:515-520.
[4]董春嬌,邵春福,熊志華,等.基于Elman神經(jīng)網(wǎng)絡(luò)的道路網(wǎng)短時(shí)交通流預(yù)測(cè)方法[J].交通運(yùn)輸系統(tǒng)工程與信息,2010,10(1):145-151.DONG C J,SHAO C F,XIONG Z H,et al.Short-term traffic flow forecasting of road network based on Elman beural network[J].Transportation Systems Engineering and Information Technology,2010,10(1):145-151.
[5]徐啟華,楊瑞.支持向量機(jī)在交通流量實(shí)時(shí)預(yù)測(cè)中的應(yīng)用[J].公路交通科技,2005,22(12):131-134.XU Q H,YANG R.Traffic flow prediction using support vector machine based method[J].Highway and Transportation Research and Development,2005,22(12):131-134.
[6]MITCHELL T M.機(jī)器學(xué)習(xí)[M].北京:機(jī)械工業(yè)出版社,2003:60-90.MITCHELL T M.Machine Learing[M].Beijing:China Machine Press,2003:60-90.
[7]朱晨杰,楊永麗.基于MapReduce的BP神經(jīng)網(wǎng)絡(luò)算法研究[J].微型電腦應(yīng)用,2012,28(10):9-12.ZHU C J,YANG Y L.Research of MapReduce based on BP neural network algorithm[J].Microcomputer Applications,2012,28(10):9-12.
[8]BREIMAN L.Bagging predictors[J].Machine Learning,1996,24(2):123-140.
[9]CONNOLLY J F,GTANGER E,SABOURIN R.Dynamic multi-objective evolution of classifier ensembles for video face recognition[J].Applied Soft Computing,2013,13(6):3149-3166.
[10]SAUX B L,SANFOURCHE M.Robust vehicle categorization from aerial images by 3d-template matching and multiple classifier system[C]/The 7th International Symposium on Imageamp;Signal Processingamp;Analysis,September 4-6,2011,Dubrovnik,Croatia.New Jersey:IEEE Press,2011:466-470.
[11]KRAWCZYK B,SCHAEFER G.Effective multiple classifier systems for breast thermogram analysis[C]/The 21st Inte rnational Conference on Pattern Recognition(ICPR),November 11-15,2012,Tsukuba,Japan.New Jersey:IEEE Press,2012:3345-3348.
[12]尚寧,罩明貴,王亞琴,等.基于BP神經(jīng)網(wǎng)絡(luò)的路口短時(shí)交通流量預(yù)測(cè)方法[J].計(jì)算機(jī)應(yīng)用與軟件,2006,23(2):32-33.SHANG N,QIN MG,WANG Y Q,et al.A BP neural network method for short-term traffic flow forecasting on crossroads[J].Computer Applications and Software,2006,23(2):32-33.
[13]崔德光,吳淑寧,徐冰.空中交通流量預(yù)測(cè)的人工神經(jīng)網(wǎng)絡(luò)和回歸組合方法[J].清華大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,45(1):96-99.CUI D G,WU S N,XU B.Air traffic flow forecasts based on artificial neural networks combined with regression methods[J].Journal of Tsinghua University(Science and Technology Edition),2005,45(1):96-99.
[14]DIETTERICH T G.Ensemble Methods in Machine Learning[M].Berlin:Springer Berlin Heidelberg,2000:1-15.
[15]CHU C T,SANG K K,LIN Y A,et al.Map-reduce for machine learning on multicore[C]/The Twentieth Annual Conference on Neural Information Processing Systems,December 4-7,2006,Vancouver,Canada.[S.l.:s.n.],2006,281-288.
[16]QUINLAN J R.Bagging,boosting,and C4.5[EB/OL].(1996-08-04)[2015-3-11].http:/xueshu.baidu.com/s?wd=paperuri%3A%28c35 bca131cc209561cc4f533a6cfd1a0%29amp;filter=sc_long_signamp;sc_ks_para=q%3DBagging%2C%20boosting%2C%20and%20C4.Samp;tn=SE_baiduxueshu_c1gjeupaamp;ie=utf-8.
[17]鞠訓(xùn)光,邵曉根,鮑蓉,等.Hadoop下并行BP神經(jīng)網(wǎng)絡(luò)駱馬湖水質(zhì)分類[J].南京師大學(xué)報(bào)(自然科學(xué)版),2014,37(1):52-56.JU X G,SHAO X G,BAO R,et al.Based on parallel BP neural network of classification on water quality of Luoma lake under hadoop[J].Journal of Nanjing Normal University(Natural Science Edition),2014,37(1):52-56.
[18]朱啟敏.基于云計(jì)算平臺(tái)的神經(jīng)網(wǎng)絡(luò)計(jì)算方法及其應(yīng)用研究[D/OL].廣州:華南理工大學(xué),2014[2014-12-28].http:/xueshu.baidu.com/s wd=paperuri%3A%28376cd6d6a7a74296 f30ac 11139993edc%29amp;filter=sc_long_signamp;tn=SE_xueshusource_2kduw22vamp;sc_vurl=http%3A%2F%2Fcdmd.cnki.com.cn%2FArticle%2FCDMD-10561-1014064144.htmamp;ie=utf-8.ZHU Q M.Research on computation methods of neural networks and applications based on a cloud computing platform(master dessertation).Guangzhou:South China University of Technology,2014[2014-12-28].http:/xueshu.baidu.com/s wd=paperuri%3A%28376cd6d6a7a74296f30ac 11139993edc%29amp;filter=sc_long_signamp;tn=SE_xueshusource_2kduw22vamp;sc_vurl=http%3A%2F%2Fcdmd.cnki.com.cn%2FArticle%2FCDMD-10561-1014064144.htmamp;ie=utf-8.
[19]南京交通RFID及車牌識(shí)別數(shù)據(jù)集(樣例版)[EB/OL].(2015-04-20)[2015-05-21].http:/www.datatang.com/data/47187.
Research and app lication of prediction model based on ensemble BP neural network
ZHAO Huimin,LUO Jiangtao,YANG Junchao,XU Zheng,LEI Xiao,LUO Lin
Electronic Information and Networking Research Institute,Chongqing University of Posts and Telecommunications,Chongqing 400065,China
BP neural network provides a robust and effective learning method for approximating real values.It is fit for intersection traffic flow prediction.In order to resolve its slow convergence speed and easily falling into local minimum problem,an ensemble prediction model was proposed.This model integrated multiple BP neural networks which had different initial weights and training set and used weighted average as combination method.It had used an improved MapReduce method to implement every BP neural network of the ensemble prediction model.This ensemble prediction model took traffic shunt flow prediction at intersection as an example.At last,it was compared with simple single implementation BP model and MapReduce implementation BP model respectively.Finally,results prove that ensemble prediction model has a higher accuracy rate and real-time performance in traffic shunt flow prediction at intersection.
BP neural network,ensemble prediction,MapReduce,weighted average,traffic shunt flow prediction at intersection
s:Collaborative Innovation Center for Information Communication Technology Foundation of Chongqing,Key Technology Research on Classification,Identification of Network Traffic and Depth Analysis Based on Cloud Computing(No.cstc2013yykfA40006)
10.11959/j.issn.1000-0801.2016060
2015-10-07;
2016-01-08
重慶市新一代信息網(wǎng)絡(luò)與終端協(xié)同創(chuàng)新中心經(jīng)費(fèi)支持項(xiàng)目;基于云計(jì)算的網(wǎng)絡(luò)流量分類標(biāo)識(shí)和深度分析關(guān)鍵技術(shù)研究項(xiàng)目(No.cstc2013yykfA40006)
趙會(huì)敏(1988-),女,重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究所碩士生,主要研究方向?yàn)閿?shù)據(jù)挖掘、交通大數(shù)據(jù)分析。
雒江濤(1971-),男,博士,重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究所副院長(zhǎng)、教授、博士生導(dǎo)師,IEEE高級(jí)會(huì)員,主要研究方向?yàn)橐苿?dòng)互聯(lián)網(wǎng)數(shù)據(jù)挖掘和新一代網(wǎng)絡(luò)技術(shù)。
楊軍超(1988-),男,重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究所博士生,主要研究方向?yàn)閿?shù)據(jù)挖掘。
徐正(1989-),男,重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究所碩士生,主要研究方向?yàn)閿?shù)據(jù)挖掘。
雷曉(1989-),男,重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究所碩士生,主要研究方向?yàn)閿?shù)據(jù)挖掘。
羅林(1990-),男,重慶郵電大學(xué)電子信息與網(wǎng)絡(luò)工程研究所碩士生,主要研究方向?yàn)閿?shù)據(jù)挖掘。