基于遺傳算法BP網(wǎng)絡(luò)優(yōu)化_第1頁
基于遺傳算法BP網(wǎng)絡(luò)優(yōu)化_第2頁
基于遺傳算法BP網(wǎng)絡(luò)優(yōu)化_第3頁
基于遺傳算法BP網(wǎng)絡(luò)優(yōu)化_第4頁
基于遺傳算法BP網(wǎng)絡(luò)優(yōu)化_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

班級:控制5班學(xué)號:2111504213姓名:張睿設(shè)計(jì)一個(gè)BP神經(jīng)網(wǎng)絡(luò)監(jiān)督控制系統(tǒng),被控對象為:采樣時(shí)間1ms,輸入信號為方波信號,幅值0.5,頻率2hz。設(shè)計(jì)一個(gè)BP神經(jīng)網(wǎng)絡(luò)監(jiān)督控制系統(tǒng),并采用遺傳算法進(jìn)行BP神經(jīng)網(wǎng)絡(luò)參數(shù)及權(quán)值的優(yōu)化設(shè)計(jì),并進(jìn)行matlab仿真。需要說明控制系統(tǒng)結(jié)構(gòu),遺傳算法優(yōu)化BP網(wǎng)絡(luò)的具體步驟,并對仿真結(jié)果做出分析。解決過程及思路如下:1BP網(wǎng)絡(luò)算法以第p個(gè)樣本為例,用于訓(xùn)練的BP網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。…...……...…...…..……ijk輸入層隱含層輸出層………xk圖1具有一個(gè)隱含層和輸出層的BP神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)網(wǎng)絡(luò)的學(xué)習(xí)算法如下:(1)信息的正向傳播隱含層神經(jīng)元的輸入為所有輸入加權(quán)之和,隱層神經(jīng)元的輸出采用S函數(shù)激發(fā),那么輸出層的神經(jīng)元輸出為網(wǎng)絡(luò)輸出與理想輸出誤差為誤差性能指標(biāo)函數(shù)為上式的N表示網(wǎng)絡(luò)輸出層的個(gè)數(shù)。〔2〕利用梯度下降法調(diào)整各層間權(quán)值的反向傳播對從第j個(gè)輸入到第k個(gè)輸出的權(quán)值有:其中,為學(xué)習(xí)速率,。K+1時(shí)刻網(wǎng)絡(luò)權(quán)值為對從第i個(gè)輸入到第j個(gè)輸出的權(quán)值有:式中,t+1時(shí)刻網(wǎng)絡(luò)權(quán)值為BP網(wǎng)絡(luò)的監(jiān)督控制系統(tǒng)結(jié)構(gòu)設(shè)計(jì)的BP網(wǎng)絡(luò)監(jiān)督控制系統(tǒng)結(jié)構(gòu)如圖2所示。圖2BP神經(jīng)網(wǎng)絡(luò)監(jiān)督控制在BP網(wǎng)絡(luò)結(jié)構(gòu)中,取網(wǎng)絡(luò)的輸入為r〔k〕,實(shí)際輸出為y〔k〕,PID控制輸出為up〔k〕,隱層神經(jīng)元的輸出采用S函數(shù)激發(fā),網(wǎng)絡(luò)的權(quán)向量為W1,W2BP的網(wǎng)絡(luò)輸出為控制律為u(k)=up(k)+yn(k)采用梯度下降法調(diào)整網(wǎng)絡(luò)的權(quán)值為神經(jīng)網(wǎng)絡(luò)權(quán)值的調(diào)整過程為3.遺傳算法對BP網(wǎng)絡(luò)權(quán)值的優(yōu)化過程〔1〕取逼近總步驟為:N=100〔2〕終止代數(shù):G=80〔3〕樣本個(gè)數(shù):Size=30〔4〕交叉概率:Pc=0.70〔5〕二進(jìn)制編碼長度:Godel=10〔6〕變異概率:Pm=0.001-[1:1:Size]*0.001/Size〔7〕用于優(yōu)化的BP網(wǎng)絡(luò)結(jié)構(gòu)為:1-4-1i=1j=1,2,3,4〔8〕網(wǎng)絡(luò)權(quán)值W1的取值范圍為:[-1,+1]〔9〕網(wǎng)絡(luò)權(quán)值W2的取值范圍為:[-0.5,+0.5](10)取BP網(wǎng)絡(luò)誤差絕對值為參數(shù)選擇的最小目標(biāo)函數(shù):式中,N為逼近的總步驟,ee〔i〕為第i步BP網(wǎng)絡(luò)逼近誤差?!?1〕需要優(yōu)化參數(shù)為:4遺傳算法優(yōu)化BP網(wǎng)絡(luò)權(quán)值的步驟(1)初始化種群;(2)計(jì)算其適應(yīng)值,保存最優(yōu)個(gè)體,判斷是否到達(dá)最優(yōu)解;(3)交叉、變異產(chǎn)生新個(gè)體;(4)重新計(jì)算種群中每個(gè)個(gè)體的適應(yīng)值并保存最優(yōu)個(gè)體;(5)交叉、變異前后的種群放在一起進(jìn)行二人競賽選擇法,直到填滿新的種群;(6)轉(zhuǎn)2)直到找到最優(yōu)解BestJ。5MATLAB仿真結(jié)果BP監(jiān)督網(wǎng)絡(luò)遺傳算法優(yōu)化程序包括3局部,即遺傳算法優(yōu)化程序ga_bp.m,BP網(wǎng)絡(luò)逼近函數(shù)程序bp_a和BP網(wǎng)絡(luò)逼近測試程序bp_test。輸入信號為r〔t〕=0.5*sign(sin(2*2*pi*k*ts)采樣時(shí)間ts=0.001s,η=0.30,a=0.05,kp=1,kd=1.經(jīng)遺傳算法優(yōu)化后,對象p的值為P=[-0.2160,0.7576,0.5230,0.9863,-0.0714,0.2551,0.6911,-0.3627,0.2146,0.3338,-0.0875,-0.0582]仿真結(jié)果圖:圖3代價(jià)函數(shù)J的優(yōu)化過程圖4方波位置跟蹤圖5BP網(wǎng)絡(luò),PD及總控制器輸出的比擬以及誤差曲線結(jié)論:采用遺專算法可以實(shí)現(xiàn)BP網(wǎng)絡(luò)參數(shù)初始值的優(yōu)化,節(jié)約計(jì)算量。并由仿真結(jié)果可知,其誤差大局部趨于0,但局部有三個(gè)地區(qū)的誤差比擬大,產(chǎn)生原因可能與遺傳算法的運(yùn)行參數(shù)有關(guān)。代碼:1、bp_a.mfunction[p,BsJ]=rbf_gaf(p,BsJ)ts=0.001;alfa=0.05;xite=0.30;sys=tf(1000,[1,87.35,10470]);dsys=c2d(sys,ts,'z');[num,den]=tfdata(dsys,'v');y_1=0;y_2=0;u_1=0;u_2=0;e_1=0;xi=0;x=[0,0]';I=[0,0,0,0]';Iout=[0,0,0,0]';FI=[0,0,0,0]';kp=25;kd=0.3;w1=[p(1),p(2),p(3),p(4);p(5),p(6),p(7),p(8)];w1_1=w1;w1_2=w1;w2=[p(9);p(10);p(11);p(12)];w2_1=w2;w2_2=w2_1;fork=1:1:1000timef(k)=k*ts;Y=1;ifY==1r(k)=0.5*sign(sin(2*2*pi*k*ts));%SquareSignalelseifY==2r(k)=0.5*(sin(3*2*pi*k*ts));%SquareSignalendy(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;e(k)=r(k)-y(k);xi=r(k);forj=1:1:4I(j)=x'*w1(:,j);Iout(j)=1/(1+exp(-I(j)));endyn(k)=w2'*Iout;%OutputofNNInetworks%PDControllerup(k)=kp*x(1)+kd*x(2);M=2;ifM==1%OnlyUsingPIDControlu(k)=up(k);elseifM==2%Totalcontroloutputu(k)=up(k)+yn(k);endifu(k)>=10u(k)=10;endifu(k)<=-10u(k)=-10;endifk==400u(k)=u(k)+5.0;end%UpdateNNWeightee(k)=u(k)-yn(k);w2=w2_1+(xite*ee(k))*Iout+alfa*(w2_1-w2_2);forj=1:1:4FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;enddw1=0*w1;fori=1:1:2forj=1:1:4dw1(i,j)=ee(k)*xite*FI(j)*w2(j)*x(i);endendw1=w1_1+dw1+alfa*(w1_1-w1_2);w1_2=w1_1;w1_1=w1;w2_2=w2_1;w2_1=w2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=y(k);x(1)=e(k);%CalculatingPx(2)=(e(k)-e_1)/0.05;%CalculatingDe_1=e(k);endB=0;fori=1:1:100Ji(i)=abs(ee(i));B=B+50*Ji(i);endBsJ=B;2、bp_test.mclearall;closeall;loadpfile;ts=0.001;alfa=0.05;xite=0.30;kp=25;kd=0.3;sys=tf(1000,[1,87.35,10470]);dsys=c2d(sys,ts,'z');[num,den]=tfdata(dsys,'v');N=1;ifN==1w1=[p(1),p(2),p(3),p(4);p(5),p(6),p(7),p(8)];w2=[p(9);p(10);p(11);p(12)];elseifN==2w1=rand(2,4);w2=rand(1,4);endendw1_1=w1;w1_2=w1;w2_1=w2;w2_2=w2_1;y_1=0;y_2=0;u_1=0;u_2=0;e_1=0;x=[0,0]';I=[0,0,0,0]';Iout=[0,0,0,0]';FI=[0,0,0,0]';ts=0.001;fork=1:1:1000time(k)=k*ts;Y=1;ifY==1r(k)=0.5*sign(sin(2*2*pi*k*ts));%SquareSignalelseifY==2r(k)=0.5*(sin(3*2*pi*k*ts));%SquareSignalendy(k)=-den(2)*y_1-den(3)*y_2+num(2)*u_1+num(3)*u_2;e(k)=r(k)-y(k);forj=1:1:4I(j)=x'*w1(:,j);Iout(j)=1/(1+exp(-I(j)));endyn(k)=w2'*Iout;%OutputofNNInetworks%PDControllerup(k)=kp*x(1)+kd*x(2);M=2;ifM==1%OnlyUsingPIDControlu(k)=up(k);elseifM==2%Totalcontroloutputu(k)=up(k)+yn(k);endifu(k)>=10u(k)=10;endifu(k)<=-10u(k)=-10;endifk==400u(k)=u(k)+6.0;end%UpdateNNWeightee(k)=u(k)-yn(k);w2=w2_1+(xite*ee(k))*Iout+alfa*(w2_1-w2_2);forj=1:1:4FI(j)=exp(-I(j))/(1+exp(-I(j)))^2;enddw1=0*w1;fori=1:1:2forj=1:1:4dw1(i,j)=ee(k)*xite*FI(j)*w2(j)*x(i);endendw1=w1_1+dw1+alfa*(w1_1-w1_2);w1_2=w1_1;w1_1=w1;w2_2=w2_1;w2_1=w2;u_2=u_1;u_1=u(k);y_2=y_1;y_1=y(k);x(1)=e(k);%CalculatingPx(2)=(e(k)-e_1)/0.05;%CalculatingDe_1=e(k);endfigure(1);plot(time,r,'r',time,y,'b');xlabel('time(s)');ylabel('randy');figure(2);subplot(411);plot(time,yn,'b');xlabel('time(s)');ylabel('yn');subplot(412);plot(time,up,'k');xlabel('time(s)');ylabel('up');subplot(413);plot(time,u,'r');xlabel('time(s)');ylabel('u');subplot(414);plot(time,r-y,'b');xlabel('time(s)');ylabel('error');3、ga_bp.m%GA(GenericAlgorithm)toOptimizeInitialParametersofRBFApproachingclearall;closeall;Size=30;%èoì?×ü??ì?êyá?G=80;%?êDí×?′óμü′ú′?êyCodeL=10;%????±?á?óμóDμ?è?é?ì?êyá?fori=1:1:8umax(i)=ones(1);%á??óè¨?μμ?×?′ó?μumin(i)=-ones(1);%è¨?μμ?×?D??μendfori=9:1:12umax(i)=0.5*ones(1);%?D?μμ?×?′ó?μumin(i)=-0.5*ones(1);%?D?μμ?×?D??μend%???ù?ó2?êy??DD3?ê??t????±à??E=round(rand(Size,12*CodeL));%3?ê??ˉ??ì?′ú??£¨è?é?ì?£?%ò?′?é??-í????μá·?aê?BsJ=0;forkg=1:1:Gtime(kg)=kg;fors=1:1:Sizem=E(s,:);forj=1:1:12yoy(j)=0;mj=m((j-1)*CodeL+1:1:j*CodeL);fori=1:1:CodeLyoy(j)=yoy(j)+mj(i)*2^(i-1);endf(s,j)=(umax(j)-umin(j))*yoy(j)/1023+umin(j);endclearyoy;p=f(s,:);[p,BsJ]=bp_a(p,BsJ);BsJi(s)=BsJ;end[OderJi,IndexJi]=sort(BsJi);BestJ(kg)=OderJi(1);BJ=BestJ(kg);Ji=BsJi+1e-005;fi=1./Ji;[Oderfi,Indexfi]=sort(fi);%ArrangingfismalltobiggerBestfi=Oderfi(Size);%LetBestfi=max(fi)BestS=E(Indexfi(Size),:);%LetBestS=E(m),mistheIndexfibelongtomax(fi)kgpBJ%******Step2:SelectandReproductOperation******fi_sum=sum(fi);fi_Size=(Oderfi/fi_sum)*Size;fi_S=floor(fi_Size);kk=1;fori=1:1:Sizeforj=1:1:fi_S(i)TempE(kk,:)=E(Indexfi(i),:);kk=kk+1;endend%************Step3:CrossoverOperation************pc=0.70;n=ceil(20*rand);fori=1:2:(Size-1)temp=rand;ifpc>temp

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論