用遗传算法优化BP神经网络程序.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
用遗传算法优化BP神经网络程序

红色程序是用遗传算法直接训练BP权值 tic, % 开始计时 [P,T,R,S1,S2,S]=nninit; % BP网络初始化 % 随机生成W1,B1,W2,B2 [W1,B1]=rands(S1,R); [W2,B2]=rands(S2,S1); % BP网络训练的参数设置 disp_fqre=100; max_epoch=3000;err_goal=0.002;lr=0.01; TP=[disp_fqre max_epoch err_goal lr]; % 开始训练 [W1,B1,W2,B2,te,tr]=trainbp(W1,B1,tansig,W2,B2,purelin,P,T,TP); % 仿真结果 TT=simuff(P,W1,B1,tansig,W2,B2,purelin) toc % 结束计时 % 在MATLAB6.5下编程 tic, % 开始计时 [P,T,R,S1,S2,S]=nninit; % BP网络初始化 % 生成BP网络 net = newff(minmax(P),[S1 S2],{logsig logsig},trainlm); % BP网络训练的参数设置 net.trainParam.epochs = 3000; net.trainParam.goal = 0.002; net.trainParam.lr = 0.01; % 开始训练 net = train(net,P,T); % 仿真结果 TT=sim(net,P) toc % 结束计时 % 遗传算法的适应值计算 function [sol, val] = gabpEval(sol,options) % val - the fittness of this individual % sol - the individual, returned to allow for Lamarckian evolution % options - [current_generation] [P,T,R,S1,S2,S]=nninit; for i=1:S, x(i)=sol(i); end; [W1, B1, W2, B2, P, T, A1, A2, SE, val]=gadecod(x); tic, %开始计时 % 首先进行遗传算法 [P,T,R,S1,S2,S]=nninit; aa=ones(S,1)*[-1 1]; popu=30; initPpp=initializega(popu,aa,gabpEval); gen=80; % 遗传代数 % 遗传计算 [x endPop bPop trace]=ga(aa,gabpEval,[],initPpp,[1e-6 1 1],maxGenTerm,gen,... normGeomSelect,[0.09],[arithXover],[2],nonUnifMutation,[2 gen 3]); % x The best found % Lets take a look at the performance of the ga during the run subplot(2,1,1) plot(trace(:,1),1./trace(:,3),r-) hold on plot(trace(:,1),1./trace(:,2),b-) xlabel(Generation); ylabel(Sum-Squared Error); subplot(2,1,2) plot(trace(:,1),trace(:,3),r-) hold on plot(trace(:,1),trace(:,2),b-) xlabel(Generation); ylabel(Fittness); % 下面进行BP算法 figure(2) % 将遗传算法的结果分解为BP网络所对应的权值、阈值 [W1 B1 W2 B2 P T A1 A2 SE val]=gadecod(x); % BP网络训练的参数设置 disp_fqre=100; max_epoch=3000;err_goal=0.002;lr=0.01; TP=[disp_fqre max_epoch err_goal lr]; [W1,B1,W2,B2,te,tr]=trainbp(W1,B1,tansig,W2,B2,purelin,P,T,TP); % 仿真结果 TT=simuff(P,W1,B1,tansig,W2,B2,purelin) toc % 结束计时 % 将遗传算法的编

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档