資源描述:
《bp神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)函數(shù)逼近的應(yīng)用分析》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫(kù)。
1、BP神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)函數(shù)逼近的應(yīng)用分析 (華南理工大學(xué)自動(dòng)化學(xué)院,廣東廣州510640)
摘要:文章指出了BP神經(jīng)網(wǎng)絡(luò)存在的問(wèn)題,選擇了一個(gè)具體的目標(biāo)函數(shù),利用Matlab的神經(jīng)網(wǎng)絡(luò)工具箱進(jìn)行系統(tǒng)仿真,通過(guò)改變系統(tǒng)的隱層神經(jīng)元數(shù)目、訓(xùn)練函數(shù)和激勵(lì)函數(shù),分別比較了系統(tǒng)在模型發(fā)生改變后在實(shí)現(xiàn)函數(shù)逼近性能方面的差異,并提出了要使BP神經(jīng)網(wǎng)絡(luò)在函數(shù)逼近方面具有良好的性能,在隱層神經(jīng)元數(shù)目、訓(xùn)練函數(shù)以及傳遞(激勵(lì))函數(shù)三個(gè)方面需要注意的問(wèn)題。
關(guān)鍵詞:神經(jīng)網(wǎng)絡(luò);BP算法;訓(xùn)練函數(shù)
中圖分類(lèi)號(hào):TP39文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):100
2、7—6921(XX)12—0094—03
1BP網(wǎng)絡(luò)模型
BP(BackPropagation)網(wǎng)絡(luò)是一種神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)算法。它由輸入層、中間層、輸出層組成階層型神經(jīng)網(wǎng)絡(luò),中間層可擴(kuò)展為多層。相鄰層之間各神經(jīng)元進(jìn)行全連接,而每層各神經(jīng)元之間無(wú)連接,網(wǎng)絡(luò)按有教師示教的方式進(jìn)行學(xué)習(xí),當(dāng)一對(duì)學(xué)習(xí)模式提供給網(wǎng)絡(luò)后,各神經(jīng)元獲得網(wǎng)絡(luò)的輸入響應(yīng)產(chǎn)生連接權(quán)值(Weight)。然后按減小希望輸出與實(shí)際輸出誤差的方向,從輸出層經(jīng)各中間層逐層修正各連接權(quán),回到輸入層。此過(guò)程反復(fù)交替進(jìn)行,直至網(wǎng)絡(luò)的全局誤差趨向給定的極小值,即完成學(xué)習(xí)的過(guò)程[
3、1]。BP網(wǎng)絡(luò)由輸入層i、隱含層j、輸出層k及各層之間的節(jié)點(diǎn)連接權(quán)所組成,典型的三層神經(jīng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如圖1所示。740)this.width=740"border=undefined>
在實(shí)際應(yīng)用中BP算法存在以下問(wèn)題[2]:①收斂速度慢,若加快收斂速度易產(chǎn)生振蕩;②存在局部極小和平臺(tái)問(wèn)題;③泛化能力差;④隱層節(jié)點(diǎn)數(shù)和初始值的選取缺乏理論指導(dǎo)。
2BP神經(jīng)網(wǎng)絡(luò)的應(yīng)用
2.1神經(jīng)網(wǎng)絡(luò)的建立
訓(xùn)練神經(jīng)網(wǎng)絡(luò)之前需要構(gòu)造一個(gè)網(wǎng)絡(luò)框架,函數(shù)newff()就是構(gòu)造神經(jīng)網(wǎng)絡(luò)的。它需要四個(gè)輸入條件,輸入樣本、
4、各層神經(jīng)元個(gè)數(shù)、各層神經(jīng)元傳遞函數(shù)和訓(xùn)練用函數(shù)名稱(chēng)。前饋型網(wǎng)絡(luò)訓(xùn)練之前必須對(duì)權(quán)值和閾值進(jìn)行初始化,newff()可以自動(dòng)完成,但無(wú)法重新賦初值??梢詰?yīng)用init()將網(wǎng)絡(luò)恢復(fù)到初始化狀態(tài)。
2.2神經(jīng)網(wǎng)絡(luò)的訓(xùn)練
初始化后的網(wǎng)絡(luò)即可用于訓(xùn)練,即將網(wǎng)絡(luò)的輸入和輸出反復(fù)作用于網(wǎng)絡(luò),不斷調(diào)整其權(quán)重和閾值,以使網(wǎng)絡(luò)性能函數(shù)net.performFcn達(dá)到最小,從而實(shí)現(xiàn)輸入輸出間的非線性映射。對(duì)于newff函數(shù)產(chǎn)生的網(wǎng)絡(luò),其缺省的性能函數(shù)是網(wǎng)絡(luò)輸出和實(shí)際輸出間的均方差MSE。
在MATLAB中訓(xùn)練網(wǎng)絡(luò)有兩類(lèi)模式:逐變模式(inc
5、rementalmode)和批變模式(batchmode)。在逐變模式中,每一個(gè)輸入被作用于網(wǎng)絡(luò)后,權(quán)重和閾值被更新一次。在批變模式中,所有的輸入被應(yīng)用于網(wǎng)絡(luò)后,權(quán)重和閾值才被更新一次。在這里我們只討論批變模式,以批變模式來(lái)訓(xùn)練網(wǎng)絡(luò)的函數(shù)是train,其語(yǔ)法主要格式為:
[net,tr]=train(NET,p,t)
其中p和t分別為輸入輸出矩陣,NET為由newff產(chǎn)生的要訓(xùn)練的網(wǎng)絡(luò),net為修正后的網(wǎng)絡(luò),tr為訓(xùn)練的記錄(訓(xùn)練步數(shù)epoch和性能perf)。train根據(jù)在newff函數(shù)中確定的訓(xùn)練函數(shù)來(lái)訓(xùn)練,不同的
6、訓(xùn)練函數(shù)對(duì)應(yīng)不同的訓(xùn)練算法[3]。
2.3仿真實(shí)例
已知系統(tǒng)輸入為:x=sin(k×pi/40)
系統(tǒng)輸出為:y=0.8×sin(pi×x)+0.2×cos(3×pi×x)
假定采樣點(diǎn)k[0,40],采用含有一個(gè)隱層的三層BP網(wǎng)絡(luò)建模。
2.3.1改變隱層神經(jīng)元數(shù)目。為了便于比較建立了兩個(gè)模型。模型一的神經(jīng)元為{1,5,1},模型二為{1,20,1},輸入層和隱層傳遞函數(shù)均為T(mén)ANSIG函數(shù),輸出層為線性函數(shù)。網(wǎng)絡(luò)訓(xùn)練采用基本梯度下降算法。仿真結(jié)果如圖2:
TRAINGD,Epoch0/50000,
7、MSE0.471802/0.001,Gradient2.21781/1e-010
TRAINGD,Epoch44848/50000,MSE0.000999988/0.001,Gradient0.00136914/1e-010
TRAINGD,Performancegoalmet.
將newff的參數(shù)[1,5,1]改為[1,20,1]可得仿真結(jié)果如圖3:
TRAINGD,Epoch0/50000,MSE1.14616/0.001,Gradient5.3834/1e-010
TRAINGD,Epoch3260
8、/50000,MSE0.000999415/0.001,Gradient0.00768474/1e-010
TRAINGD,Performancegoalmet.
2.3.2改變訓(xùn)練算法。采用trainlm算