• 单目标应用:基于白鲨优化算法(WSO)优化极限学习机(ELM)的数据预测(ELM隐藏层神经元可修改,提供MATLAB代码)


    一、白鲨优化算法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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    部分代码如下: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越小说明效果越好
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28

    四、实验结果

    预测值与真实值:
    在这里插入图片描述

    第一个目标的预测值与真实值:
    在这里插入图片描述

    第二个目标的预测值与真实值:

    在这里插入图片描述

    两个目标的预测值与真实值的绝对误差MAE:
    在这里插入图片描述

    由此可以看出,基于WSO优化ELM的数据预测效果理想,非常不错。

  • 相关阅读:
    CDH CDH 13Cloudera Manager Console FreeIPA 用户规划(markdown新版)
    使用spring cloud config来统一管理配置文件
    电容搞搞”振“,PDN有帮衬
    分布式编程工具Akka Streams、Kafka Streams和Spark Streaming大PK
    瑞吉外卖实战项目全攻略——优化篇第二天
    【团体程序设计天梯赛】L2-052 吉利矩阵
    论如何直接用EF Core实现创建更新时间、用户审计,自动化乐观并发、软删除和树形查询(上)
    web前端网页设计期末课程大作业:关于城市旅游的HTML网页设计 ——北京
    docker搭建mysql环境
    短剧解说小程序搭建,短剧解说小程序源码
  • 原文地址:https://blog.csdn.net/weixin_46204734/article/details/125018354