当前位置: 首页 > news >正文

重庆长寿网站设计公司哪家好新都网站建设

重庆长寿网站设计公司哪家好,新都网站建设,网wordpress站底部图片悬浮,wordpress 酒多输入多输出 | MATLAB实现GA-BP遗传算法优化BP神经网络多输入多输出 目录 多输入多输出 | MATLAB实现GA-BP遗传算法优化BP神经网络多输入多输出预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 多输入多输出 | MATLAB实现GA-BP遗传算法优化BP神经网络多输入多输出…多输入多输出 | MATLAB实现GA-BP遗传算法优化BP神经网络多输入多输出 目录 多输入多输出 | MATLAB实现GA-BP遗传算法优化BP神经网络多输入多输出预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 多输入多输出 | MATLAB实现GA-BP遗传算法优化BP神经网络多输入多输出 1.data为数据集10个输入特征3个输出变量。 2.main.m为主程序文件。 3.命令窗口输出MBE、MAE和R2可在下载区获取数据和程序内容。 程序设计 完整程序和数据下载方式私信博主回复MATLAB实现GA-BP遗传算法优化BP神经网络多输入多输出。 %----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- function [x, endPop, bPop, traceInfo] ga(bounds, evalFN, evalOps, startPop, opts, ... termFN, termOps, selectFN, selectOps, xOverFNs, xOverOps, mutFNs, mutOps)% Output Arguments: % x - the best solution found during the course of the run % endPop - the final population % bPop - a trace of the best population % traceInfo - a matrix of best and means of the ga for each generation % % Input Arguments: % bounds - a matrix of upper and lower bounds on the variables % evalFN - the name of the evaluation .m function % evalOps - options to pass to the evaluation function ([NULL]) % startPop - a matrix of solutions that can be initialized % from initialize.m % opts - [epsilon prob_ops display] change required to consider two % solutions different, prob_ops 0 if you want to apply the % genetic operators probabilisticly to each solution, 1 if % you are supplying a deterministic number of operator % applications and display is 1 to output progress 0 for % quiet. ([1e-6 1 0]) % termFN - name of the .m termination function ([maxGenTerm]) % termOps - options string to be passed to the termination function % ([100]). % selectFN - name of the .m selection function ([normGeomSelect]) % selectOpts - options string to be passed to select after % select(pop,#,opts) ([0.08]) % xOverFNS - a string containing blank seperated names of Xover.m % files ([arithXover heuristicXover simpleXover]) % xOverOps - A matrix of options to pass to Xover.m files with the % first column being the number of that xOver to perform % similiarly for mutation ([2 0;2 3;2 0]) % mutFNs - a string containing blank seperated names of mutation.m % files ([boundaryMutation multiNonUnifMutation ... % nonUnifMutation unifMutation]) % mutOps - A matrix of options to pass to Xover.m files with the % first column being the number of that xOver to perform % similiarly for mutation ([4 0 0;6 100 3;4 100 3;4 0 0])%% 初始化参数 n nargin; if n 2 || n 6 || n 10 || n 12disp(Insufficient arguements) end% 默认评估选项 if n 3 evalOps []; end% 默认参数 if n 5opts [1e-6, 1, 0]; end% 默认参数 if isempty(opts)opts [1e-6, 1, 0]; end%% 判断是否为m文件 if any(evalFN 48)% 浮点数编码 if opts(2) 1e1str [xc1; c1(xZomeLength), evalFN ;]; e2str [xc2; c2(xZomeLength), evalFN ;]; % 二进制编码elsee1str [xb2f(endPop(j,:),bounds,bits); endPop(j,xZomeLength), evalFN ;];end else% 浮点数编码if opts(2) 1e1str [[c1 c1(xZomeLength)] evalFN (c1,[gen evalOps]);]; e2str [[c2 c2(xZomeLength)] evalFN (c2,[gen evalOps]);];% 二进制编码elsee1str[xb2f(endPop(j,:),bounds,bits);[x v] evalFN ...(x,[gen evalOps]); endPop(j,:)[f2b(x,bounds,bits) v];]; end end%% 默认终止信息 if n 6termOps 100;termFN maxGenTerm; end%% 默认变异信息 if n 12% 浮点数编码if opts(2) 1mutFNs boundaryMutation multiNonUnifMutation nonUnifMutation unifMutation;mutOps [4, 0, 0; 6, termOps(1), 3; 4, termOps(1), 3;4, 0, 0];% 二进制编码elsemutFNs binaryMutation;mutOps 0.05;end end%% 默认交叉信息 if n 10% 浮点数编码if opts(2) 1xOverFNs arithXover heuristicXover simpleXover;xOverOps [2, 0; 2, 3; 2, 0];% 二进制编码elsexOverFNs simpleXover;xOverOps 0.6;end end%% 仅默认选择选项即轮盘赌。 if n 9selectOps []; end%% 默认选择信息 if n 8selectFN normGeomSelect;selectOps 0.08; end%% 默认终止信息 if n 6termOps 100;termFN maxGenTerm; end%% 没有定的初始种群 if n 4startPop []; end%% 随机生成种群 if isempty(startPop)startPop initializega(80, bounds, evalFN, evalOps, opts(1: 2)); end%% 二进制编码 if opts(2) 0bits calcbits(bounds, opts(1)); end%% 参数设置 xOverFNs parse(xOverFNs); mutFNs parse(mutFNs); xZomeLength size(startPop, 2); % xzome 的长度 numVar xZomeLength - 1; % 变量数 popSize size(startPop,1); % 种群人口个数 endPop zeros(popSize, xZomeLength); % 第二种群矩阵 numXOvers size(xOverFNs, 1); % Number of Crossover operators numMuts size(mutFNs, 1); % Number of Mutation operators epsilon opts(1); % Threshold for two fittness to differ oval max(startPop(:, xZomeLength)); % Best value in start pop bFoundIn 1; % Number of times best has changed done 0; % Done with simulated evolution gen 1; % Current Generation Number collectTrace (nargout 3); % Should we collect info every gen floatGA opts(2) 1; % Probabilistic application of ops display opts(3); % Display progress %% 精英模型 while(~done)[bval, bindx] max(startPop(:, xZomeLength)); % Best of current popbest startPop(bindx, :);if collectTracetraceInfo(gen, 1) gen; % current generationtraceInfo(gen, 2) startPop(bindx, xZomeLength); % Best fittnesstraceInfo(gen, 3) mean(startPop(:, xZomeLength)); % Avg fittnesstraceInfo(gen, 4) std(startPop(:, xZomeLength)); end%% 最佳解if ( (abs(bval - oval) epsilon) || (gen1))% 更新显示if displayfprintf(1, \n%d %f\n, gen, bval); end% 更新种群矩阵if floatGAbPop(bFoundIn, :) [gen, startPop(bindx, :)]; elsebPop(bFoundIn, :) [gen, b2f(startPop(bindx, 1 : numVar), bounds, bits)...startPop(bindx, xZomeLength)];endbFoundIn bFoundIn 1; % Update number of changesoval bval; % Update the best valelseif displayfprintf(1,%d ,gen); % Otherwise just update num genendend %% 选择种群endPop feval(selectFN, startPop, [gen, selectOps]);% 以参数为操作数的模型运行if floatGAfor i 1 : numXOversfor j 1 : xOverOps(i, 1)a round(rand * (popSize - 1) 1); % Pick a parentb round(rand * (popSize - 1) 1); % Pick another parentxN deblank(xOverFNs(i, :)); % Get the name of crossover function[c1, c2] feval(xN, endPop(a, :), endPop(b, :), bounds, [gen, xOverOps(i, :)]);% Make sure we created a new if c1(1 : numVar) endPop(a, (1 : numVar)) c1(xZomeLength) endPop(a, xZomeLength);elseif c1(1:numVar) endPop(b, (1 : numVar))c1(xZomeLength) endPop(b, xZomeLength);elseeval(e1str);endif c2(1 : numVar) endPop(a, (1 : numVar))c2(xZomeLength) endPop(a, xZomeLength);elseif c2(1 : numVar) endPop(b, (1 : numVar))c2(xZomeLength) endPop(b, xZomeLength);elseeval(e2str);endendPop(a, :) c1;endPop(b, :) c2;endendfor i 1 : numMutsfor j 1 : mutOps(i, 1)a round(rand * (popSize - 1) 1);c1 feval(deblank(mutFNs(i, :)), endPop(a, :), bounds, [gen, mutOps(i, :)]);if c1(1 : numVar) endPop(a, (1 : numVar)) c1(xZomeLength) endPop(a, xZomeLength);elseeval(e1str);endendPop(a, :) c1;endend%% 运行遗传算子的概率模型else for i 1 : numXOversxN deblank(xOverFNs(i, :));cp find((rand(popSize, 1) xOverOps(i, 1)) 1);if rem(size(cp, 1), 2) cp cp(1 : (size(cp, 1) - 1)); endcp reshape(cp, size(cp, 1) / 2, 2);for j 1 : size(cp, 1)a cp(j, 1); b cp(j, 2); [endPop(a, :), endPop(b, :)] feval(xN, endPop(a, :), endPop(b, :), ...bounds, [gen, xOverOps(i, :)]);endendfor i 1 : numMutsmN deblank(mutFNs(i, :));for j 1 : popSizeendPop(j, :) feval(mN, endPop(j, :), bounds, [gen, mutOps(i, :)]);eval(e1str);endendend% 更新记录gen gen 1;done feval(termFN, [gen, termOps], bPop, endPop); % See if the ga is donestartPop endPop; % Swap the populations[~, bindx] min(startPop(:, xZomeLength)); % Keep the best solutionstartPop(bindx, :) best; % replace it with the worstend [bval, bindx] max(startPop(:, xZomeLength));%% 显示结果 if display fprintf(1, \n%d %f\n, gen, bval); end%% 二进制编码 x startPop(bindx, :); if opts(2) 0x b2f(x, bounds,bits);bPop(bFoundIn, :) [gen, b2f(startPop(bindx, 1 : numVar), bounds, bits)...startPop(bindx, xZomeLength)]; elsebPop(bFoundIn, :) [gen, startPop(bindx, :)]; end%% 赋值 if collectTracetraceInfo(gen, 1) gen; % 当前迭代次数traceInfo(gen, 2) startPop(bindx, xZomeLength); % 最佳适应度traceInfo(gen, 3) mean(startPop(:, xZomeLength)); % 平均适应度 end 往期精彩 MATLAB实现RBF径向基神经网络多输入多输出预测 MATLAB实现BP神经网络多输入多输出预测 MATLAB实现DNN神经网络多输入多输出预测 参考资料 [1] https://blog.csdn.net/kjm13182345320/article/details/116377961 [2] https://blog.csdn.net/kjm13182345320/article/details/127931217 [3] https://blog.csdn.net/kjm13182345320/article/details/127894261
http://wiki.neutronadmin.com/news/388320/

相关文章:

  • 制作网站需要的技术电子产品东莞网站建设
  • 站点搜索360免费wifi怎么使用
  • 购物券网站怎么做新媒体营销岗位职责
  • 深圳制作企业网站滕州做网站的
  • 什么网站可以在家做美工兼职经营网站如何挣钱
  • 招聘网有哪些网站比较好wordpress微信插件开发
  • 企业网站内页设计自己做网站 搜索功能开发
  • 商贸有限公司章程范本网站整体优化
  • vs2013 网站建设哪个网站专业做商铺
  • 怎么才能百度到自己的网站网站有标题
  • 网站开发心得体会全景校园网站开发
  • 网站规划设计的一般流程梧州seo快速排名
  • 自己做企业网站可以吗给别人做网站如何收费
  • 如何判断一个网站是恶意网站wordpress 轻博客
  • 济南网站建设富库网络企业邮箱怎么找
  • 外贸门户网站建设wordpress sql server
  • 快站科技是什么如何提升网站加载速度
  • 网站素材模板旅游易语言和网站做交互
  • 网站怎么做脚注wordpress 网址站
  • 网站建设推广找stso88效果好做网站servlet
  • 摄影公司网站开发木兰姐网站建设
  • 开发建设网站百度商桥代码怎么加到网站上
  • 河南住房和城乡建设部网站首页可制作网页的软件
  • 装修公司网站建设方案怎么去做网站
  • 网站运营做内容网站销售的优势
  • 1网站建设的目标是什么意思网站建设黄页免费观看
  • 个人外贸网站建设搞软件开发工资高吗
  • 大型网站建设需要门户类网站有哪些
  • 网站建站收费建站公司 知乎 discuz
  • 常熟网站网站建设网站制作的公司哪家效果好