gafault.m
上传用户:szhysm888
上传日期:2008-07-11
资源大小:35k
文件大小:1k
开发平台:

Matlab

  1. % 用GA训练BP网络的权值、阈值
  2. tic, % 开始计时
  3. [P,T,R,S1,S2,S]=nninit; % BP网络初始化
  4. aa=ones(S,1)*[-1 1];
  5. popu=60; % 初始种群个数
  6. initPpp=initializega(popu,aa,'gabpEval');
  7. gen=700; % 遗传代数
  8. [x endPop bPop trace]=ga(aa,'gabpEval',[],initPpp,[1e-6 1 1],'maxGenTerm',gen,...
  9.   'normGeomSelect',[0.09],['arithXover'],[2],'nonUnifMutation',[2 gen 3]);
  10. %%Lets take a look at the performance of the ga during the run
  11. subplot(2,1,1)
  12. plot(trace(:,1),1./trace(:,3),'r-')
  13. hold on
  14. plot(trace(:,1),1./trace(:,2),'b-')
  15. xlabel('Generation');
  16. ylabel('Sum-Squared Error');
  17. subplot(2,1,2)
  18. plot(trace(:,1),trace(:,3),'r-')
  19. hold on
  20. plot(trace(:,1),trace(:,2),'b-')
  21. xlabel('Generation');
  22. ylabel('Fittness');
  23. % 从编码x中解码出BP网络所对应的权值、阈值
  24. [W1 B1 W2 B2]=gadecod(x); 
  25. % 仿真结果
  26. TT=simuff(P,W1,B1,'tansig',W2,B2,'purelin')
  27. toc % 结束计时