李如平, 朱 煉,吳房勝,徐珍玉
?
BP神經(jīng)網(wǎng)絡(luò)算法改進(jìn)及應(yīng)用研究*
李如平1, 朱煉1,吳房勝1,徐珍玉2
(1.安徽工商職業(yè)學(xué)院電子信息系,安徽 合肥 231131;2.農(nóng)業(yè)部農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)集成與應(yīng)用重點(diǎn)實(shí)驗(yàn)室,安徽 合肥 230088)
人工神經(jīng)網(wǎng)絡(luò)算法具有較強(qiáng)的非線性映射功能,BP神經(jīng)網(wǎng)絡(luò)算法是人工神經(jīng)網(wǎng)絡(luò)算法的代表,在分析BP神經(jīng)網(wǎng)絡(luò)算法結(jié)構(gòu)的基礎(chǔ)上,提出了BP神經(jīng)網(wǎng)絡(luò)算法誤差與權(quán)值調(diào)整并對(duì)算法進(jìn)行了改進(jìn),然后建立了基于BP神經(jīng)網(wǎng)絡(luò)算法的應(yīng)用,BP神經(jīng)網(wǎng)絡(luò)算法具有較好的適應(yīng)性.
人工神經(jīng)網(wǎng)絡(luò);BP神經(jīng)網(wǎng)絡(luò);預(yù)測(cè)
人工神經(jīng)網(wǎng)絡(luò)( Artificial Neural Network,ANN)算法近年來發(fā)展迅速,在其算法中最具代表性的BP( Back -Propagation) 神經(jīng)網(wǎng)絡(luò)算法,其結(jié)構(gòu)簡(jiǎn)單,可操作性強(qiáng),輸入輸出能模擬任意的非線性關(guān)系[1].目前,BP神經(jīng)網(wǎng)絡(luò)算法已成為人工神經(jīng)網(wǎng)絡(luò)算法中應(yīng)用比較廣泛的一種.
BP神經(jīng)網(wǎng)絡(luò)是由輸入層、隱含層(即中間層)和輸出層三層結(jié)構(gòu)組成,其結(jié)構(gòu)如圖1所示.xi表示輸入層,hi表示隱含層,yi表示輸出層[2].
圖1 三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
在三層BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中,輸入層和輸出層的神經(jīng)單元個(gè)數(shù)是根據(jù)具體問題來確定,而隱含層的神經(jīng)單元數(shù)通常由經(jīng)驗(yàn)來確定.
設(shè)輸入向量為X=(x1,x2,…,xi,…,xm)T;
隱含層輸出向量為H=(h1,h2,…,hj,…h(huán)l)T;
輸出層輸出向量為Y=(y1,y2,…,yk,…,yn)T;
期望輸出向量為D=(d1,d2,…dk,…,dn)T.
輸入層到隱含層之間的權(quán)值矩陣用V表示,
V=(V1,V2,…,Vj,…Vl),其中列向量Vj為隱含層第j個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)向量;
隱含層各單元的輸出閾值用θj表示,其中j=1,2,…,l
隱含層到輸出層之間的權(quán)值矩陣用W=(W1,W2,…,Wk,…,Wl),其中列向量Wk為輸出層第k個(gè)神經(jīng)元對(duì)應(yīng)的權(quán)向量.
輸出層各單元的輸出閾值用γk表示,其中k=1,2,…,n
則BP神經(jīng)網(wǎng)絡(luò)的前饋計(jì)算描述如下:
對(duì)于輸出層,有
yk=f(netk)k=1,2,…,n
(1)
(2)
對(duì)于隱含層,有
hj=f(netj)j=1,2,…,l
(3)
(4)
式(3)、式(4)中,傳遞函數(shù)f(x)可以為單極性Sigmoid函數(shù)
(5)
確定了BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)之后,對(duì)BP神經(jīng)網(wǎng)絡(luò)通過輸入輸出樣本集進(jìn)行訓(xùn)練,即通過調(diào)整網(wǎng)絡(luò)的權(quán)值和閾值,進(jìn)行學(xué)習(xí),網(wǎng)絡(luò)經(jīng)過訓(xùn)練后,輸入輸出的映射關(guān)系從而得到實(shí)現(xiàn).該方法首先計(jì)算網(wǎng)絡(luò)實(shí)際輸出與期望輸出的誤差,接著反傳誤差,由此逐層調(diào)整網(wǎng)絡(luò)的權(quán)值、閾值.其學(xué)習(xí)流程如圖2所示.
圖2 BP神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)流程圖
BP權(quán)值和閾值調(diào)整計(jì)算公式為:
對(duì)于輸出層:
(6)
(7)
對(duì)于隱含層:
(8)
(9)
0<η′<1.
標(biāo)準(zhǔn)BP神經(jīng)網(wǎng)絡(luò)具有結(jié)構(gòu)清楚,思路明晰,操作性強(qiáng)等優(yōu)點(diǎn).但是由于算法采用梯度下降法,BP神經(jīng)網(wǎng)絡(luò)容易因此陷入局部最小值,收斂速度慢.因此,人們?cè)趯?duì)傳統(tǒng)BP算法進(jìn)行多種方法的改進(jìn),從而提高訓(xùn)練速度,實(shí)現(xiàn)避免陷入局部極小值和改善其它功能.另外,基于非線性優(yōu)化的訓(xùn)練算法的提出和應(yīng)用,提高了BP神經(jīng)網(wǎng)絡(luò)的收斂速度.算法的改進(jìn)對(duì)實(shí)際應(yīng)用意義十分重要,常用的改進(jìn)算法有:
3.1自適應(yīng)學(xué)習(xí)率法
(10)
式中,mse為均方誤差.
3.2Levenberg-Marquardt法[4]
Levenberg-Marquardt法是結(jié)合了梯度下降法和牛頓法的一種方法.Levenberg-Marquardt法可以描述如下:
(11)
式中,向量X(k)是由所有權(quán)值和閾值兩者組成;η(k)為在S(X(k))方向上使f(X(k+1))達(dá)到極小的步長(zhǎng);S(X(k))為由X各分量組成的向量空間的搜索方向,定義為S(X(k))=-(H(k)+λ(k)I)-1▽f(X(k)),I表示單位矩陣,H為海森矩陣.
這樣,網(wǎng)絡(luò)權(quán)值可通過下面兩步進(jìn)行尋優(yōu):1)首先對(duì)當(dāng)前迭代的最佳搜索方向進(jìn)行確定; 2)尋求最優(yōu)迭代步長(zhǎng).
Levenberg-Marquardt法的權(quán)值數(shù)目較少時(shí)具有收斂快速的優(yōu)點(diǎn),但是該算法對(duì)存儲(chǔ)量需求較大.
城市交通擁堵目前已成為各大城市急需解決的交通問題,將以BP神經(jīng)網(wǎng)絡(luò)算法作為數(shù)學(xué)模型應(yīng)用于交通流量預(yù)測(cè),為智能交通系統(tǒng)提供準(zhǔn)確的數(shù)據(jù),從而為城市道路行車提供引導(dǎo),具有較好的實(shí)用性.
城市道路交通狀況一般具有間斷性,車流量通常受到一些交通地點(diǎn)及設(shè)施的控制(如交叉路口、交通標(biāo)志、信號(hào)燈等),因此采用單點(diǎn)時(shí)間序列預(yù)測(cè)法,即模型只考慮單一路段行車速度在時(shí)間上的變化規(guī)律,不考慮各路段行車速度之間的相關(guān)關(guān)系.假設(shè)某條路段,以固定的采樣周期檢測(cè)行車速度數(shù)據(jù).依據(jù)BP神經(jīng)網(wǎng)絡(luò)的工作原理,構(gòu)建行車速度實(shí)時(shí)預(yù)測(cè)模型,如圖3所示.
圖3 行車速度實(shí)時(shí)預(yù)測(cè)模型
模型中各符號(hào)意義如下:
t:采樣時(shí)間點(diǎn);
Δt:間隔時(shí)間;
i:預(yù)測(cè)路段號(hào);
NN:BP神經(jīng)網(wǎng)絡(luò),用于預(yù)測(cè)t+(n+1)Δt,t+(n+2)Δt時(shí)刻的路段的行車速度;
vi(t):編號(hào)為i的路段t時(shí)刻行車速度實(shí)測(cè)值;
在模型中,t時(shí)刻學(xué)習(xí)步驟為:把預(yù)測(cè)路段從t-nΔt時(shí)刻到t-Δt時(shí)刻的行車速度構(gòu)成1×n矩陣作為樣本輸入.把該預(yù)測(cè)路段t時(shí)刻的行車速度構(gòu)成1×1矩陣作為樣本輸出,用來訓(xùn)練網(wǎng)絡(luò).
在t+nΔt時(shí)刻的預(yù)測(cè)過程為:把預(yù)測(cè)路段從t+Δt時(shí)刻到t+nΔt時(shí)刻的行車速度作為樣本輸入,用訓(xùn)練好的網(wǎng)絡(luò)進(jìn)行預(yù)測(cè),得到t+(n+1)Δt時(shí)刻該路段的行車速度的預(yù)測(cè)值.
隨著時(shí)間的推進(jìn),當(dāng)前時(shí)刻從t變?yōu)閠+Δt,…,t+nΔt,一直這樣進(jìn)行下去,模型就滾動(dòng)地加入新數(shù)據(jù),舊數(shù)據(jù)不斷去除,新的預(yù)測(cè)結(jié)果得出,從而進(jìn)行實(shí)時(shí)預(yù)測(cè)行車速度.
在實(shí)時(shí)預(yù)測(cè)的基礎(chǔ)上進(jìn)行短時(shí)預(yù)測(cè)模型建立.一個(gè)三層BP網(wǎng)絡(luò)就可以完成任意精度的n維到m維的映射,所以用一個(gè)隱含層的BP網(wǎng)絡(luò)就能滿足許多應(yīng)用要求,因此選用三層BP網(wǎng)絡(luò)進(jìn)行自適應(yīng)預(yù)測(cè).
隱含層神經(jīng)元數(shù)目的選擇是一個(gè)十分復(fù)雜的問題,與待解決問題的要求、輸入輸出單元的數(shù)目都有關(guān)系,但不能像輸入輸出單元那樣可直接指定,而需要根據(jù)設(shè)計(jì)者的經(jīng)驗(yàn)和多次試驗(yàn)來確定.因?yàn)樯窠?jīng)元數(shù)目太多會(huì)導(dǎo)致學(xué)習(xí)時(shí)間過長(zhǎng)、泛化能力弱.下面2個(gè)公式是隱含層單元數(shù)選擇時(shí)的參考公式:
(12)
(13)
式中,L為隱含層的神經(jīng)元個(gè)數(shù),n,m分別為輸入和輸出層神經(jīng)元數(shù)目,N為樣本容量.當(dāng)樣本數(shù)多時(shí),根據(jù)(12)式得出的神經(jīng)元數(shù)目過多.(13)式得出的神經(jīng)元數(shù)目往往偏少.綜合(12)、(13)式確定神經(jīng)元數(shù)目取值范圍為[3,8]區(qū)間內(nèi)的整數(shù),參考均方誤差MSE和均等系數(shù)EC來綜合評(píng)價(jià)網(wǎng)絡(luò)的預(yù)測(cè)效果,各種網(wǎng)絡(luò)結(jié)構(gòu)使用的訓(xùn)練算法均為L(zhǎng)evenberg-Marquardt算法.
(14)
(15)
式中Ypred(t)表示t時(shí)刻該路段的行車速度預(yù)測(cè)值,Yreal(t)表示t時(shí)刻該路段行車速度的實(shí)測(cè)值,MSE對(duì)誤差求平方,在指標(biāo)中強(qiáng)化了誤差的作用,進(jìn)而指標(biāo)的靈敏性得到了提高.EC值的大小是對(duì)預(yù)測(cè)結(jié)果好壞的充分反映, EC值大于0.85為較好的預(yù)測(cè), EC值大于0.9的預(yù)測(cè)為滿意的預(yù)測(cè),EC值越高,預(yù)測(cè)效果越好.
由于實(shí)際交通狀況具有高度復(fù)雜性和不確定性,預(yù)測(cè)技術(shù)也需要滿足客觀環(huán)境變化和應(yīng)用的需要進(jìn)行不斷的改進(jìn).而以BP神經(jīng)網(wǎng)絡(luò)算法的智能計(jì)算方法由于具有自適應(yīng)性.自組織性和自學(xué)習(xí)等優(yōu)點(diǎn),成為智能交通系統(tǒng)信息處理、預(yù)測(cè)和控制中常用方法.
[1]張文鴿,吳澤寧,逯洪波.BP 神經(jīng)網(wǎng)絡(luò)的改進(jìn)及其應(yīng)用[J].河南科學(xué),2003, 21(2):202-206.
[2]叢爽.神經(jīng)網(wǎng)絡(luò)、模糊系統(tǒng)及其在運(yùn)動(dòng)控制中的應(yīng)用[M].合肥:中國(guó)科學(xué)技術(shù)出版社.2001,13-19.
[3]朱武亭,劉以建. BP神經(jīng)網(wǎng)絡(luò)應(yīng)用中的問題及其解決[J].上海海事大學(xué)學(xué)報(bào),2005,26(2):64-66.
[4]Martin Hagan T,Howard DemuthB,Mark Beale H,戴葵,等. Neural Network design[M].北京:機(jī)械工業(yè)出版社,2002.
[5]黃麗.BP神經(jīng)網(wǎng)絡(luò)算法改進(jìn)及應(yīng)用研究[D].重慶:重慶師范大學(xué), 2008.
[6]陳敏.基于BP神經(jīng)網(wǎng)絡(luò)的混沌時(shí)間序列預(yù)測(cè)模型研究[D].長(zhǎng)沙:中南大學(xué), 2007.
[7]羅勝琪.BP算法的改進(jìn)與性能分析[J].中國(guó)科技博覽.2011, 33:408-409.
BP Neural Network Algorithm Improvement and Application Research
LI Ru-ping1, ZHU Lian1, WU Fang-shen1, XU Zhen-yu2
(1.Department of Electronic Information,Anhui Business Vocational College,Hefei Anhui 231131,China; 2. Key Laboratory of Agricultural IOT Technology Integration and Application,Ministry of Agriculture,Hefei Anhui 230088,China)
Artificial neural network algorithm has strong nonlinear mapping function, the representative of which is BP neural network algorithm. Based on BP neural network algorithm structure analysis, the paper proposes neural network algorithm error and weight adjustment and improvement, establishes the application based on BP neural network algorithm, which has the better adaptability.
artificial neural network; BP neural network; prediction
1673-2103(2016)02-0013-05
2016-01-12
安徽高校自然科學(xué)研究重點(diǎn)項(xiàng)目(KJ2015A389,KJ2015A450,KJ2016A081); 安徽高校自然科學(xué)研究一般項(xiàng)目(KJ2016B004,KJ2016B006); 安徽省高校學(xué)科(專業(yè))拔尖人才學(xué)術(shù)資助重點(diǎn)項(xiàng)目(gxbjZD2016094);全國(guó)學(xué)校共青團(tuán)研究課題(2015LX163)
李如平(1973-),男,安徽肥東人,副教授 ,碩士,研究方向:計(jì)算機(jī)應(yīng)用、物聯(lián)網(wǎng)技術(shù)、網(wǎng)絡(luò)信息安全及管理.
TP183
A