網站首頁 實用文 書信 面試 實習 實習報告 職場 職責 勵志 名言 熱點
當前位置:人人簡歷網 > 熱點 > 黨建文案

BP神經網路實現函式逼近的應用分析

欄目: 黨建文案 / 釋出於: / 人氣:9.64K

(華南理工大學 自動化學院,廣東 廣州 510640)
摘 要:文章指出了BP神經網路存在的問題,選擇了一個 具體的目標函式,利用Matlab的神經網路工具箱進行系統模擬,通過改變系統的隱層神經元 數目、訓練函式和激勵函式,分別比較了系統在模型發生改變後在實現函式逼近效能方面的 差異,並提出了要使BP神經網路在函式逼近方面具有良好的效能,在隱層神經元數目、訓練 函式以及傳遞(激勵)函式三個方面需要注意的問題。
關鍵詞:神經網路;
BP演算法;
訓練函式
中圖分類號:TP39  文獻標識碼:A  文章編號:1007—6921(2009)12—0094—03
1 BP網路模型

BP神經網路實現函式逼近的應用分析

BP (Back Propagation)網路是一種神經網路學習演算法。它由輸入層、中間層、輸出層組成 階層型神經網路,中間層可擴充套件為多層。相鄰層之間各神經元進行全連線,而每層各神經元 之間無連線,網路按有教師示教的方式進行學習,當一對學習模式提供給網路後,各神經元 獲得網路的輸入響應產生連線權值(Weight)。然後按減小希望輸出與實際輸出誤差的方向 ,從輸出層經各中間層逐層修正各連線權,回到輸入層。此過程反覆交替進行,直至網路的 全域性誤差趨向給定的極小值,即完成學習的過程[1]。BP網路由輸入層i、隱含層j 、輸出層k及各層之間的節點連線權所組成,典型的三層神經網路拓撲結構如圖1所示。740)h=740" border=undefined>
在實際應用中BP演算法存在以下問題[2]:①收斂速度慢,若加快收斂速度易產生振 蕩;
②存 在區域性極小和平臺問題;
③泛化能力差;
④隱層節點數和初始值的選取缺乏理論指導。
2 BP 神經網路的應用
2.1 神經網路的建立

訓練神經網路之前需要構造一個網路框架,函式newff() 就是構造神經網路的。它需要四個 輸入條件,輸入樣本、各層神經元個數、各層神經元傳遞函式和訓練用函式名稱。前饋型網 絡訓練之前必須對權值和閾值進行初始化,newff()可以自動完成,但無法重新賦初值。可 以應用init()將網路恢復到初始化狀態。
2.2 神經網路的訓練

初始化後的網路即可用於訓練,即將網路的輸入和輸出反覆作用於網路,不斷調整其權重和閾 值,以使網路效能函式ormFcn達到最小,從而實現輸入輸出間的非線性對映。對於n ewff函式產生的網路,其預設的效能函式是網路輸出和實際輸出間的均方差MSE。

在MATLAB中訓練網路有兩類模式:逐變模式(incremental mode)和批變模式(batch mode)。

在逐變模式中,每一個輸入被作用於網路後,權重和閾值被更新一次。在批變模式中,所有的 輸入被應用於網路後,權重和閾值才被更新一次。在這裡我們只討論批變模式,以批變模式來 訓練網路的函式是train ,其語法主要格式為:
[net,tr]=train(NET,p,t)

其中p和t分別為輸入輸出矩陣,NET為由newff產生的要訓練的網路,net為修正後的網路,tr 為訓練的記錄(訓練步數epoch和效能perf)。train根據在newff函式中確定的訓練函式來訓 練,不同的訓練函式對應不同的訓練演算法[3]。
2.3 模擬例項
已知系統輸入為:x=sin(k×pi/40)
系統輸出為:y=0.8×sin(pi×x)+0.2×cos(3×pi×x)
假定取樣點k[0,40],採用含有一個隱層的三層BP網路建模。
2.3.1 改變隱層神經元數目。為了便於比較建立了兩個模型。模型一的神經元為{1,5,1} ,模型二為{1,20,1},輸入層和隱層傳遞函式均為TANSIG函式,輸出層為線性函式。網路訓 練採用基本梯度下降演算法。模擬結果如圖2:
TRAINGD, Epoch 0/50000, MSE 0.471802/0.001, Gradient 2.21781/1e-010
TRAINGD, Epoch 44848/50000, MSE 0.000999988/0.001, Gradient 0.00136914/1e-010
TRAINGD, Performance goal met.
將newff的引數[1,5,1]改為[1,20,1]可得模擬結果如圖3:
TRAINGD, Epoch 0/50000, MSE 1.14616/0.001, Gradient 5.3834/1e-010
TRAINGD, Epoch 3260/50000, MSE 0.000999415/0.001, Gradient 0.00768474/1e-010
TRAINGD, Performance goal met.
2.3.2 改變訓練演算法。採用trainlm演算法的模擬結果如圖4所示。
TRAINLM, Epoch 0/50000, MSE 2.53147/0.001, Gradient 129.028/1e-010
TRAINLM, Epoch 4/50000, MSE 0.000509102/0.001, Gradient 0.18883/1e-010
TRAINLM, Performance goal met.
2.3.3 改變傳遞函式。輸入層和隱層均採用logsig傳遞函式的模擬結果如圖5所示。

740)h=740" border=undefined>740)h=740" border=undefined>
TRAINGDX, Epoch 0/50000, MSE 0.726278/0.001, Gradient 2.42265/1e-006
TRAINGDX, Epoch 203/50000, MSE 0.000998466/0.001, Gradient 0.00197551/1e-006
TRAINGDX, Performance goal met.
2.4 模擬分析

通過改變網路的隱層節點數目、訓練函式以及輸入層和隱層的傳遞函式,我們得到了不同的 模擬結果和誤差曲線圖,對比以上模擬結果和誤差曲線圖,可以得到以下一些結論:
2.4.1 其他條件不改變,增加隱層節點數目可以減少網路的訓練次數。但是隱層節點數 的增加會使系統變得更加複雜,並且過大的隱層節點數對網路模擬效能的改善也不是十分明 顯。通常隱層節點數目一般取作[4,5]:
740)h=740" border=undefined>
其中m、n分別為輸入節點數目與輸出節點數目,隱層節點數目可以根據公式(1)和(2)得 出一個初始值,然後利用逐步增長法修改,直到得到一個合適的值為止。所謂逐步增長就是 先從一個較簡單的網路開始,若不符合要求則逐步增加隱層節點數到合適為止。
2.4.2 其他條件不改變,改進型演算法Trainlm的訓練效果最好,Trainrp(強適應性BP 演算法)、Trainbfg(擬牛頓演算法)、Traingdx(自適應學習速度演算法)次之,Traingd(基本 梯度下降演算法)的訓練效果最差。只要知道網路的結構,輸入的向量和傳遞函式,Trainlm 演算法就可以訓練任意網路,它對中度規模的網路具有較快的收斂速度。Trainrp主要用於批 量模式訓練,收斂速度快,資料佔用儲存空間小。Trainbfg資料儲存量近似於Hessian矩陣,每 個訓練週期計算雖大,但收斂速度較快。Traingdx收斂速度快於Traingd,僅用於批量模式訓 練。Traingd收斂速度慢,可用於增量模式訓練[6~8]。
2.4.3 BP神經網路各層選用相同的傳遞函式,從生理上來說不符合人腦的特點。Matlab 工具箱提供了三種傳遞函式:tansig、logsig和purelin,前兩種為非線性函式,分別將x ∈(  - ∞, +∞)的輸入壓縮為y∈[-1,+1]和y∈[0,1]輸出。因此,對非線性問 題,輸入層和隱層多采用非線性傳遞函式,輸出層採用線性函式,以保持輸出的範圍。就非線 性傳遞函式而言,若樣本輸出均大於零時,多采用logsig函式,否則,採用tansig函式。對線性 系統而言,各層多采用線性函式。
3 結束語

筆者重點分析了隱層神經元數目、訓練函式以及傳遞函式的不同對目標函式逼近效能的 影響,提出了要得到一個好的BP網路需要在這三個方面注意的一些問題,如怎樣調整隱層神 經元數目等。當然,影響網路效能的因素還有學習步長的調整、誤差函式的選取以及網路初 始引數的設定等。限於篇幅,在此不做過多的討論。
[參考文獻]
[1] 胡伍生.神經網路理論及其工程應用[M].北京:測繪出版社,2006.
[2] Wen Jin-Wei Zhao Jia-Li Luo Si-Wei and Han Improvements of  BP Neural Network Learning Algorithm[J] Proceedings of ICSP2000,2000:1647 
[3] 桂現才神經網路在MATLAB上的實現與應用[J].湛江師範學院學報,2004,( 6).
[4] 徐廬生.微機神經網路[M].北京:中國醫藥科技出版社,1995.
[5] 高大啟.有教師的線性基本函式前向三層神經網路結構研究[J].計算機學報, 1998,21(1):80~85.
[6] Demuth H , Beale M. Neural network toolbox user"guide[M] . The Mat hWorks , Inc ,1997.
[7] Dobbins R. Neural network PC tools : a Practical guide[M]mbia  Academic Press ,1990.
[8] 施陽,李俊,王惠剛ab 語言工具箱- Toolbox 實用指南[M].西安:西北 工業大學出版社,1998.