例1 采用動(dòng)量梯度下降算法訓(xùn)練 BP 網(wǎng)絡(luò)_第1頁(yè)
例1 采用動(dòng)量梯度下降算法訓(xùn)練 BP 網(wǎng)絡(luò)_第2頁(yè)
例1 采用動(dòng)量梯度下降算法訓(xùn)練 BP 網(wǎng)絡(luò)_第3頁(yè)
例1 采用動(dòng)量梯度下降算法訓(xùn)練 BP 網(wǎng)絡(luò)_第4頁(yè)
例1 采用動(dòng)量梯度下降算法訓(xùn)練 BP 網(wǎng)絡(luò)_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、例1采用動(dòng)量梯度下降算法訓(xùn)練BP網(wǎng)絡(luò)。訓(xùn)練樣本定義如下:輸入矢量為p =-1 -2 3 1-1 1 5 -3目標(biāo)矢量為t = -1 -1 1 1解:本例的MATLAB程序如下:close allclearecho onclc% 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;clc%創(chuàng)建一個(gè)新的前向神經(jīng)網(wǎng)絡(luò)net二newff(minmax(P),3,1,tansig,pure

2、lin,traingdm)%當(dāng)前輸入層權(quán)值和閾值inputWeights二net.IW1,1inputbias二net.b1%當(dāng)前網(wǎng)絡(luò)層權(quán)值和閾值layerWeights二net.LW2,1layerbias二net.b2pauseclc%設(shè)置訓(xùn)練參數(shù)net.trainParam.show = 50;net.trainParam.lr = 0.05;net.trainParam.mc = 0.9;net.trainParam.epochs = 1000;net.trainParam.goal = 1e-3;pauseclc% 調(diào)用TRAINGDM算法訓(xùn)練BP網(wǎng)絡(luò)net,tr=train(net

3、,P,T);pauseclc%對(duì)BP網(wǎng)絡(luò)進(jìn)行仿真A = sim(net,P)%計(jì)算仿真誤差E = T - AMSE=mse(E)pauseclcecho off例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.1*randn(size(P);解:本例的MA

4、TLAB程序如下:close allclearecho onclc% 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,+);echo offhold on;plot(P,sin(2*pi*P),:);%繪制不含噪聲的正弦曲線echo onclcpauseclc%創(chuàng)建一個(gè)新的前向神經(jīng)網(wǎng)絡(luò)net

5、二newff(minmax(P),20,1,tansig,purelin);pauseclcecho offclcdisp(1. L-M優(yōu)化算法TRAINLM); disp(2.貝葉斯正則化算法 TRAINBR);choice二input(請(qǐng)選擇訓(xùn)練算法(1,2):);figure(gcf);if(choice=1)echo onclc%采用L-M優(yōu)化算法TRAINLMnet.trainFcn=trainlm;pauseclc%設(shè)置訓(xùn)練參數(shù)net.trainParam.epochs = 500;net.trainParam.goal = 1e-6;net二init(net);%重新初始化pau

6、seclcelseif(choice=2)echo onclc%采用貝葉斯正則化算法TRAINBRnet.trainFcn=trainbr;pauseclc% 設(shè)置訓(xùn)練參數(shù)net.trainParam.epochs = 500;randn(seed,192736547);net = init(net);% 重新初始化pauseclcend%調(diào)用相應(yīng)算法訓(xùn)練BP網(wǎng)絡(luò)net,tr=train(net,P,T);pauseclc%對(duì)BP網(wǎng)絡(luò)進(jìn)行仿真A = sim(net,P);%計(jì)算仿真誤差E = T - A;MSE=mse(E)pauseclc%繪制匹配結(jié)果曲線 close all;plot(P,

7、A,P,T,+,P,sin(2*pi*P),:);pause;clcecho off 通過(guò)采用兩種不同的訓(xùn)練算法,我們可以得到如圖1和圖2所示的兩種擬合結(jié) 果。圖中的實(shí)線表示擬合曲線,虛線代表不含白噪聲的正弦曲線, + ”點(diǎn)為含 有白噪聲的正弦樣本數(shù)據(jù)點(diǎn)。顯然,經(jīng)trainlm函數(shù)訓(xùn)練后的神經(jīng)網(wǎng)絡(luò)對(duì)樣本 數(shù)據(jù)點(diǎn)實(shí)現(xiàn)了 “過(guò)度匹配”,而經(jīng)trainbr函數(shù)訓(xùn)練的神經(jīng)網(wǎng)絡(luò)對(duì)噪聲不敏感, 具有較好的推廣能力。-10 0.Z 0-4 aw 】一1 -妙芯=耐#一(14-口念 o SN I|b4 。.忌值 得指出的是,在利用trainbr函數(shù)訓(xùn)練BP網(wǎng)絡(luò)時(shí),若訓(xùn)練結(jié)果收斂,通常 會(huì)給出提示信息“ Max

8、imum MU reached”。此外,用戶還可以根據(jù)SSE和SSW 的大小變化情況來(lái)判斷訓(xùn)練是否收斂:當(dāng)SSE和SSW的值在經(jīng)過(guò)若干步迭代后 處于恒值時(shí),則通常說(shuō)明網(wǎng)絡(luò)訓(xùn)練收斂,此時(shí)可以停止訓(xùn)練。觀察trainbr函 數(shù)訓(xùn)練BP網(wǎng)絡(luò)的誤差變化曲線,可見(jiàn),當(dāng)訓(xùn)練迭代至320步時(shí),網(wǎng)絡(luò)訓(xùn)練收斂, 此時(shí)SSE和SSW均為恒值,當(dāng)前有效網(wǎng)絡(luò)的參數(shù)(有效權(quán)值和閾值)個(gè)數(shù)為 11.7973。例3采用“提前停止”方法提高BP網(wǎng)絡(luò)的推廣能力。對(duì)于和例2相同的問(wèn)題, 在本例中我們將采用訓(xùn)練函數(shù)traingdx和“提前停止”相結(jié)合的方法來(lái)訓(xùn)練 BP網(wǎng)絡(luò),以提高BP網(wǎng)絡(luò)的推廣能力。解:在利用“提前停止”方法時(shí),首

9、先應(yīng)分別定義訓(xùn)練樣本、驗(yàn)證樣本或測(cè)試樣 本,其中,驗(yàn)證樣本是必不可少的。在本例中,我們只定義并使用驗(yàn)證樣本,即 有 驗(yàn)證樣本輸入矢量:val.P = -0.975:.05:0.975 驗(yàn)證樣本目標(biāo)矢量:val.T = sin(2*pi*val.P)+0.1*randn(size(val.P) 值得注意的是,盡管“提前停止”方法可以和任何一種BP網(wǎng)絡(luò)訓(xùn)練函數(shù)一起使 用,但是不適合同訓(xùn)練速度過(guò)快的算法聯(lián)合使用,比如trainlm函數(shù),所以本 例中我們采用訓(xùn)練速度相對(duì)較慢的變學(xué)習(xí)速率算法traingdx函數(shù)作為訓(xùn)練函 數(shù)。本例的MATLAB程序如下: close all clear echo on

10、clc % 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); %繪制訓(xùn)練樣本數(shù)據(jù)點(diǎn) plot(P,T,+); echo off hold on; plot(P,sin(2*pi*P),:);%繪制不含噪聲的正弦曲線echo on clc pause clc % 定義驗(yàn)證樣本 val.P = -0.975

11、:0.05:0.975;% 驗(yàn)證樣本的輸入矢量val.T = sin(2*pi*val.P)+0.1*randn(size(val.P);% 驗(yàn)證樣本的目標(biāo)矢量 pause clc %創(chuàng)建一個(gè)新的前向神經(jīng)網(wǎng)絡(luò) net二newff(minmax(P),5,1,tansig,purelin,traingdx);pauseclc%設(shè)置訓(xùn)練參數(shù)net.trainParam.epochs = 500;net = init(net);pauseclc%訓(xùn)練BP網(wǎng)絡(luò)net,tr=train(net,P,T,val);pauseclc%對(duì)BP網(wǎng)絡(luò)進(jìn)行仿真A = sim(net,P);%計(jì)算仿真誤差E = T

12、- A;MSE=mse(E)pauseclc%繪制仿真擬合結(jié)果曲線close all;plot(P,A,P,T,+,P,sin(2*pi*P),:);pause;clcecho off下面給出了網(wǎng)絡(luò)的某次訓(xùn)練結(jié)果,可見(jiàn),當(dāng)訓(xùn)練至第136步時(shí),訓(xùn)練提前停止, 此時(shí)的網(wǎng)絡(luò)誤差為0.0102565。給出了訓(xùn)練后的仿真數(shù)據(jù)擬合曲線,效果是相當(dāng) 滿意的。net,tr=train(net,P,T,val);TRAINGDX, Epoch 0/500, MSE 0.504647/0, Gradient 2.1201/1e-006TRAINGDX,Epoch25/500,MSE0.163593/0,Gradient0.384793/1e-006TRAINGDX,Epoch50/500,MSE0.130259/0,Gradient0.158209/1e-006TRAINGDX,Epoch75/500,MSE0.086869/0,Gradient0.0883479/1e-006TRAINGDX,Epoch100/500,MSE0.0492511/0,Gradient0.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論