一、白鲨优化算法WSO
白鲨优化算法(White Shark Optimizer,WSO)由Malik Braik等人于2022年提出,该算法受大白鲨导航和觅食时具有的非凡听觉和嗅觉启发。该算法思路新颖,策略高效。
大白鲨体呈纺锤型,躯干较粗壮。头一般长。尾基上下方各具一凹洼;尾柄具侧突。吻较短而尖突。眼中大,圆形,无瞬膜。前鼻瓣细小突出;无口鼻沟或触须。口裂宽,弧形,下颌极短,口闭时露齿;颌齿大型,边缘具锯齿,前面齿窄长而如钻子状,侧面齿侧扁如刀状,往后则渐低小,齿无小齿尖。喷水孔微小,有时消失。背鳍2个,第一背鳍稍大,起点与胸鳍后端相对或稍中,后缘凹入,上角略尖圆,下角微尖突;第二背鳍很小,起点与臀鳍起点相对,后缘微凹入,上角钝圆,下角微尖突;胸鳍宽大型,镰刀状,后缘微凹入,外角钝尖,内角钝圆;尾鳍宽短,尾椎轴稍上扬,上尾叉较长大,由上叶、尾椎轴及下叶中后部组成;下尾叉较短小,由尾鳍下叶前部的突出部分组成。体背侧青灰色,或暗褐色,或近黑色;腹侧淡色至白色。胸鳍腋上具一黑色斑块;腹鳍白色,前部具一青灰色斑块;背鳍、胸鳍和尾鳍后部暗色。
WSO原理参考博客:WSO原理
二、极限学习机ELM
极限学习机(Extreme Learning Machine, ELM)在2004年由 南洋理工大学 的Guang-Bin Huang、Qin-Yu Zhu和Chee-Kheong Siew提出,并发表于当年的IEEE国际交互会议(IEEE International Joint Conference)中,目的是为了对 反向传播算法 (Backward Propagation, BP)进行改进以提升学习效率低并简化学习参数的设定,其网络结构如下:
田艳丰,王顺,王哲,刘洋,邢作霞.基于粒子群算法改进极限学习机的风电功率短期预测[J].电器与能效管理技术,2022(03):39-44+76.DOI:10.16628/j.cnki.2095-8188.2022.03.006.
三、数值实验
由于随机产生的ω 和b对结果影响较大,且连接权值 β采用传统数值方法求解容易陷入局部最优。因此采用元启发式算法求解ω ,b和β更能有效提升ELM的性能。白鲨优化算法的每个个体由ω ,b和β组成,每个个体对应着ELM的一组结构参数,最优个体即为ELM的最优结构参数。数据集为3输入2输出,构建结构为3-10-2的ELM,并采用白鲨优化算法优化其参数ω ,b和β,使其样本均方误差(MSE)最小。
部分训练数据如下:前三列为输入,后两列为输出
-1.48581167519363 -1.24838611867669 2.90849868110777 -7.12850815017173 3.91945924326752
-2.03682497937084 -1.62549659918318 3.13733337825971 -8.83647993618459 4.35150159725524
-2.91742828577637 0.278657528235883 -0.837911588995676 -4.71828745432118 -4.31265493124381
-3.21719904347192 3.39707706048949 -2.78007625033151 -0.257244776122853 -12.7914294147824
-1.46432363263533 4.67415564678337 -4.74153932171945 6.48704770323217 -15.5541742479215
-0.887293701938956 -1.46604451186305 -1.05138013886818 -2.18925177687279 0.993415182918969
-2.74524848803191 0.189889117698133 -0.545993957457130 -4.75461390090856 -3.67102068088531
0.608661647703807 1.46640115252994 3.47955701801905 -0.795832570081499 1.15541636066298
-0.223687042120698 -4.19582942928925 0.914801846218669 -5.55800535974931 9.08277366267646
0.491883077422103 0.694781935631662 -4.92537060283375 6.60391869330961 -5.82305139667497
-2.92111776672356 -2.80000783866272 -0.703721826758106 -7.93852154535173 1.97517608384377
4.77369467717302 0.268255595708386 2.54725767650979 7.26838727354463 6.78444116226604
1.48643924691083 -1.42820292917462 1.75976910011832 -0.215093535471286 6.10261420537839
2.58442283029874 -3.80663063787233 -3.56073431137983 4.92294933410499 6.63694979466356
-3.60549116907897 1.95886927980877 4.73842863912621 -9.99054169747538 -2.78480108957030
部分代码如下:WSO种群大小为100,最大迭代次数为1000,训练样本数目为100。
close all
clear
clc
global inputnum hiddennum outputnum TrainNum
inputnum=3;%神经网络输入层神经元个数(输入样本维度)
hiddennum=10;%神经网络隐藏层神经元个数(可以自己修改)
outputnum=2;%神经网络输出层神经元个数(输出样本维度)
TrainNum=100;%训练集数目
%% WSO优化ELM神经网络,目标函数是均方误差MSE
SearchAgents_no=100; % 种群大小(可以修改)
Function_name='F1';
Max_iteration=1000; % 最大迭代次数(可以修改)
[lb,ub,dim,fobj]=fun_info(Function_name);% 在fun_info.m中可以查看上下限及目标函数
[fMin,bestX,WSO_curve]=WSO(SearchAgents_no,Max_iteration,lb,ub,dim,fobj); % bestX是最优参数
save bestX bestX %保留WSO优化神经网络得到的最优参数
%%
figure
semilogy(WSO_curve,'Color','g')
title('Objective space')
xlabel('Iteration');
ylabel('MSE');
%axis tight
grid on
box on
legend('WSO')
%%
display(['The best solution obtained is : ', num2str(bestX)]);
display(['The best optimal value of the objective funciton is : ', num2str(fMin)]);%fMin越小说明效果越好
四、实验结果
预测值与真实值:
第一个目标的预测值与真实值:
第二个目标的预测值与真实值:
两个目标的预测值与真实值的绝对误差MAE:
由此可以看出,基于WSO优化ELM的数据预测效果理想,非常不错。
今天的文章单目标应用:基于白鲨优化算法(WSO)优化极限学习机(ELM)的数据预测(ELM隐藏层神经元可修改,提供MATLAB代码)[通俗易懂]分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/84998.html