ç¨åºä¸ï¼GAè®ç»BPæå¼ç主å½æ° function net=GABPNET(XX,YY) % 使ç¨éä¼ ç®æ³å¯¹BPç½ç»æå¼éå¼è¿è¡ä¼åï¼åç¨BPç®æ³è®ç»ç½ç» %æ°æ®å½ä¸åé¢å¤ç nntwarn off XX=[1:19;2:20;3:21;4:22]'; YY=[1:4]; XX=premnmx(XX); YY=premnmx(YY); YY %å建ç½ç» net=newff(minmax(XX),[19,25,1],{'tansig','tansig','purelin'},'trainlm'); %ä¸é¢ä½¿ç¨éä¼ ç®æ³å¯¹ç½ç»è¿è¡ä¼å P=XX; T=YY; R=size(P,1); S2=size(T,1); S1=25;%éå«å±èç¹æ° S=R*S1+S1*S2+S1+S2;%éä¼ ç®æ³ç¼ç é¿åº¦ aa=ones(S,1)*[-1,1]; popu=50;%ç§ç¾¤è§æ¨¡ save data2 XX YY % æ¯å° xx,yy äºä¸ªåæ°çæ°å¼åå
¥ data2 è¿ä¸ªMAT-fileï¼ initPpp=initializega(popu,aa,'gabpEval');%åå§åç§ç¾¤ gen=100;%éä¼ ä»£æ° %ä¸é¢è°ç¨gaotå·¥å
·ç®±ï¼å
¶ä¸ç®æ å½æ°å®ä¹ä¸ºgabpEval [x,endPop,bPop,trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,... 'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]); %ç»æ¶ææ²çº¿å¾ figure(1) plot(trace(:,1),1./trace(:,3),'r-'); hold on plot(trace(:,1),1./trace(:,2),'b-'); xlabel('Generation'); ylabel('Sum-Squared Error'); figure(2) plot(trace(:,1),trace(:,3),'r-'); hold on plot(trace(:,1),trace(:,2),'b-'); xlabel('Generation'); ylabel('Fittness');
温馨提示:答案为网友推荐,仅供参考