智能控制例題_第1頁
智能控制例題_第2頁
智能控制例題_第3頁
智能控制例題_第4頁
智能控制例題_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1.利用一個三輸入兩輸出的兩層BP神經(jīng)網(wǎng)絡(luò)訓(xùn)練一個輸入為1;-1;1,期望輸出為1;1的神經(jīng)網(wǎng)絡(luò)系統(tǒng)。假設(shè)激活函數(shù)取為:clcclear all%BP網(wǎng)絡(luò)的第一階段學(xué)習(xí)期%初始化lr=10; %學(xué)習(xí)速率err_goal=0.0000001;%期望誤差最小值max_epoch=100000;%最大訓(xùn)練次數(shù) a=0.7;%慣性系數(shù)Oi=0;Ok=0;%隱含層和輸出層各神經(jīng)元輸出初值為零%提供訓(xùn)練集和目標(biāo)值X=1;-1;1;D=1;1;%初始化權(quán)重m=3;q=8;l=2; %m為輸入節(jié)點j的數(shù)量,q為隱含層節(jié)點i的數(shù)量,l為輸出節(jié)點k的數(shù)量wij=rand(q,m);%隨機產(chǎn)生一個在(0 1)之前的

2、q.m維矩陣wki=rand(l,q);%隨機產(chǎn)生一個在(0 1)之前的l.q維矩陣wij0=zeros(size(wij);%返回同wij矩陣相同維度的數(shù)組wij0,并且每個元素被初始化為0。wki0=zeros(size(wki);%返回同wki矩陣相同維度的數(shù)組wki0,并且每個元素被初始化為0。for epoch=1:max_epoch%計算隱含層各神經(jīng)元輸出neti=wij*X;for j=1:1 for i=1:q Oi(i,j)=2/(1+exp(-neti(i,j)-1; endend%計算輸出層各神經(jīng)元輸出netk=wki*Oi;for i=1:1 for k=1:l Ok(

3、k,i)=2/(1+exp(-netk(k,i)-1; endend%計算誤差函數(shù)E=(D-Ok)'*(D-Ok)/2;if(E<err_goal) breakend%調(diào)整輸出層加權(quán)系數(shù)deltak=Ok.*(1-Ok).*(D-Ok);w=wki;wki=wki+lr*deltak*Oi'+a*(wki-wki0);wki0=w;%調(diào)整隱含層加權(quán)系數(shù)deltai=Oi.*(1-Oi).*(deltak'*wki)'w=wij;wij=wij+lr*deltai*X'+a*(wij-wij0);wij0=w;end%顯示計算次數(shù)epochE%BP網(wǎng)

4、絡(luò)地第二階段工作期X1=X;%計算隱含層各神經(jīng)元輸出neti=wij*X1;for j=1:1 for i=1:q Oi(i,j)=2/(1+exp(-neti(i,j)-1; endend%計算輸出層各神經(jīng)元輸出netk=wki*Oi;for i=1:1 for k=1:l Ok(k,i)=2/(1+exp(-netk(k,i)-1; endend%顯示結(jié)果Okepoch = 3E = 2.2905e-011Ok = 1.0000 1.00002.將BP網(wǎng)絡(luò)高度抽象成一個神經(jīng)元,nntwarn off %臨時關(guān)閉神經(jīng)網(wǎng)絡(luò)工具箱的警告功能p=-3.0 2.0;%輸入向量d=0.4 0.8;%期

5、望的輸出值w,b=initff(p,d,'logsig');%w為權(quán)值 b為閾值,初試化不超過三層的前向神經(jīng)網(wǎng)絡(luò)df=10;%顯示間隔max_epoch=1000;%給定訓(xùn)練最大步數(shù)err_goal=0.0001;%給定期望誤差最小值lr=1;%設(shè)定修正權(quán)值的學(xué)習(xí)速率為1tp=df max_epoch err_goal lr;%訓(xùn)練控制參數(shù)w,b,epoch,tr=trainbp(w,b,'logsig',p,d,tp);%epoch為訓(xùn)練步數(shù),基于梯度下降的訓(xùn)練方法ploterr(tr,err_goal)%tr為網(wǎng)絡(luò)訓(xùn)練誤差平方和的行向量,繪制誤差曲線paus

6、ep=-3.0;a=simuff(p,w,b,'logsig')%測試網(wǎng)絡(luò)輸出,仿真函數(shù)TRAINBP: 0/1000 epochs, SSE = 0.103917.TRAINBP: 10/1000 epochs, SSE = 0.0198673.TRAINBP: 20/1000 epochs, SSE = 0.0164732.TRAINBP: 30/1000 epochs, SSE = 0.0125821.TRAINBP: 40/1000 epochs, SSE = 0.0085481.TRAINBP: 50/1000 epochs, SSE = 0.00499354.TRA

7、INBP: 60/1000 epochs, SSE = 0.00246948.TRAINBP: 70/1000 epochs, SSE = 0.00104823.TRAINBP: 80/1000 epochs, SSE = 0.000395431.TRAINBP: 90/1000 epochs, SSE = 0.000137702.TRAINBP: 93/1000 epochs, SSE = 9.92659e-005.a =0.4033結(jié)論:該網(wǎng)絡(luò)訓(xùn)練收斂,在第93步時小于了期望誤差最小值,返回值為0.4033,收斂于期望值0.4。nntwarn off %臨時關(guān)閉神經(jīng)網(wǎng)絡(luò)工具箱的警告功能p=

8、-3.0 2.0;%輸入向量d=0.4 0.8;%期望的輸出值w,b=initff(p,d,'logsig');%w為權(quán)值 b為閾值,初試化不超過三層的前向神經(jīng)網(wǎng)絡(luò)df=10;%顯示間隔max_epoch=1000;%給定訓(xùn)練最大步數(shù)err_goal=0.0001;%給定期望誤差最小值lr=1;%設(shè)定修正權(quán)值的學(xué)習(xí)速率為1tp=df max_epoch err_goal lr;%訓(xùn)練控制參數(shù)w,b,epoch,tr=trainbp(w,b,'logsig',p,d,tp);%epoch為訓(xùn)練步數(shù),基于梯度下降的訓(xùn)練方法ploterr(tr,err_goal)%t

9、r為網(wǎng)絡(luò)訓(xùn)練誤差平方和的行向量,繪制誤差曲線pausep=2.0;a=simuff(p,w,b,'logsig')%測試網(wǎng)絡(luò)輸出,仿真函數(shù)TRAINBP: 0/1000 epochs, SSE = 0.139374.TRAINBP: 10/1000 epochs, SSE = 0.000103699.TRAINBP: 11/1000 epochs, SSE = 6.61035e-005.a =0.7934結(jié)論:該網(wǎng)絡(luò)訓(xùn)練收斂,在第11步時小于了期望誤差最小值,返回值為0.7934,收斂于期望值0.8。3.利用三層BP網(wǎng)絡(luò)完成函數(shù)逼近clear allclc nntwarn of

10、fp=0:0.1:2;%起點0 終點2 你、步長0.1t=sin(p*pi);figure(1);plot(p,t);pauser=1;s1=5;s2=1;w1,b1,w2,b2=initff(p,s1,'tansig',t,'purelin');%正切s型傳遞函數(shù),線性傳遞函數(shù)df=10;%顯示間隔max_epoch=3000;%最大訓(xùn)練次數(shù)err_goal=0.01;%期望誤差最小值lr=0.01%學(xué)習(xí)速率tp=df max_epoch err_goal lr;%訓(xùn)練控制參數(shù)w1,b1,w2,b2=trainbp(w1,b1,'tansig'

11、,w2,b2,'purelin',p,t,tp);%基于梯度下降的訓(xùn)練方法p=0:0.1:2;t=simuff(p,w1,b1,'tansig',w2,b2,'purelin')%仿真函數(shù);figure(1)plot(p,t)clear allclc nntwarn offp=0:0.1:2;%起點0 終點2 你、步長0.1t=sin(p*pi);figure(1);plot(p,t);pauser=1;s1=5;s2=1;w1,b1,w2,b2=initff(p,s1,'tansig',t,'purelin');

12、%正切s型傳遞函數(shù),線性傳遞函數(shù)df=10;%顯示間隔max_epoch=3000;%最大訓(xùn)練次數(shù)err_goal=0.01;%期望誤差最小值lr=0.01%學(xué)習(xí)速率tp=df max_epoch err_goal lr;%訓(xùn)練控制參數(shù)w1,b1,w2,b2=trainbp(w1,b1,'tansig',w2,b2,'purelin',p,t,tp);%基于梯度下降的訓(xùn)練方法p=0:0.1:2;t=simuff(p,w1,b1,'tansig',w2,b2,'purelin')%仿真函數(shù);figure(1)plot(p,t)lr

13、= 0.0100TRAINBP: 0/5000 epochs, SSE = 20.2993.TRAINBP: 10/5000 epochs, SSE = 7.38075.TRAINBP: 20/5000 epochs, SSE = 3.09758.TRAINBP: 30/5000 epochs, SSE = 1.54046.TRAINBP: 40/5000 epochs, SSE = 0.908906.TRAINBP: 50/5000 epochs, SSE = 0.622736.TRAINBP: 60/5000 epochs, SSE = 0.478537.TRAINBP: 70/5000

14、epochs, SSE = 0.396625.TRAINBP: 80/5000 epochs, SSE = 0.343376.TRAINBP: 90/5000 epochs, SSE = 0.304016.TRAINBP: 100/5000 epochs, SSE = 0.271945.TRAINBP: 110/5000 epochs, SSE = 0.244218.TRAINBP: 120/5000 epochs, SSE = 0.219537.TRAINBP: 130/5000 epochs, SSE = 0.197333.TRAINBP: 140/5000 epochs, SSE = 0

15、.177339.TRAINBP: 150/5000 epochs, SSE = 0.159399.TRAINBP: 160/5000 epochs, SSE = 0.143381.TRAINBP: 170/5000 epochs, SSE = 0.12915.TRAINBP: 180/5000 epochs, SSE = 0.116557.TRAINBP: 190/5000 epochs, SSE = 0.10545.TRAINBP: 200/5000 epochs, SSE = 0.095671.TRAINBP: 210/5000 epochs, SSE = 0.0870709.TRAINB

16、P: 220/5000 epochs, SSE = 0.0795077.TRAINBP: 230/5000 epochs, SSE = 0.0728516.TRAINBP: 240/5000 epochs, SSE = 0.0669861.TRAINBP: 250/5000 epochs, SSE = 0.0618077.TRAINBP: 260/5000 epochs, SSE = 0.0572259.TRAINBP: 270/5000 epochs, SSE = 0.0531618.TRAINBP: 280/5000 epochs, SSE = 0.0495471.TRAINBP: 290

17、/5000 epochs, SSE = 0.0463231.TRAINBP: 300/5000 epochs, SSE = 0.0434392.TRAINBP: 310/5000 epochs, SSE = 0.040852.TRAINBP: 320/5000 epochs, SSE = 0.0385242.TRAINBP: 330/5000 epochs, SSE = 0.0364238.TRAINBP: 340/5000 epochs, SSE = 0.0345232.TRAINBP: 350/5000 epochs, SSE = 0.0327988.TRAINBP: 360/5000 e

18、pochs, SSE = 0.03123.TRAINBP: 370/5000 epochs, SSE = 0.0297991.TRAINBP: 380/5000 epochs, SSE = 0.0284909.TRAINBP: 390/5000 epochs, SSE = 0.0272919.TRAINBP: 400/5000 epochs, SSE = 0.0261906.TRAINBP: 410/5000 epochs, SSE = 0.0251768.TRAINBP: 420/5000 epochs, SSE = 0.0242416.TRAINBP: 430/5000 epochs, S

19、SE = 0.023377.TRAINBP: 440/5000 epochs, SSE = 0.0225763.TRAINBP: 450/5000 epochs, SSE = 0.0218334.TRAINBP: 460/5000 epochs, SSE = 0.0211427.TRAINBP: 470/5000 epochs, SSE = 0.0204995.TRAINBP: 480/5000 epochs, SSE = 0.0198995.TRAINBP: 490/5000 epochs, SSE = 0.0193389.TRAINBP: 500/5000 epochs, SSE = 0.

20、0188141.TRAINBP: 510/5000 epochs, SSE = 0.0183222.TRAINBP: 520/5000 epochs, SSE = 0.0178603.TRAINBP: 530/5000 epochs, SSE = 0.017426.TRAINBP: 540/5000 epochs, SSE = 0.017017.TRAINBP: 550/5000 epochs, SSE = 0.0166312.TRAINBP: 560/5000 epochs, SSE = 0.0162667.TRAINBP: 570/5000 epochs, SSE = 0.015922.T

21、RAINBP: 580/5000 epochs, SSE = 0.0155955.TRAINBP: 590/5000 epochs, SSE = 0.0152857.TRAINBP: 600/5000 epochs, SSE = 0.0149914.TRAINBP: 610/5000 epochs, SSE = 0.0147115.TRAINBP: 620/5000 epochs, SSE = 0.0144449.TRAINBP: 630/5000 epochs, SSE = 0.0141906.TRAINBP: 640/5000 epochs, SSE = 0.0139478.TRAINBP

22、: 650/5000 epochs, SSE = 0.0137156.TRAINBP: 660/5000 epochs, SSE = 0.0134933.TRAINBP: 670/5000 epochs, SSE = 0.0132802.TRAINBP: 680/5000 epochs, SSE = 0.0130758.TRAINBP: 690/5000 epochs, SSE = 0.0128793.TRAINBP: 700/5000 epochs, SSE = 0.0126904.TRAINBP: 710/5000 epochs, SSE = 0.0125084.TRAINBP: 720/

23、5000 epochs, SSE = 0.0123331.TRAINBP: 730/5000 epochs, SSE = 0.0121638.TRAINBP: 740/5000 epochs, SSE = 0.0120004.TRAINBP: 750/5000 epochs, SSE = 0.0118424.TRAINBP: 760/5000 epochs, SSE = 0.0116895.TRAINBP: 770/5000 epochs, SSE = 0.0115413.TRAINBP: 780/5000 epochs, SSE = 0.0113978.TRAINBP: 790/5000 e

24、pochs, SSE = 0.0112584.TRAINBP: 800/5000 epochs, SSE = 0.0111232.TRAINBP: 810/5000 epochs, SSE = 0.0109917.TRAINBP: 820/5000 epochs, SSE = 0.0108639.TRAINBP: 830/5000 epochs, SSE = 0.0107395.TRAINBP: 840/5000 epochs, SSE = 0.0106184.TRAINBP: 850/5000 epochs, SSE = 0.0105004.TRAINBP: 860/5000 epochs,

25、 SSE = 0.0103853.TRAINBP: 870/5000 epochs, SSE = 0.0102731.TRAINBP: 880/5000 epochs, SSE = 0.0101635.TRAINBP: 890/5000 epochs, SSE = 0.0100565.TRAINBP: 896/5000 epochs, SSE = 0.00999345.t = Columns 1 through 7 0.0260 0.2942 0.5742 0.7981 0.9354 0.9889 0.9628 Columns 8 through 14 0.8432 0.6121 0.2931

26、 -0.0345 -0.3151 -0.5604 -0.7865 Columns 15 through 21 -0.9596 -1.0264 -0.9673 -0.7989 -0.5575 -0.2890 -0.0365>>4、線性閾值單元的學(xué)習(xí)單變量樣本有四個: 假設(shè)權(quán)值的初值為:2.5,閾值的初值為:1.75。問題的Matlab實現(xiàn)如下所示:%線性閥值單元的學(xué)習(xí)clear allx=1 -0.5 3 -2;d=1 -1 1 -1;y=0 0 0 0;w0(1)=1.75;w1(1)=-2.5;lr=0.8; %學(xué)習(xí)效率i=1;k=1;for n=1:1000 y(1,i)=si

27、gn(w0(k)+w1(k)*x(1,i); if y(1,i)=d(1,i) w0(k+1)=w0(k)+lr*(d(1,i)-y(1,i); w1(k+1)=w1(k)+lr*(d(1,i)-y(1,i)*x(1,i); else w0(k+1)=w0(k); w1(k+1)=w1(k); end i=i+1; k=k+1; if i>4 i=1; end if y=d break; endendw0w1figure,plot(w0)figure,plot(w1)5、建立一個感知器神經(jīng)網(wǎng)絡(luò),使其能夠完成“與”的功能,利用Matlab編程實現(xiàn)。實現(xiàn)與邏輯的Matlab(*.m)文件如下

28、:close allclear,clc%定義變量p=0 0 1 1 ;0 1 0 1;d=0 0 0 1;lr=maxlinlr(p,'bias')%線性網(wǎng)絡(luò)實現(xiàn)net1=linearlayer(0,lr);net1=train(net1,p,d);%感知器實現(xiàn) net2=newp(-1,1;-1,1,1,'hardlim');net2=train(net2,p,d);%顯示disp('線性網(wǎng)絡(luò)輸出')Y1=sim(net1,p)disp('線性網(wǎng)絡(luò)二值輸出')YY1=Y1>=0.5disp('線性網(wǎng)絡(luò)最終權(quán)值:&#

29、39;)w1=net1.iw1,1,net1.b1,1disp('感知器輸出')Y2=sim(net2,p)disp('感知器二值輸出')YY2=Y2>=0.5disp('感知器最終權(quán)值')w2=net2.iw1,1,net2.b1,1plot(0 0 1,0 1 0,'o');hold on;plot(1,1,'d');x=-2:.2:2;y1=1/2/w1(2)-w1(1)/w1(2)*x-w1(3)/w1(2);plot(x,y1,'-');y2=-w2(1)/w2(2)*x-w2(3)

30、/w2(2);plot(x,y2,'-');axis(-0.5,2,-0.5,2)xlabel('x');ylabel('ylabel');title('線性網(wǎng)絡(luò)用于求解與邏輯')legend('0','1','線性網(wǎng)絡(luò)分類面','感知器分類面');執(zhí)行腳本文件,得到結(jié)果如下:第199次迭代線性網(wǎng)絡(luò)的二值輸出:yy = 0 0 0 1均方誤差: 0.062500權(quán)值向量: w = -0.2500 0.5000 0.5000第200次迭代線性網(wǎng)絡(luò)的二值輸出:yy = 0

31、 0 0 1均方誤差: 0.062500權(quán)值向量: w = -0.2500 0.5000 0.50006利用多層感知器完成“異或”的功能if(neti21(i,j)>=0) y(i,j)=1; else y(i,j)=0; end endend%感知器神經(jīng)網(wǎng)絡(luò)地第一階段學(xué)習(xí)期 學(xué)習(xí)加權(quán)系數(shù)clearerr=0.001; %給定期望誤差最小值lr=0.9; %設(shè)置學(xué)習(xí)速率max=1000; %設(shè)置訓(xùn)練的最大次數(shù) x=0 0 1 1;0 1 0 1;1 1 1 1; %提供輸入訓(xùn)練樣本集T1=0 1 0 0;T2=1 1 0 1;xx=T1;T2;1 1 1 1;T=0 1 1 0; %提供

32、輸出期望M,N=size(x); %M為輸入節(jié)點的數(shù)量,L為輸出節(jié)點的數(shù)量,N為訓(xùn)練樣本數(shù) L,N=size(T);Wij11=rand(L,M); %初始化:置所有的加權(quán)系數(shù)為最小的隨機數(shù)Wij12=rand(L,M);Wij21=rand(L,M);y11=0;y12=0;y=0;for epoch11=1:max neti11=Wij11*x; %neti表示的是加權(quán)求和后的中間結(jié)果 for j=1:N for i=1:L if(neti11(i,j)>=0) y11(i,j)=1; else y11(i,j)=0; end end end %計算誤差函數(shù) E=(T1-y11);

33、EE=0; for j=1:N EE=EE+abs(E(j); end if(EE<err) break; end %調(diào)節(jié)加權(quán)系數(shù)和閾值 Wij11=Wij11+lr*E*x'end%顯示計算次數(shù)和完成學(xué)習(xí)后的加權(quán)系數(shù)及閾值epoch11Wij11for epoch12=1:max neti12=Wij12*x; %neti表示的是加權(quán)求和后的中間結(jié)果 for j=1:N for i=1:L if(neti12(i,j)>=0) y12(i,j)=1; else y12(i,j)=0; end end end %計算誤差函數(shù) E=(T2-y12); EE=0; for j=

34、1:N EE=EE+abs(E(j); end if(EE<err) break; end %調(diào)節(jié)加權(quán)系數(shù)和閾值 Wij12=Wij12+lr*E*x'end%顯示計算次數(shù)和完成學(xué)習(xí)后的加權(quán)系數(shù)及閾值epoch12Wij12for epoch21=1:max neti21=Wij21*xx; %neti表示的是加權(quán)求和后的中間結(jié)果 for j=1:N for i=1:L if(neti21(i,j)>=0) y(i,j)=1; else y(i,j)=0; end end end %計算誤差函數(shù) E=(T-y); EE=0; for j=1:N EE=EE+abs(E(j)

35、; end if(EE<err) break; end %調(diào)節(jié)加權(quán)系數(shù)和閾值 Wij21=Wij21+lr*E*xx'end%顯示計算次數(shù)和完成學(xué)習(xí)后的加權(quán)系數(shù)及閾值epoch21Wij21%感知器神經(jīng)網(wǎng)絡(luò)的第二階段工作期 根據(jù)訓(xùn)練好的Wij和給定的輸入計算輸出x1=x; %給定輸入neti11=Wij11*x1; M,N=size(x1);for j=1:N for i=1:L if(neti11(i,j)>=0) y11(i,j)=1; else y11(i,j)=0; end endendy11x1=x; %給定輸入neti12=Wij12*x1; M,N=size(

36、x1);for j=1:N for i=1:L if(neti12(i,j)>=0) y12(i,j)=1; else y12(i,j)=0; end endendy12x1=y11;y12;1 1 1 1; %給定輸入neti21=Wij21*x1; M,N=size(x1);for j=1:N for i=1:Ly %顯示輸出運行后:>> ganzhiqi3epoch11 = 4Wij11 = -0.8866 1.5324 -0.8025epoch12 = 4Wij12 = -0.6215 1.4469 0.0575epoch21 = 57.設(shè)計DHNN網(wǎng)絡(luò),網(wǎng)絡(luò)節(jié)點數(shù)為n=4.所有狀態(tài)均在-1到1之間,閾值均為0,樣本m=2.樣本分別為x1=1 1 1 1'x2=-1

溫馨提示

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

評論

0/150

提交評論