BP神經網絡預測應用論文

時間:2022-03-12 09:46:00

導語:BP神經網絡預測應用論文一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

BP神經網絡預測應用論文

摘要人工神經網絡是一種新的數學建模方式,它具有通過學習逼近任意非線性映射的能力。本文提出了一種基于動態bp神經網絡預測方法,闡述了其基本原理,并以典型實例驗證。

關鍵字神經網絡,BP模型,預測

1引言

在系統建模、辨識和預測中,對于線性系統,在頻域,傳遞函數矩陣可以很好地表達系統的黑箱式輸入輸出模型;在時域,Box-Jenkins方法、回歸分析方法、ARMA模型等,通過各種參數估計方法也可以給出描述。對于非線性時間序列預測系統,雙線性模型、門限自回歸模型、ARCH模型都需要在對數據的內在規律知道不多的情況下對序列間關系進行假定。可以說傳統的非線性系統預測,在理論研究和實際應用方面,都存在極大的困難。相比之下,神經網絡可以在不了解輸入或輸出變量間關系的前提下完成非線性建模[4,6]。神經元、神經網絡都有非線性、非局域性、非定常性、非凸性和混沌等特性,與各種預測方法有機結合具有很好的發展前景,也給預測系統帶來了新的方向與突破。建模算法和預測系統的穩定性、動態性等研究成為當今熱點問題。目前在系統建模與預測中,應用最多的是靜態的多層前向神經網絡,這主要是因為這種網絡具有通過學習逼近任意非線性映射的能力。利用靜態的多層前向神經網絡建立系統的輸入/輸出模型,本質上就是基于網絡逼近能力,通過學習獲知系統差分方程中的非線性函數。但在實際應用中,需要建模和預測的多為非線性動態系統,利用靜態的多層前向神經網絡必須事先給定模型的階次,即預先確定系統的模型,這一點非常難做到。近來,有關基于動態網絡的建模和預測的研究,代表了神經網絡建模和預測新的發展方向。

2BP神經網絡模型

BP網絡是采用Widrow-Hoff學習算法和非線性可微轉移函數的多層網絡。典型的BP算法采用梯度下降法,也就是Widrow-Hoff算法。現在有許多基本的優化算法,例如變尺度算法和牛頓算法。如圖1所示,BP神經網絡包括以下單元:①處理單元(神經元)(圖中用圓圈表示),即神經網絡的基本組成部分。輸入層的處理單元只是將輸入值轉入相鄰的聯接權重,隱層和輸出層的處理單元將它們的輸入值求和并根據轉移函數計算輸出值。②聯接權重(圖中如V,W)。它將神經網絡中的處理單元聯系起來,其值隨各處理單元的聯接程度而變化。③層。神經網絡一般具有輸入層x、隱層y和輸出層o。④閾值。其值可為恒值或可變值,它可使網絡能更自由地獲取所要描述的函數關系。⑤轉移函數F。它是將輸入的數據轉化為輸出的處理單元,通常為非線性函數。

2.1基本算法

BP算法主要包含4步,分為向前傳播和向后傳播兩個階段:

1)向前傳播階段

(1)從樣本集中取一個樣本(Xp,Yp),將Xp輸入網絡;

(2)計算相應的實際輸出Op

在此階段,信息從輸入層經過逐級的變換,傳送到輸出層。這個過程也是網絡在完成訓練后正常運行時的執行過程。

2)向后傳播階段

(1)計算實際輸出Op與相應的理想輸出Yp的差;

(2)按極小化誤差的方式調整權矩陣。

這兩個階段的工作受到精度要求的控制,在這里取作為網絡關于第p個樣本的誤差測度,而將網絡關于整個樣本集的誤差測度定義為。圖2是基本BP算法的流程圖。

2.2動態BP神經網絡預測算法

在經典的BP算法以及其他的訓練算法中都有很多變量,這些訓練算法可以確定一個ANN結構,它們只訓練固定結構的ANN權值(包括聯接權值和結點轉換函數)。在自動設計ANN結構方面,也已有較多的嘗試,比如構造性算法和剪枝算法。前一種是先隨機化網絡,然后在訓練過程中有必要地增加新的層和結點;而剪枝法則正好相反。文獻[2]中提出了演化神經網絡的理念,并把EP算法與BP進行了組合演化;也有很多學者把遺傳算法和BP進行結合,但這些算法都以時間復雜度以及空間復雜度的增加為代價。根據Kolmogorov定理,對于任意給定的L2型連續函數f:[0,1]n→Rm,f可以精確地用一個三層前向神經網絡來實現,因而可以只考慮演化網絡的權值和結點數而不影響演化結果。基于此,在BP原有算法的基礎上,增加結點數演化因子,然后記錄每層因子各異時演化出的結構,最后選取最優的因子及其網絡結構,這樣就可以避免由于增加或剪枝得到的局部最優。根據實驗得知,不同的預測精度也影響網絡層神經元的結點數,所以可根據要求動態地建立預測系統。具體步驟如下:

(1)將輸入向量和目標向量進行歸一化處理。

(2)讀取輸入向量、目標向量,記錄輸入維數m、輸出層結點數n。

(3)當訓練集確定之后,輸入層結點數和輸出層結點數隨之而確定,首先遇到的一個十分重要而又困難的問題是如何優化隱層結點數和隱層數。實驗表明,如果隱層結點數過少,網絡不能具有必要的學習能力和信息處理能力。反之,若過多,不僅會大大增加網絡結構的復雜性(這一點對硬件實現的網絡尤其重要),網絡在學習過程中更易陷入局部極小點,而且會使網絡的學習速度變得很慢。隱層結點數的選擇問題一直受到神經網絡研究工作者的高度重視。Gorman指出隱層結點數s與模式數N的關系是:s=log2N;Kolmogorov定理表明,隱層結點數s=2n+1(n為輸入層結點數);而根據文獻[7]:s=sqrt(0.43mn+0.12nn+2.54m+0.77n+0.35)+0.51[7]。

(4)設置結點數演化因子a。為了快速建立網絡,可以對其向量初始化,并從小到大排序[4,7]。

(5)建立BP神經網絡。隱含層傳遞函數用tansig,輸出層用logsig,訓練函數采用動態自適應BP算法,并制訂停止準則:目標誤差精度以及訓練代數。

(6)初始化網絡。

(7)訓練網絡直到滿足停止判斷準則。

(8)用測試向量對網絡進行預測,并記錄誤差和逼近曲線,評估其網絡的適應性。其適應度函數采取規則化均方誤差函數。

(9)轉到(5),選取下一個演化因子,動態增加隱含層結點數,直到最后得到最佳預測網絡。

3基于神經網絡的預測原理[4]

3.1正向建模

正向建模是指訓練一個神經網絡表達系統正向動態的過程,這一過程建立的神經網絡模型稱為正向模型,其結構如圖3所示。其中,神經網絡與待辨識的系統并聯,兩者的輸出誤差用做網絡的訓練信號。顯然,這是一個典型的有導師學習問題,實際系統作為教師,向神經網絡提供算法所需要的期望輸出。當系統是被控對象或傳統控制器時,神經網絡多采用多層前向網絡的形式,可直接選用BP網絡或它的各種變形。而當系統為性能評價器時,則可選擇再勵學習算法,這時網絡既可以采用具有全局逼近能力的網絡(如多層感知器),也可選用具有局部逼近能力的網絡(如小腦模型控制器等)。3.2逆向建模

建立動態系統的逆模型,在神經網絡中起著關鍵作用,并且得到了廣泛的應用。其中,比較簡單的是直接逆建模法,也稱為廣義逆學習。其結構如圖4所示,擬預報的系統輸出作為網絡的輸入,網絡輸出與系統輸入比較,相應的輸入誤差用于訓練,因而網絡將通過學習建立系統的逆模型。但是,如果所辨識的非線性系統是不可逆的,利用上述方法將得到一個不正確的逆模型。因此,在建立系統時,可逆性應該先有所保證。

4應用實例分析

以我國西南某地震常發地區的地震資料作為樣本來源,實現基于動態神經網絡的地震預報。根據資料,提取出7個預報因子和實際發生的震級M作為輸入和目標向量。預報因子為半年內M>=3的地震累計頻度、半年內能量釋放積累值、b值、異常地震群個數、地震條帶個數、是否處于活動期內以及相關地震區地震級。在訓練前,對數據進行歸一化處理。由于輸入樣本為7維的輸入向量,一般情況下輸入層設7個神經元。根據實際情況,輸出層神經元個數為1。隱含層神經元的傳遞函數為S型正切函數,輸出層也可以動態選擇傳遞函數。實例數據來自文獻[4],將數據集分為訓練集、測試集和確定集。表1中的7×7數組表示歸一化后的訓練向量,第一個7表示預報因子數,第二個7表示樣本數。

表1歸一化后的訓練向量

在不同神經元數情況下,對網絡進行訓練和仿真,得到如圖5所示的一組預測誤差曲線。其中,曲線A表示隱層結點數為6時的預測誤差曲線,曲線B表示隱含層結點數為3時的預測誤差曲線,曲線C表示隱含層結點數為5時的預測誤差曲線,曲線D表示隱含層結點數為4時的預測誤差曲線。將五種情況下的誤差進行對比,曲線C表示的網絡預測性能最好,其隱含層神經元數為5,圖中曲線E表示的是隱含層結點數為15時的預測誤差曲線(文獻[4]中的最好結果)。同時也證明,在設計BP網絡時,不能無限制地增加層神經元的個數。若過多,不僅會大大增加網絡結構的復雜性,網絡在學習過程中更易陷入局部極小點,而且會使網絡的學習速度、預測速度變得很慢。

5結論

本文針對基本的BP神經網絡,提出了可動態改變神經元數(與精度相關)的BP神經網絡預測方法,可以根據實際情況建立預測系統。用此種方法可以建立最好的神經網絡,不會有多余的神經元,也不會讓網絡在學習過程中過早陷于局部極小點。

參考文獻

[1]YaoX,LiuY.FastEvolutionaryProgramming.inEvolutionaryProgrammingⅤ:Proc.5thAnnu.Conf.EvolutionaryProgram,L.Fogel,P.AngelineandT.Bäck,Eds.Cambridge,MA:MITPress,1996,451-460

[2]XinYao,YongLiu,ANewEvolutionarySystemforEvolvingArtificialNeuralNetworksIEEETRANSACTIONSONNEURALNETWORKS,VOL8,NO.31997,694-714

[3]潘正君,康立山,陳毓屏.演化計算[M].北京:清華大學出版社,1998

[4]飛思科技產品研發中心.神經網絡理論與實現.北京:電子工業出版社,2005

[5]蔡曉芬,方建斌.演化神經網絡算法.江漢大學學報,第33卷第3期,2005.9

[6]蔣宗禮.人工神經網絡導論.北京:高等教育出版社,2001

[7]高大啟.有導師的線性基本函數前向三層神經網絡結構研究.計算機學報,第21卷第1期,1998