




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、太普數據挖掘與智能中國網提供學習支持太普數據挖掘與智能中國網提供學習支持 實驗二實驗二MatlabMatlab快速入門講解快速入門講解實驗二實驗二MATLABMATLAB快速入門快速入門實驗二實驗二MATLABMATLAB快速入門快速入門 p3 3、使用、使用MATLABMATLAB中的條件語句和循環語句,中的條件語句和循環語句,編程實現下面的功能:編程實現下面的功能: 從從1 1累加到累加到2020,即:,即:1+2+3+4+1+2+3+4+20+20,當累,當累加和超過加和超過3030時,跳出時,跳出FORFOR循環,在命令窗循環,在命令窗口中輸出此時的累加次數和累加值。口中輸出此時的累加
2、次數和累加值。 演示程序演示程序 psum=0;sum=0;pfor i=1:20for i=1:20p sum=sum+i sum=sum+i; ;p if sum30 if sum30p% break;% break;p disp(sum disp(sum is 30) is 30)p fprintf(%2d,sum) fprintf(%2d,sum)p x=1 x=1p continue; continue;p end endpendendpi ipsumsum實驗二實驗二MATLABMATLAB快速入門快速入門p4 4、神經網絡常用的激活函數有、神經網絡常用的激活函數有S S型、對型、
3、對數數S S型、線性型和硬限幅等,在型、線性型和硬限幅等,在MATLABMATLAB中中有有tansigtansig()()、logsiglogsig()()、purelinpurelin()()和和hardlimhardlim()()四個函數對應,請使用四個函數對應,請使用MATLABMATLAB編程,按下畫所示圖形,畫出四個激活函編程,按下畫所示圖形,畫出四個激活函數的圖形。數的圖形。 演示程序演示程序 px=-10:0.2:10;x=-10:0.2:10;py1=tansig(xy1=tansig(x););py2=logsig(xy2=logsig(x););py3=purelin(x
4、y3=purelin(x););py4=hardlim(xy4=hardlim(x););ph=figure(nameh=figure(name,這是一個顯示多個激活函數圖形的程序這是一個顯示多個激活函數圖形的程序););psubplot(2,2,1);subplot(2,2,1);p% % 繪制第一個圖形繪制第一個圖形phnd1=plot(x,y1);hnd1=plot(x,y1);p% %設置圖形線條寬度設置圖形線條寬度pset(hnd1,linewidth,1);set(hnd1,linewidth,1);p% %設置圖形線條顏色設置圖形線條顏色pset(hnd1,color,red);
5、set(hnd1,color,red);ptitle(Stitle(S型激活函數型激活函數););plegend(tansiglegend(tansig););pgrid on grid on p% % 設置第二個圖形的繪圖位置為第一行第二列設置第二個圖形的繪圖位置為第一行第二列 psubplot(2,2,2);subplot(2,2,2);p hnd2=plot(x,y2); hnd2=plot(x,y2);p% %設置圖形線條寬度設置圖形線條寬度pset(hnd2,linewidth,2);set(hnd2,linewidth,2);p% %設置圖形線條顏色設置圖形線條顏色pset(hnd
6、2,color,green);set(hnd2,color,green);ptitle(title(對數對數S S型激活函數型激活函數););plegend(logsiglegend(logsig););pgrid ongrid onp% % 設置第三個圖形的繪圖位置為第二行第一列設置第三個圖形的繪圖位置為第二行第一列p subplot(2,2,3);subplot(2,2,3);p hnd3=plot(x,y3); hnd3=plot(x,y3);p% %設置圖形線條寬度設置圖形線條寬度pset(hnd3,linewidth,3);set(hnd3,linewidth,3);p% %設置圖形
7、線條顏色設置圖形線條顏色pset(hnd3,color,blue);set(hnd3,color,blue);ptitle(title(線性激活函數線性激活函數););plegend(purelinlegend(purelin););pgrid ongrid onp% % 設置第四個圖形的繪圖位置為第二行第二列設置第四個圖形的繪圖位置為第二行第二列p subplot(2,2,4);subplot(2,2,4);p hnd4=plot(x,y4); hnd4=plot(x,y4);p% %設置圖形線條寬度設置圖形線條寬度pset(hnd4,linewidth,4);set(hnd4,linewi
8、dth,4);p% %設置圖形線條顏色設置圖形線條顏色pset(hnd4,color,yellow);set(hnd4,color,yellow);ptitle(title(硬限幅激活函數硬限幅激活函數););plegend(hardlimlegend(hardlim););pgrid ongrid on謝謝!謝謝!太普數據挖掘與智能中國網提供學習支持太普數據挖掘與智能中國網提供學習支持 實驗三單層感知器的構建與使用實驗三單層感知器的構建與使用講解講解實驗三單層感知器的構建與使用實驗三單層感知器的構建與使用實驗三單層感知器的構建與使用實驗三單層感知器的構建與使用 p 1 1、已經對邏輯與的單層
9、感知器實現的、已經對邏輯與的單層感知器實現的權值調整計算過程進行了講解,請使用權值調整計算過程進行了講解,請使用MATLABMATLAB語言編寫程序,實現單層感知器對語言編寫程序,實現單層感知器對邏輯與進行分類。邏輯與進行分類。 演示程序演示程序1 1p% %實驗三第實驗三第1 1題演示程序題演示程序p% % 設計并訓練一個對與運算進行分類的單層感知器設計并訓練一個對與運算進行分類的單層感知器p% % 神經網絡并輸出分類結果。神經網絡并輸出分類結果。p% %給定訓練樣本數據給定訓練樣本數據pP= 0 0 1 1; 0 1 0 1;P= 0 0 1 1; 0 1 0 1;p% %給定樣本數據所對
10、應的類別,用給定樣本數據所對應的類別,用1 1和和0 0來表示兩種類別來表示兩種類別pT= 0 0 0 1;T= 0 0 0 1;p% %創建一個有兩個輸入、樣本數據的取值范圍都在創建一個有兩個輸入、樣本數據的取值范圍都在00,11之間,之間,p% % 并且網絡只有一個神經元的感知器神經網絡并且網絡只有一個神經元的感知器神經網絡pnet=newp(0 1;0 1,1);net=newp(0 1;0 1,1);p% %設置網絡的最大訓練次數為設置網絡的最大訓練次數為2020次,即訓練次,即訓練2020次后結束次后結束訓練訓練pnet.trainParam.epochsnet.trainParam
11、.epochs = 20; = 20;p% %使用訓練函數對創建的網絡進行訓練使用訓練函數對創建的網絡進行訓練pnet=train(net,P,Tnet=train(net,P,T););演示程序演示程序1 1p% %對訓練后的網絡進行仿真,即根據訓練后的網絡和樣本數據對訓練后的網絡進行仿真,即根據訓練后的網絡和樣本數據p% % 給出輸出給出輸出pa=net.b1;a=net.b1;pb=net.iw1;b=net.iw1;pY=sim(net,PY=sim(net,P); ); p% %計算網絡的平均絕對誤差,表示網絡錯誤分類計算網絡的平均絕對誤差,表示網絡錯誤分類pE1=mae(YE1=m
12、ae(Y-T); -T); p% %給定測試數據,檢測訓練好的神經網絡的性能給定測試數據,檢測訓練好的神經網絡的性能pQ=1 0 1 0; 0 1 1 0;Q=1 0 1 0; 0 1 1 0;p% %使用測試數據,對網絡進行仿真,仿真輸出即為分類的結果使用測試數據,對網絡進行仿真,仿真輸出即為分類的結果pY1=sim(net,QY1=sim(net,Q););p% %創建一個新的繪圖窗口創建一個新的繪圖窗口演示程序演示程序1 1pfigure;figure;p% %設置繪圖范圍,在坐標圖中繪制測試數據點,并根據設置繪圖范圍,在坐標圖中繪制測試數據點,并根據數據數據p% % 所對應的類別用約定
13、的符號畫出所對應的類別用約定的符號畫出 p v=-0.5 2 -0.5 2;v=-0.5 2 -0.5 2;pplotpv(Q,Y1,v);plotpv(Q,Y1,v);p% %利用權值和閾值,在坐標圖中繪制分類線利用權值和閾值,在坐標圖中繪制分類線p% plotpc(net.iw1,net.b1)% plotpc(net.iw1,net.b1)p% % 為更清楚的看到分類,可以給閾值加一個小的偏移為更清楚的看到分類,可以給閾值加一個小的偏移量量 p plotpc(net.iw1,net.b1+0.1)plotpc(net.iw1,net.b1+0.1)實驗三單層感知器的構建與使用實驗三單層感
14、知器的構建與使用p2 2、現需要對一組數據進行分類、現需要對一組數據進行分類, ,設樣本設樣本數據的輸入數據為數據的輸入數據為P=-0.4 -0.5 0.6 -P=-0.4 -0.5 0.6 -0.1; 0.9 0 0.1 0.5,0.1; 0.9 0 0.1 0.5,其期望值為其期望值為T=1 T=1 1 0 1,1 0 1,請構建一個單層感知器對數據進請構建一個單層感知器對數據進行分類行分類, ,并用測試數據并用測試數據Q=0.6 0.9 -0.1 Q=0.6 0.9 -0.1 0.7;-0.1 -0.5 0.5 -0.30.7;-0.1 -0.5 0.5 -0.3對構建好的神對構建好的神
15、經網絡進行測試經網絡進行測試, ,并評價其性能并評價其性能. . 演示程序演示程序2 2p% %實驗三第實驗三第2 2題演示程序題演示程序p% % 設計并訓練一個對與運算進行分類的單層感知器神經網絡設計并訓練一個對與運算進行分類的單層感知器神經網絡p% % 并輸出分類結果。并輸出分類結果。p% %p% %給定訓練樣本數據給定訓練樣本數據pP=-0.4 -0.5 0.6 -0.1; 0.9 0 0.1 0.5;P=-0.4 -0.5 0.6 -0.1; 0.9 0 0.1 0.5;p% %給定樣本數據所對應的類別,用給定樣本數據所對應的類別,用1 1和和0 0來表示兩種類別來表示兩種類別pT=1
16、 1 0 1;T=1 1 0 1;p% %創建一個有兩個輸入、樣本數據的取值范圍都在創建一個有兩個輸入、樣本數據的取值范圍都在00,11之間,之間,p% % 并且網絡只有一個神經元的感知器神經網絡并且網絡只有一個神經元的感知器神經網絡pnet=newp(0 1;0 1,1);net=newp(0 1;0 1,1);p% %設置網絡的最大訓練次數為設置網絡的最大訓練次數為2020次,即訓練次,即訓練2020次后結束訓練次后結束訓練pnet.trainParam.epochsnet.trainParam.epochs = 20; = 20;演示程序演示程序2 2p% %使用訓練函數對創建的網絡進行
17、訓練使用訓練函數對創建的網絡進行訓練pnet=train(net,P,Tnet=train(net,P,T););p% %對訓練后的網絡進行仿真,即根據訓練后的網絡和樣對訓練后的網絡進行仿真,即根據訓練后的網絡和樣本數據給出輸出本數據給出輸出pa=net.b1a=net.b1pb=net.iw1b=net.iw1pY=sim(net,PY=sim(net,P); ); p% %計算網絡的平均絕對誤差,表示網絡錯誤分類計算網絡的平均絕對誤差,表示網絡錯誤分類pE1=mae(YE1=mae(Y-T) -T) p% %給定測試數據,檢測訓練好的神經網絡的性能給定測試數據,檢測訓練好的神經網絡的性能p
18、Q=0.6 0.9 -0.1 0.7;-0.1 -0.5 0.5 -0.3;Q=0.6 0.9 -0.1 0.7;-0.1 -0.5 0.5 -0.3;p% %使用測試數據,對網絡進行仿真,仿真輸出即為分類使用測試數據,對網絡進行仿真,仿真輸出即為分類的結果的結果演示程序演示程序2 2pY1=sim(net,QY1=sim(net,Q););p% %創建一個新的繪圖窗口創建一個新的繪圖窗口pfigure;figure;p% %設置繪圖范圍,在坐標圖中繪制測試數據點,并根據設置繪圖范圍,在坐標圖中繪制測試數據點,并根據數據所對應的類別用約定的符號畫出數據所對應的類別用約定的符號畫出 p v=-1
19、 2 -1 2;v=-1 2 -1 2;pplotpv(Q,Y1,v);plotpv(Q,Y1,v);p% %利用權值和閾值,在坐標圖中繪制分類線利用權值和閾值,在坐標圖中繪制分類線p plotpc(net.iw1,net.b1)plotpc(net.iw1,net.b1)p% % 為更清楚的看到分類,可以給閾值加一個小的偏移為更清楚的看到分類,可以給閾值加一個小的偏移量量 p% plotpc(net.iw1,net.b1+0.1)% plotpc(net.iw1,net.b1+0.1)實驗三單層感知器的構建與使用實驗三單層感知器的構建與使用p 3 3、有下面一組樣本數據:輸入數據為、有下面一
20、組樣本數據:輸入數據為P=0 0 0 1;1 0 1 1,P=0 0 0 1;1 0 1 1,目標值為目標值為0 1 1 0 1 1 00,能否使用單層感知器對其進行正確分,能否使用單層感知器對其進行正確分類,請編寫類,請編寫MATLABMATLAB程序驗證,并對結果進程序驗證,并對結果進行分析?行分析? 演示程序演示程序3 3p% %實驗三第實驗三第3 3題演示程序題演示程序p% % 設計并訓練一個對與運算進行分類的單層感知器神經網絡并輸設計并訓練一個對與運算進行分類的單層感知器神經網絡并輸出分類結果。出分類結果。p% %p% %給定訓練樣本數據給定訓練樣本數據pP=0 1 0 1; 0 0
21、 1 1;P=0 1 0 1; 0 0 1 1;p% %給定樣本數據所對應的類別,用給定樣本數據所對應的類別,用1 1和和0 0來表示兩種類別來表示兩種類別pT=0 1 1 0;T=0 1 1 0;p% %創建一個有兩個輸入、樣本數據的取值范圍都在創建一個有兩個輸入、樣本數據的取值范圍都在00,11之間,之間,p% % 并且網絡只有一個神經元的感知器神經網絡并且網絡只有一個神經元的感知器神經網絡pnet=newp(0 1;0 1,1);net=newp(0 1;0 1,1);p% %設置網絡的最大訓練次數為設置網絡的最大訓練次數為2020次,即訓練次,即訓練2020次后結束訓練次后結束訓練pn
22、et.trainParam.epochsnet.trainParam.epochs = 20; = 20;p% %使用訓練函數對創建的網絡進行訓練使用訓練函數對創建的網絡進行訓練pnet=train(net,P,Tnet=train(net,P,T););演示程序演示程序3 3p% %對訓練后的網絡進行仿真,即根據訓練后的網絡和樣對訓練后的網絡進行仿真,即根據訓練后的網絡和樣本數據給出輸出本數據給出輸出pa=net.b1a=net.b1pb=net.iw1b=net.iw1pY=sim(net,PY=sim(net,P); ); p% %計算網絡的平均絕對誤差,表示網絡錯誤分類計算網絡的平均絕
23、對誤差,表示網絡錯誤分類pE1=mae(YE1=mae(Y-T) -T) p% %給定測試數據,檢測訓練好的神經網絡的性能給定測試數據,檢測訓練好的神經網絡的性能pQ=0 1 0 1; 0 0 1 1;Q=0 1 0 1; 0 0 1 1;p% %使用測試數據,對網絡進行仿真,仿真輸出即為分類使用測試數據,對網絡進行仿真,仿真輸出即為分類的結果的結果演示程序演示程序3 3pY1=0 1 1 0;Y1=0 1 1 0;p% %創建一個新的繪圖窗口創建一個新的繪圖窗口pfigure;figure;p% %設置繪圖范圍,在坐標圖中繪制測試數據點,并根據設置繪圖范圍,在坐標圖中繪制測試數據點,并根據數
24、據所對應的類別用約定的符號畫出數據所對應的類別用約定的符號畫出 p v=-1 2 -1 2;v=-1 2 -1 2;pplotpv(Q,Y1,v);plotpv(Q,Y1,v);p% %利用權值和閾值,在坐標圖中繪制分類線利用權值和閾值,在坐標圖中繪制分類線p% plotpc(net.iw1,net.b1)% plotpc(net.iw1,net.b1)p% % 為更清楚的看到分類,可以給閾值加一個小的偏移為更清楚的看到分類,可以給閾值加一個小的偏移量量 p plotpc(net.iw1,net.b1+0.1)plotpc(net.iw1,net.b1+0.1)謝謝!謝謝!太普數據挖掘與智能中
25、國網提供學習支持太普數據挖掘與智能中國網提供學習支持 實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用講講解解實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用 p1 1、有、有2121組單輸入矢量和相對應的目標矢組單輸入矢量和相對應的目標矢量,試設計一個線性神經網絡來擬合這對量,試設計一個線性神經網絡來擬合這對數組的函數關系,并用測試數據進行測試。數組的函數關系,并用測試數據進行測試。實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用p輸入與目標數據如下:輸入與目標數據如下: 輸入數據:輸入數據:P=
26、-1:0.1:1P=-1:0.1:1 期望目標數據:期望目標數據:T=-0.96 0.577 -0.0729 T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.396 0.3449 0.1816 -0.0312 -0.2
27、183 -0.32010.3201 測試數據為:測試數據為:P2=-1:0.025:1P2=-1:0.025:1 演示程序演示程序 1 1pP=-1:0.1:1;P=-1:0.1:1;p% T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 % T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072
28、 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201;0.3449 0.1816 -0.0312 -0.2183 -0.3201;p% %創建一個只有一個輸出,輸入延時為創建一個只有一個輸出,輸入延時為0 0,學習速率為,學習速率為0.010.01的的p% % 線性神經網絡,線性神經網絡,minmax(Pminmax(P) )表示樣表示樣p% %本數據的取值范圍本數據的取值范圍p% net=newlin(minmax(P),1,0,0.01);% net=newlin(minmax(P),1,0,0.01);p% % %對創建的線性神經網絡進行初始化,設置權
29、值和閾值的初始值對創建的線性神經網絡進行初始化,設置權值和閾值的初始值p% net=init(net% net=init(net););p% net.trainParam.epochs% net.trainParam.epochs=500;=500;p% % %設置網絡訓練后的目標誤差為設置網絡訓練后的目標誤差為0.00010.0001p% net.trainParam.goal% net.trainParam.goal=0.0001;=0.0001;p% net=train(net,P,T% net=train(net,P,T););演示程序演示程序 1 1p% % 有有-標記間的部分為擬合
30、函數時的程序,有標記間的部分為擬合函數時的程序,有+標記間的部分為測試時的程序標記間的部分為測試時的程序p% -% -p% y=sim(net,P% y=sim(net,P););p% % %求解網絡的均方誤差值求解網絡的均方誤差值p% E=mse(y% E=mse(y-T);-T);p% % %獲取繪圖句柄獲取繪圖句柄p% hndl1=plot(P,y% hndl1=plot(P,y););p% % %設置線寬為設置線寬為2 2p% set(hndl1,linewidth,2);% set(hndl1,linewidth,2);p% % %設置線的顏色為紅色設置線的顏色為紅色p% set(h
31、ndl1,color,red);% set(hndl1,color,red);p% hold on% hold onp% hndl2=plot(P,T% hndl2=plot(P,T););演示程序演示程序 1 1p% set(hndl2,linewidth,2);% set(hndl2,linewidth,2);p% % %設置圖形標題設置圖形標題p% title(% title(線性神經網絡逼近非線性函數的線性神經網絡逼近非線性函數的MATLABMATLAB實現實現););p% % %設置圖例設置圖例p% legend(% legend(線性神經網絡逼近非線性函數線性神經網絡逼近非線性函數
32、,原線性數據原線性數據)p% % -% % -p% % 從此處到標記為從此處到標記為+的部分為測試時的程序的部分為測試時的程序, ,測試用此部測試用此部分程序替換分程序替換-間的程序間的程序p% % % % 測試數據測試數據p% P2=-1:0.025:1;% P2=-1:0.025:1;p% ytest% ytest=sim(net,P2);=sim(net,P2);p% plot(ytest,d,MarkerFaceColor,r,MarkerSize,8);% plot(ytest,d,MarkerFaceColor,r,MarkerSize,8);p% hold on% hold on
33、p% % plot(T,s,MarkerEdgeColor,k,MarkerFaceColor,g,Maplot(T,s,MarkerEdgeColor,k,MarkerFaceColor,g,MarkerSize,12);rkerSize,12);p% +% +實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用p思考題思考題 1 1、一線性神經網絡的輸入為、一線性神經網絡的輸入為P=1.1 -P=1.1 -1.31.3,目標為,目標為T=0.6 1;T=0.6 1;設權值和偏置的設權值和偏置的初始值為初始值為0 0,學習速率為,學習速率為0.010.01,請計算出,請計算出此網絡前
34、二次的權值和偏置的值?此網絡前二次的權值和偏置的值? 實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用 T(1)( )2( )( )w kw ke kkpp權值調整公式(見權值調整公式(見神經網絡實用教程神經網絡實用教程p27p27) 實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用p第一次調整第一次調整實際輸出:1211110 00 01.1-1.3b wxx T0.6 1 - 0 00.6 111(1)(0)2*0.01* *1.11.311.100.02* 0.6 111.3= 0.0320.0128eTYwwe實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構
35、建與使用p第一次調整第一次調整實際輸出:1211110.0320.01281.1-1.3= 0.0179 0.0486b wxx T0.6 1 - 0.0179 0.04860.5821 0.951411(2)(1)2*0.01* *1.1 1.31 1.10.0320.01280.02* 0.5821 0.95141 1.3= 0.0627 -0.0247eTYwwe實驗四實驗四線性神經網絡的構建與使用線性神經網絡的構建與使用p思考題思考題2 2、用、用MATLABMATLAB編程實現第編程實現第1 1題,要求輸出每題,要求輸出每一次迭代后的權值和偏置。一次迭代后的權值和偏置。 演示程序演示
36、程序2 2p% % 線性神經網絡擬合曲線輸出權值演示程序線性神經網絡擬合曲線輸出權值演示程序p% %輸入樣本數輸入樣本數pNPATS = 2;NPATS = 2;p% % 輸入樣本值矩陣輸入樣本值矩陣pPatterns = 1.1 -1.3;Patterns = 1.1 -1.3;p% % 輸出目標值輸出目標值pTarget = 0.6 1;Target = 0.6 1;p% % 學習率學習率pLearnRateLearnRate = 0.01; = 0.01;演示程序演示程序2 2p% % 將偏置看作輸入的第一個分量,組成網絡輸將偏置看作輸入的第一個分量,組成網絡輸入值入值pInputs =
37、 ones(1,2); Patterns;Inputs = ones(1,2); Patterns;p% % 權值初始化權值初始化pWeights = 0 0;Weights = 0 0;p% % 循環計算權值和偏置的改變值循環計算權值和偏置的改變值pfor i = 1:3for i = 1:3p% % 計算神經元的輸出計算神經元的輸出 pResult = (Weights Result = (Weights * * Inputs); Inputs);演示程序演示程序2 2p% % 判斷實際輸出與目標值是否相等,相等則結判斷實際輸出與目標值是否相等,相等則結束迭代,否則進入下一輪迭代束迭代,否
38、則進入下一輪迭代pif Result = Target, break, endif Result = Target, break, endp% % 按按LMSLMS誤差學習算法調整權值誤差學習算法調整權值pWeights = Weights + 2Weights = Weights + 2* *LearnRateLearnRate* *(Target-(Target-Result) Result) * * Inputs; Inputs;p% %在顯示器上輸出權值編號其對應值在顯示器上輸出權值編號其對應值pfprintf(%2d. Weights = ,i);fprintf(%2d. Weigh
39、ts = ,i);pdisp(Weightsdisp(Weights););pendend謝謝!謝謝!太普數據挖掘與智能中國網提供學習支持太普數據挖掘與智能中國網提供學習支持 實驗五實驗五BPBP神經網絡的構建與使神經網絡的構建與使用(一)用(一)講解講解實驗五實驗五BPBP神經網絡的構建與使用神經網絡的構建與使用實驗五實驗五BPBP神經網絡的構建與使用神經網絡的構建與使用 p1 1、有、有2121組單輸入矢量和相對應的目標矢組單輸入矢量和相對應的目標矢量,試設計一個線性神經網絡來擬合這對量,試設計一個線性神經網絡來擬合這對數組的函數關系,并用測試數據進行測試。數組的函數關系,并用測試數據進行
40、測試。實驗五實驗五BPBP神經網絡的構建與使用神經網絡的構建與使用p存在的問題存在的問題1 1、激活函數的選擇、激活函數的選擇 tansig的定義域為負無窮到正無窮,值域為-1到1,logsig的定義域為負無窮到正無窮,值域為0到12 2、結果如何顯示?、結果如何顯示? 實驗五實驗五BPBP神經網絡的構建與使用神經網絡的構建與使用p輸入與目標數據如下:輸入與目標數據如下: 輸入數據:輸入數據:P=-1:0.1:1P=-1:0.1:1 期望目標數據:期望目標數據:T=-0.96 0.577 -0.0729 T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461
41、0.1336 0.201 -0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.396 0.3449 0.1816 -0.0312 -0.2183 -0.32010.3201 測試數據為:測試數據為:P2=-1:0.025:1P2=-1:0.025:1 BPBP演示程序演示程序p% % 本函數演示本函數演示BPBP網絡對非線性數據的逼近效
42、果網絡對非線性數據的逼近效果p% % 下面為用下面為用BPBP神經網絡逼近非線性數據的演示程序神經網絡逼近非線性數據的演示程序p% %輸入樣本輸入樣本pP=-1:0.1:1;P=-1:0.1:1;pT=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -T=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.434 -0.5 -0.393 -0.1
43、647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201;0.0312 -0.2183 -0.3201;p% %創建一個創建一個BPBP神經網絡,每一個輸入向量的取值范圍為神經網絡,每一個輸入向量的取值范圍為-1 ,1-1 ,1,隱含層有,隱含層有5 5個神經元,輸出層個神經元,輸出層p% %有一個神經元,隱含層的激活函數為有一個神經元,隱含層的激活函數為tansigtansig,輸出層的激活函數為,輸出層的激活函數為logsiglogsig,訓練函數為梯度下,訓練函數為梯度下p% %降函數,即降函數,即2.3.22.3.2節中
44、所描述的標準學習算法節中所描述的標準學習算法pnet=newff(-1 1,5,1,tansig,tansig,traingd);net=newff(-1 1,5,1,tansig,tansig,traingd);p% %可以改變訓練步數為可以改變訓練步數為30003000、50005000、1000010000來查看網絡的訓練結果來查看網絡的訓練結果pnet.trainParam.epochsnet.trainParam.epochs=5000;=5000;p% %目標誤差設為目標誤差設為0.010.01pnet.trainParam.goalnet.trainParam.goal=0.01
45、;=0.01;BPBP演示程序演示程序p% %設置學習速率為設置學習速率為0.10.1pLP.lrLP.lr=0.1;=0.1;pnet=train(net,P,Tnet=train(net,P,T););p% % 有有-標記間的部分為擬合函數時的程序,有標記間的部分為擬合函數時的程序,有+標記間的部分為測試時的程序標記間的部分為測試時的程序p% -% -py=sim(net,Py=sim(net,P););pfigurefigurephndl1=plot(P,yhndl1=plot(P,y););p% %設置線寬為設置線寬為2 2pset(hndl1,linewidth,2);set(hnd
46、l1,linewidth,2);p% %設置線的顏色為紅色設置線的顏色為紅色pset(hndl1,color,red);set(hndl1,color,red);phold onhold onphndl2=plot(P,Thndl2=plot(P,T););BPBP演示程序演示程序pset(hndl2,linewidth,2);set(hndl2,linewidth,2);p% %設置圖形標題設置圖形標題ptitle(BPtitle(BP神經網絡逼近非線性函數的神經網絡逼近非線性函數的MATLABMATLAB實現實現););p% %設置圖例設置圖例plegend(BPlegend(BP神經網絡
47、逼近非線性函數神經網絡逼近非線性函數,原數據原數據)p% -% -p% % 從此處到標記為從此處到標記為+的部分為測試時的程序的部分為測試時的程序, ,測試用此部分程序替換測試用此部分程序替換-間的程序間的程序p% % 測試數據測試數據p% %測試測試p% P2=-1:0.05:1;% P2=-1:0.05:1;p% ytest% ytest=sim(net,P2);=sim(net,P2);p% figure% figurep% hndl1=plot(P2,ytest);% hndl1=plot(P2,ytest);BPBP演示程序演示程序p% % %設置線寬為設置線寬為2 2p% set(
48、hndl1,linewidth,2);% set(hndl1,linewidth,2);p% % %設置線的顏色為紅色設置線的顏色為紅色p% set(hndl1,color,red);% set(hndl1,color,red);p% hold on% hold onp% hndl2=plot(P,T% hndl2=plot(P,T););p% set(hndl2,linewidth,2);% set(hndl2,linewidth,2);p% % %設置圖形標題設置圖形標題p% title(BP% title(BP神經網絡逼近非線性函數的神經網絡逼近非線性函數的MATLABMATLAB實現實
49、現););p% % %設置圖例設置圖例p% legend(BP% legend(BP神經網絡逼近非線性函數神經網絡逼近非線性函數,原數據原數據)p% +% +線性網絡演示程序線性網絡演示程序 p% % 本函數演示線性神經網絡對非線性數據的逼近效果本函數演示線性神經網絡對非線性數據的逼近效果p% % 下面為用線性神經網絡逼近非線性數據的演示程序下面為用線性神經網絡逼近非線性數據的演示程序pP=-1:0.1:1;P=-1:0.1:1;pT=-0.96 0.577 -0.0729 0.377 0.641 0.66 0.461 0.1336 T=-0.96 0.577 -0.0729 0.377 0.
50、641 0.66 0.461 0.1336 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.201 -0.434 -0.5 -0.393 -0.1647 0.0988 0.3072 0.396 0.3449 0.1816 -0.0312 -0.2183 -0.3201;0.3449 0.1816 -0.0312 -0.2183 -0.3201;p% %創建一個只有一個輸出,輸入延時為創建一個只有一個輸出,輸入延時為0 0,學習速率為,學習速率為0.010.01的的p% % 線性神經網絡,線性神經網絡,minmax(Pminmax(P
51、) )表示樣本數據的取值范圍表示樣本數據的取值范圍pnet=newlin(minmax(P),1,0,0.01);net=newlin(minmax(P),1,0,0.01);p% %對創建的線性神經網絡進行初始化,設置權值和閾值的初始值對創建的線性神經網絡進行初始化,設置權值和閾值的初始值pnet=init(netnet=init(net););pnet.trainParam.epochsnet.trainParam.epochs=500;=500;p% %設置網絡訓練后的目標誤差為設置網絡訓練后的目標誤差為0.00010.0001pnet.trainParam.goalnet.trainP
52、aram.goal=0.0001;=0.0001;線性網絡演示程序線性網絡演示程序pnet=train(net,P,Tnet=train(net,P,T););p% % 有有-標記間的部分為擬合數據時的程序,有標記間的部分為擬合數據時的程序,有+標記間的部分為測試時的程序標記間的部分為測試時的程序p% -% -py=sim(net,Py=sim(net,P););p% %求解網絡的均方誤差值求解網絡的均方誤差值pE=mse(yE=mse(y-T);-T);pfigurefigurep% %獲取繪圖句柄獲取繪圖句柄phndl1=plot(P,yhndl1=plot(P,y););p% %設置線寬
53、為設置線寬為2 2pset(hndl1,linewidth,2);set(hndl1,linewidth,2);p% %設置線的顏色為紅色設置線的顏色為紅色pset(hndl1,color,red);set(hndl1,color,red);線性網絡演示程序線性網絡演示程序phold onhold onphndl2=plot(P,Thndl2=plot(P,T););pset(hndl2,linewidth,2);set(hndl2,linewidth,2);p% %設置圖形標題設置圖形標題ptitle(title(線性神經網絡逼近非線性函數的線性神經網絡逼近非線性函數的MATLABMATLA
54、B實現實現););p% %設置圖例設置圖例plegend(legend(線性神經網絡逼近非線性函數線性神經網絡逼近非線性函數,原線性數據原線性數據)p% -% -p% % 從此處到標記為從此處到標記為+的部分為測試時的程序的部分為測試時的程序, ,測試用此測試用此部分程序替換部分程序替換-間的程序間的程序p% % 測試數據測試數據p% P2=-1:0.025:1;% P2=-1:0.025:1;p% ytest% ytest=sim(net,P2); =sim(net,P2); p% figure% figure線性網絡演示程序線性網絡演示程序p% % 獲取繪圖句柄獲取繪圖句柄p% hndl1
55、=plot(P2,ytest);% hndl1=plot(P2,ytest);p% % 設置線寬為設置線寬為2 2p% set(hndl1,linewidth,2);% set(hndl1,linewidth,2);p% % 設置線的顏色為紅色設置線的顏色為紅色p% set(hndl1,color,red);% set(hndl1,color,red);p% hold on% hold onp% hndl2=plot(P,T% hndl2=plot(P,T););p% set(hndl2,linewidth,2);% set(hndl2,linewidth,2);p% % 設置圖形標題設置圖形
56、標題p% title(% title(線性神經網絡逼近非線性函數的線性神經網絡逼近非線性函數的MATLABMATLAB實現實現););p% % 設置圖例設置圖例p% legend(% legend(線性神經網絡逼近非線性函數線性神經網絡逼近非線性函數,原線性數據原線性數據)p% +% +謝謝!謝謝!太普數據挖掘與智能中國網提供學習支持太普數據挖掘與智能中國網提供學習支持 實驗六實驗六 BPBP神經網絡的構建與使神經網絡的構建與使用(二)用(二)講解講解實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)
57、 p使用使用BPBP神經網絡對正弦函數進行神經網絡對正弦函數進行逼近逼近實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)p存在的問題存在的問題1 1、激活函數的選擇、激活函數的選擇2 2、訓練次數的確定、訓練次數的確定3 3、隱含層神經元個數的確定、隱含層神經元個數的確定 實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)p實驗內容實驗內容1 1數據:數據:輸入樣本數據:P = -2:0.1:2;期望目標數據:T =sin(2*P);測試數據:P = -2:0.05:2; 實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)p實
58、驗內容實驗內容2 2:探測網絡合適的訓練次數最大訓練次數設置為30003000、50005000、1000010000 觀測效果 實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)p實驗內容實驗內容3 3:探測合適的隱含層的神經元個數設置隱含層神經網絡的個數為2 2個、個、8 8個、個、1010個、個、2020個,比較效果個,比較效果 實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)p實驗內容實驗內容4 4:輸入的正弦函數改為sin(3sin(3* *P) P) 、sin(4sin(4* *P) P) 、sin(8sin(8* *P)P)時時 觀測
59、逼近效果 實驗六實驗六BPBP神經網絡的構建與使用(二)神經網絡的構建與使用(二)p思考題思考題1 1、實驗中構建的、實驗中構建的BPBP神經網絡的合適的訓練神經網絡的合適的訓練次數在什么范圍內?次數在什么范圍內?2 2、實驗中構建的、實驗中構建的BPBP神經網絡的合適的隱含神經網絡的合適的隱含層神經元的個數在什么范圍內?層神經元的個數在什么范圍內? 演示程序演示程序p% % 本函數演示本函數演示BPBP網絡對非線性數據的逼近效果網絡對非線性數據的逼近效果p% % 下面為用下面為用BPBP神經網絡逼近非線性數據的演示程序神經網絡逼近非線性數據的演示程序pclcclcpclearclearpcl
60、ose allclose allp% %輸入樣本輸入樣本pP=-2:0.1:2;P=-2:0.1:2;pT=sin(4T=sin(4* *P);P);p% %創建一個創建一個BPBP神經網絡,每一個輸入向量的取值范圍為神經網絡,每一個輸入向量的取值范圍為-1 ,1-1 ,1,隱含層有,隱含層有5 5個神經元,個神經元,p% % 輸出層有一個神經元,隱含層的激活函數為輸出層有一個神經元,隱含層的激活函數為tansigtansig,輸出層的激活函數,輸出層的激活函數為為logsiglogsig,p% % 訓練函數為梯度下降函數,即訓練函數為梯度下降函數,即2.3.22.3.2節中所描述的標準學習算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中生涯規劃與數學學科邏輯推理能力培養研究論文
- 歷史文化遺址保護教育對初中生歷史實踐能力培養的作用研究論文
- 節能節水等管理制度
- 英語培訓班管理制度
- 茶館俱樂部管理制度
- 低壓成套開關設備和控制設備設計規范書
- 趕集網簡介服務類-媒體資源網-中國權威的廣告媒體交易平臺
- 2025年廣東省深圳市南山第二外國語學校(集團)學府中學中考數學三模試卷
- 綠色卡通插畫綠植奇妙的種子認識種子主題
- 山東省青島市城陽區2024-2025學年九年級下學期期中歷史試題(含答案)
- 職業學校學生崗位實習三方協議范本
- 河北省唐山市路南區2023年數學五年級第二學期期末經典試題含解析
- 2023年廣東初中學業水平考試生物試卷真題(含答案)
- 奶茶店消防應急預案
- 工程制圖及機械CAD基礎知到章節答案智慧樹2023年吉林大學
- 初級會計職稱考試教材《初級會計實務》
- 第二十二課-重屬和弦前方的共同和弦
- 碳酸飲料生產工藝流程圖
- 帶電跨越10kV線路施工方案
- 土壤肥料學野外教學實習分析
- GB/T 8012-2000鑄造錫鉛焊料
評論
0/150
提交評論