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