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

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.