0 引言
针对DBO算法全局探索能力不足、易陷入局部最优以及收敛精度不理想等问题,多为学者提出了混合多策略改进的蜣螂优化算法(IDBO)。主要混合策略改进首先是采用混沌映射结合随机反向学习策略初始化种群提高多样性,扩大解空间 搜索范围,增强全局寻优能力;其次通过黄金正弦策略实现个体动态搜索,提高算法遍历性;在者引入竞争机制增强信息交互,平衡全局探索与局部开发,加快算法收敛速度;最后在迭代后期利用自适应t分布变异对个体进 行扰动,避免算法陷入局部最优。
1 数学模型
IDBO是在DBO基础上从改善种群多样性、增强搜索随机性、 加强个体信息交互以及跳出局部最优等四个方向来提高算法的全局探索和局部开发能力,增强算法寻优性能。
(1)混沌映射和随机反向学习策略:其数学模型分布如下:
式(10)为方向学习策略后种群,其中J为0到1之间随机数。
(2)黄金正弦策略:为了使推球蜣螂完成对解空间的充分勘探,引入黄金正弦策略对推球蜣螂进行位置更新,其数学模型如下:
式(11)为无障碍时的蜣螂位置,式(12)、(13)黄金分割系数。其中ω1∈[0,2Π]、ω2∈[0,Π]的随机数,ΔR为靠近最优蜣螂位置差距,a和2 a初始值分别为-Π和Π,h=(根号5-1)/2.
(3)动态权重系数:在小蜣螂竞争食物引入动态权值,跳出局部最优,进行竞争机制进行比优平衡全局探索与局部开发,加快算法收敛速度。
式中t为当前迭代,M为最大迭代。
2 模型对比
对比DBO和IDBO优化BP神经网络模型性能得出对比图,由于BP神经网络受权值阈值随机性影响,本章节采用’seed‘固定随机组函数进行模型对比,具体代码如下:
rand('seed',3333);%3333为随机固定组,可变
模型数据来源UCI回归数据集
精度指标对比:
IDBO-BP:
DBO-BP:
3 matlab代码
3.1 改进的主代码
(1)混沌映射和随机反向学习策略:
%%c参数
% ReChebyshev:混沌映射及反向学习函数构建
% SYD 适应度
% pop 蜣螂种群
% dim 问题维度
% ub、lb为问题上下界
% net BP神经网络
% 改进点1:Chebyshev混沌映射及反向学习:提高种群多样性
x = ReChebyshev(pop, dim, ub, lb);
for i = 1 : pop
fit(i) =SYD(x(i,:),net) ;
net.trainParam.showWindow = 0;
end
(2)黄金正弦策略:
%%参数
%pNum 推球的种群
% 改进点2:黄金正弦策略:对局部领域空间的充分搜索,提高了勘探能力
for i = 1 : pNum
R1 = rand()*2*pi;
R2 = rand()*pi;
tu = (sqrt(5)-1)/2;
x1 = -pi+(1-tu)*2*pi;
x2 = -pi+tu*2*pi;
x(i,:) = pX(i,:)*abs(sin(R1))+R2*sin(R1)*abs(x1*pX(i,:)-x2*x(i,:));
end
(3)动态权重系数:
%%参数
% t 当前迭代
% M 最大迭代
% Bounds 边界函数
% SYD 适应度函数
% pFit 最好适应度
% fMin 推球最优适应度
% 改进点3:动态权重系数和竞争策略:全局性
k1 = 1-((t)^3)/((M)^3);
k2 = ((t)^3)/((M)^3);
for j = round(0.63*pop) : pop % Eq(7)
x(j,:)=k1*bestX+k2*randn(1,dim).*((abs(( pX(j,:)-bestXX)))+(abs((pX(j,:)-bestX))))./2;
x(j,:)= Bounds(x(j,:),lb,ub);
fit(j)= SYD(x(j,:),net);
net.trainParam.showWindow = 0;
end
% 竞争对比
XX=pX;
for i = 1 : pop
if (fit(i)< pFit(i))
pFit(i)=fit(i);
pX(i,:)=x(i,:);
end
if (pFit(i)<fMin)
fMin= pFit(i);
bestX = pX(i,:);
end
end
3.2 IDBO-BP
1)单输出回归预测模型:单输出回归:混合策略改进的蜣螂算法优化BP神经网络模型(IDBO-BP)
2)多输出回归预测模型:多输出回归:混合策略改进的蜣螂算法优化BP神经网络模型(IDBO-BP)
3)分类模型:分类模型:混合策略改进的蜣螂算法优化BP神经网络模型(IDBO-BP)
4)时间序列:时间序列:混合策略改进的蜣螂算法优化BP神经网络模型(IDBO-BP)
4 视频讲解
B站搜索:‘ 不想学习的陈成 ’
版权归原作者 有事码一章 所有, 如有侵权,请联系我们删除。