首页 > 行业资讯 > 【BP预测】基于人工蜂群算法优化BP神经网络实现数据预测附matlab代码

【BP预测】基于人工蜂群算法优化BP神经网络实现数据预测附matlab代码

时间:2022-03-25 来源: 浏览:

【BP预测】基于人工蜂群算法优化BP神经网络实现数据预测附matlab代码

天天Matlab 天天Matlab
天天Matlab

TT_Matlab

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,完整matlab代码或者程序定制加qq1575304183。

收录于话题 #神经网络预测matlab源码 218个

1 简介

针对BP网络水质评价模型的不足,引入人工蜂群(ABC)算法,将求解BP神经网络各层权值、阀值的过程转化为蜜蜂寻找最佳蜜源的过程,提出了一种新的结合人工蜂群算法的BP网络水质评价方法(ABC-BP)。并以2000—2006年渭河监测断面的10组实测数据作为测试样本对其水质进行了评价,实验结果表明该方法得到的水质评价结果准确,并具有很强的稳定性和鲁棒性。

2 部分代码

function [bestsol,yy] = ABC(prob,lb,ub,Np,T,limit) %% Starting of ABC f = NaN(Np, 1 ); % Vector to store the objective function value of the population members fit = NaN(Np, 1 ); % Vector to store the fitness function value of the population members trial = NaN(Np, 1 ); % Initialization of the trial vector D = length(lb); % Determining the number of decision variables in the problem P = repmat(lb,Np, 1 ) + repmat((ub-lb),Np, 1 ).*rand(Np,D); % Generation of the initial population for p = 1 : Np f ( p ) = prob(P(p,:)); % Evaluating the objective function value fit ( p ) = CalFit(f(p)); % Evaluating the fitness function value end [ bestobj, ind ] = min(f); % Determine and memorize the best objective value bestsol = P(ind,:); % Determine and memorize the best solution bestobj1= 1000 ; for t = 1 :T %% Employed Bee Phase for i = 1 :Np [ trial,P,fit,f ] = GenNewSol(prob, lb, ub, Np, i, P, fit, trial, f, D); end %% Onlooker Bee Phase % as per the code of the inventors available at https: //abc.erciyes.edu.tr/ % prob=( 0.9 .*Fitness./max(Fitness))+ 0.1 ; % MATLAB Code of the ABC algorithm version 2 has been released ( 14.12 .2009 ) ( more optimized coding ) probability = 0.9 * (fit/max(fit)) + 0.1 ; m = 0 ; n = 1 ; while (m < Np) if (rand < probability(n)) [ trial,P,fit,f ] = GenNewSol(prob, lb, ub, Np, n, P, fit, trial, f, D); m = m + 1 ; end n = mod(n,Np) + 1 ; end [ bestobj,ind ] = min([f;bestobj]); CombinedSol = [P;bestsol]; bestsol = CombinedSol(ind,:); if bestobj< bestobj1 yy ( t ) =bestobj; else yy(t)=bestobj1; end %% Scout Bee Phase [ val,ind ] = max(trial); if (val > limit) trial(ind) = 0 ; % Reset the trial value to zero P ( ind,: ) = lb + (ub-lb).*rand( 1 ,D); % Generate a random solution f ( ind ) = prob(P(ind,:)); % Determine the objective function value of the newly generated solution fit ( ind ) = CalFit(f(ind)); % Determine the fitness function value of the newly generated solution end end [ bestfitness,ind ] = min([f;bestobj]); CombinedSol = [P;bestsol]; bestsol = CombinedSol(ind,:);

3 仿真结果

4 参考文献

[1]苏彩红, 向娜, 陈广义,等. 基于人工蜂群算法与BP神经网络的水质评价模型[J]. 环境工程学报, 2012.

博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。

部分理论引用网络文献,若有侵权联系博主删除。

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐