BP神經(jīng)網(wǎng)絡(luò)MATLAB編程代碼.doc

BP神經(jīng)網(wǎng)絡(luò)MATLAB編程代碼.doc

ID:50823579

大?。?3.00 KB

頁(yè)數(shù):9頁(yè)

時(shí)間:2020-03-15

BP神經(jīng)網(wǎng)絡(luò)MATLAB編程代碼.doc_第1頁(yè)
BP神經(jīng)網(wǎng)絡(luò)MATLAB編程代碼.doc_第2頁(yè)
BP神經(jīng)網(wǎng)絡(luò)MATLAB編程代碼.doc_第3頁(yè)
BP神經(jīng)網(wǎng)絡(luò)MATLAB編程代碼.doc_第4頁(yè)
BP神經(jīng)網(wǎng)絡(luò)MATLAB編程代碼.doc_第5頁(yè)
資源描述:

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

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

2、lc%創(chuàng)建一個(gè)新的前向神經(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.m

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

4、trainParam.epochs=1000;%允許最大訓(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);pause

5、clc%對(duì)BP網(wǎng)絡(luò)進(jìn)行仿真A=sim(net,P)%計(jì)算仿真誤差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語(yǔ)句生成:輸入矢量:P=[-1:0.05:1];目標(biāo)矢量:randn(’seed’,78341223);T=sin(2*pi*P)+0.

6、1*randn(size(P));解:本例的MATLAB程序如下:closeallclearechoonclc%NEWFF——生成一個(gè)新的前向神經(jīng)網(wǎng)絡(luò)%TRAIN——對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練%SIM——對(duì)BP神經(jīng)網(wǎng)絡(luò)進(jìn)行仿真pause%敲任意鍵開(kāi)始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ù)點(diǎn)plot(P,T,'+');echooffholdon;p

7、lot(P,sin(2*pi*P),':');%繪制不含噪聲的正弦曲線echoonclcpauseclc%創(chuàng)建一個(gè)新的前向神經(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('請(qǐng)選擇訓(xùn)練算法(1,2):');figure(gcf);if(choice==1)echoonclc%采用L-M優(yōu)化算

8、法TRAINLMnet.trainFcn='trainlm';pauseclc%設(shè)置訓(xùn)練參數(shù)net.trainParam.epochs=500;net.trainParam.goal=1e-6;net=init(net);%重新初始化pauseclcelseif(choice==2)echoonclc%采用貝葉斯正則化算法TRAINBRnet.trainFcn='trainbr';pauseclc%設(shè)置訓(xùn)練參數(shù)n

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

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

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