1 简介
人工神经网络已成功应用到许多领域,如模式识别、机器学习、信号处理和信息融合等,但是,如果神经网络的学习算法或拓扑结构选择不当,可能导致出现神经网络的预测准确度低的问题。为此,许多研究者开始将元启发式优化算法应用于神经网络的性能优化。 布谷鸟搜索算法(Cuckoo Search,CS)是一种新型的元启发式搜索算法,其只有一个控制参数,且布谷鸟搜索算法寻优过程简单,因此能够很好地协调全局搜索(Exploration)和局部搜索(Exploitation)。本文将采用布谷鸟搜索算法应用于神经网络的权值和阈值优化。本文主要工作如下: 本文在介绍了布谷鸟搜索算法和BP神经网络的基础上,提出了布谷鸟搜索算法优化晦涩神经网络算法,该算法以神经网络的训练误差为适应度函数,对神经网络的权值和阈值进行优化,它已成功应用到订单数量预测的问题。
2 部分代码
function new_nest=empty_nests(nest,Lb,Ub,pa)
% A fraction of worse nests are discovered with a probability pa
n=size(nest,1);
% Discovered or not -- a status vector
K=rand(size(nest))>pa;
% In the real world, if a cuckoo's egg is very similar to a host's eggs, then
% this cuckoo's egg is less likely to be discovered, thus the fitness should
% be related to the difference in solutions. Therefore, it is a good idea
% to do a random walk in a biased way with some random step sizes.
%% New solution by biased/selective random walks
stepsize=rand*(nest(randperm(n),:)-nest(randperm(n),:));%步长控制量
new_nest=nest+stepsize.*K;
for j=1:size(new_nest,1)
s=new_nest(j,:);
new_nest(j,:)=simplebounds(s,Lb,Ub);
end
3 仿真结果
4 参考文献
[1]严忠贞, 周可薇, 江元璋,等. 一种snap-drift布谷鸟搜索算法优化灰色神经网络的预测方法:, CN112365067A[P]. 2021.
博主简介:擅长智能优化算法、神经网络预测、信号处理、元胞自动机、图像处理、路径规划、无人机等多种领域的Matlab仿真,相关matlab代码问题可私信交流。
部分理论引用网络文献,若有侵权联系博主删除。