bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼

bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼

ID:28820001

大?。?5.00 KB

頁數(shù):9頁

時間:2018-12-14

bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼_第1頁
bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼_第2頁
bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼_第3頁
bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼_第4頁
bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼_第5頁
資源描述:

《bp神經(jīng)網(wǎng)絡(luò)matlab編程代碼》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、實用標(biāo)準(zhǔn)文案BP神經(jīng)網(wǎng)絡(luò)的設(shè)計MATLAB編程例1采用動量梯度下降算法訓(xùn)練BP網(wǎng)絡(luò)。訓(xùn)練樣本定義如下:輸入矢量為p=[-1-231-115-3]目標(biāo)矢量為t=[-1-111]解:本例的MATLAB程序如下:closeallclearechoonclc%NEWFF——生成一個新的前向神經(jīng)網(wǎng)絡(luò)%TRAIN——對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練%SIM——對BP神經(jīng)網(wǎng)絡(luò)進行仿真pause%敲任意鍵開始clc%定義訓(xùn)練樣本%P為輸入矢量P=[-1,-2,3,1;-1,1,5,-3];%T為目標(biāo)矢量T=[-1,-1,1,1];pause;clc%創(chuàng)建一

2、個新的前向神經(jīng)網(wǎng)絡(luò)net=newff(minmax(P),[3,1],{'tansig','purelin'},'traingdm')%當(dāng)前輸入層權(quán)值和閾值inputWeights=net.IW{1,1}inputbias=net.b{1}%當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值layerWeights=net.LW{2,1}layerbias=net.b{2}pauseclc%設(shè)置訓(xùn)練參數(shù)net.trainParam.show=50;net.trainParam.lr=0.05;net.trainParam.mc=0.9;精彩文檔實用標(biāo)準(zhǔn)文案bp

3、net=newff(pr,[124],{'logsig','logsig'},'traingdx','learngdm');%建立BP神經(jīng)網(wǎng)絡(luò),12個隱層神經(jīng)元,4個輸出神經(jīng)元%tranferFcn屬性'logsig'隱層采用Sigmoid傳輸函數(shù)%tranferFcn屬性'logsig'輸出層采用Sigmoid傳輸函數(shù)%trainFcn屬性'traingdx'自適應(yīng)調(diào)整學(xué)習(xí)速率附加動量因子梯度下降反向傳播算法訓(xùn)練函數(shù)%learn屬性'learngdm'附加動量因子的梯度下降學(xué)習(xí)函數(shù)net.trainParam.epochs=10

4、00;%允許最大訓(xùn)練步數(shù)2000步net.trainParam.goal=0.001;%訓(xùn)練目標(biāo)最小誤差0.001net.trainParam.show=10;%每間隔100步顯示一次訓(xùn)練結(jié)果net.trainParam.lr=0.05;%學(xué)習(xí)速率0.05net.trainParam.epochs=1000;net.trainParam.goal=1e-3;pauseclc%調(diào)用TRAINGDM算法訓(xùn)練BP網(wǎng)絡(luò)[net,tr]=train(net,P,T);pauseclc%對BP網(wǎng)絡(luò)進行仿真A=sim(net,P)%計算仿真誤差

5、E=T-AMSE=mse(E)pauseclcechooff例2采用貝葉斯正則化算法提高BP網(wǎng)絡(luò)的推廣能力。在本例中,我們采用兩種訓(xùn)練方法,即L-M優(yōu)化算法(trainlm)和貝葉斯正則化算法(trainbr),用以訓(xùn)練BP網(wǎng)絡(luò),使其能夠擬合某一附加有白噪聲的正弦樣本數(shù)據(jù)。其中,樣本數(shù)據(jù)可以采用如下MATLAB語句生成:輸入矢量:P=[-1:0.05:1];目標(biāo)矢量:randn(’seed’,78341223);T=sin(2*pi*P)+0.1*randn(size(P));解:本例的MATLAB程序如下:closeallcle

6、ar精彩文檔實用標(biāo)準(zhǔn)文案echoonclc%NEWFF——生成一個新的前向神經(jīng)網(wǎng)絡(luò)%TRAIN——對BP神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練%SIM——對BP神經(jīng)網(wǎng)絡(luò)進行仿真pause%敲任意鍵開始clc%定義訓(xùn)練樣本矢量%P為輸入矢量P=[-1:0.05:1];%T為目標(biāo)矢量randn('seed',78341223);T=sin(2*pi*P)+0.1*randn(size(P));%繪制樣本數(shù)據(jù)點plot(P,T,'+');echooffholdon;plot(P,sin(2*pi*P),':');%繪制不含噪聲的正弦曲線echoonclcpa

7、useclc%創(chuàng)建一個新的前向神經(jīng)網(wǎng)絡(luò)net=newff(minmax(P),[20,1],{'tansig','purelin'});pauseclcechooffclcdisp('1.L-M優(yōu)化算法TRAINLM');disp('2.貝葉斯正則化算法TRAINBR');choice=input('請選擇訓(xùn)練算法(1,2):');figure(gcf);if(choice==1)echoonclc%采用L-M優(yōu)化算法TRAINLMnet.trainFcn='trainlm';pauseclc%設(shè)置訓(xùn)練參數(shù)net.trainPar

8、am.epochs=500;net.trainParam.goal=1e-6;net=init(net);%重新初始化精彩文檔實用標(biāo)準(zhǔn)文案pauseclcelseif(choice==2)echoonclc%采用貝葉斯正則化算法TRAINBRnet

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。