本站内容均来自兴趣收集,如不慎侵害的您的相关权益,请留言告知,我们将尽快删除.谢谢.
一、算法简介
白鲸优化算法(Beluga whale optimization,BWO)由Changting Zhong等人于 2022 年提出,该算法模拟了白鲸游泳,觅食和“鲸鱼坠落”行为。
白鲸是高度社会化的动物,它们可以聚集在2到25名成员的群体中,平均有10名成员。白鲸是杂食性的,包括但不限于虾,蠕虫,鳕鱼,鳟鱼和鲑鱼。当夏天来临时,许多生物聚集在一些河口,所以鲸鱼聚集在一起吃东西。白鲸通常通过吸力将猎物带入嘴里,因为牙齿不锋利。有时,白鲸与协调小组通过引导鱼进入浅水来攻击和喂养鱼。此外,白鲸在夏季受到虎鲸,北极熊和人类的威胁,因为河口的人口密度很高。一些鲸鱼在迁徙过程中可能会死亡并落入深海,这被称为“鲸鱼坠落”,为大量没有阳光和氧气的生物提供充足的食物。
二、算法原理
白鲸优化算法包含三个阶段:游泳(全局勘探),觅食(局部开发)和“鲸鱼坠落”。
2.1全局勘探
该阶段是模拟白鲸的游泳行为,根据位置的奇偶数采用不同的位置更新,其数学模型如下:
2.2局部开发
该阶段是模拟白鲸的捕食行为,当前白鲸可以根据其周围白鲸的位置移动和合作觅食。因此,白鲸通过相互共享位置信息来捕食,从而引入最佳位置和其他位置,其数学模型如下:
其中:
2.3鲸鱼坠落
在迁徙和觅食期间,白鲸受到虎鲸,北极熊和人类的威胁。大多数白鲸都很聪明,可以通过彼此分享信息来逃避威胁。然而,少数白鲸没有幸存下来并落入深海海底,被其他生物所食,这种现象被称为“鲸鱼坠落”。
其中:
三、算法描述及流程
3.1算法描述
3.2算法流程
四、双向长短时记忆BiLSTM
双向长短时记忆BiLSTM传统的权值和阈值更新方式采用梯度下降,由于梯度下降法容易使参数陷入局部最优。群智能优化算法具有较强的全局搜索能力,因此,本文采用白鲸优化算法BWO优化BiLSTM的权值和阈值,提高网络的求解精度。
五、实验结果
BWO优化BiLSTM的目标函数为训练集上网络预测值与真实值的均方误差MSE,BiLSTM的隐藏层含5神经元,输入层为10个神经元,输出层为1个神经元,步长为1;BWO种群大小为50,最大迭代次数为100。数据集为:data=exp(sin(0:0.05:10*pi)). cos(0:0.05:10 pi);%数据集(可以根据自己的需求更改)如下所示:
训练集和测试集各占数据集的70%和30%。
部分代码:
%% 白鲸优化算法BWO优化双向长短时记忆BiLSTM实现数据的预测。 data=exp(sin(0:0.05:10*pi)).*cos(0:0.05:10*pi);%数据集(可以根据自己的需求更改) Dim=sum(sum(K(:,1).*K(:,2)));%维度 lb=-5;%下界 ub=5;%上界 [email protected];%计算训练集上的函数值(真实值与预测值的均方误差MSE) SearchAgents_no=50; % 种群大小(可以修改) Max_iteration=100; % 最大迭代次数(可以修改) [bestX,fMin,BWO_curve]=BWO(SearchAgents_no,Max_iteration,lb,ub,Dim,fobj); %白鲸优化算法BWO优化双向长短时记忆BiLSTM的权值阈值 bestX是最优权值阈值 o=TestFun(bestX);%在测试集上预测 o1=TrainFun(bestX);%在训练集上预测 save bestX bestX %保留白鲸优化算法BWO优化双向长短时记忆BiLSTM得到的最优参数 save BWO_curve BWO_curve %保留 %% 画出白鲸优化算法BWO优化双向长短时记忆BiLSTM的均方误差随迭代次数的图 figure semilogy(BWO_curve,'Color','g') xlabel('Iteration'); ylabel('MSE'); legend('BWO') %% display(['The best solution obtained by BWO is : ', num2str(bestX)]); display(['The best optimal value of the objective funciton found by BWO is : ', num2str(fMin)]);%fMin越小说明白鲸优化算法BWO优化双向长短时记忆BiLSTM效果越好
求解结果:
训练集上MSE随迭代次数变化的曲线图:
训练集上真实值和预测值对比图:
训练集上真实值和预测值绝对误差(MAE):
测试集上真实值和预测值对比图:
测试集上真实值和预测值绝对误差(MAE):
由此可见,白鲸优化算法(Beluga whale optimization,BWO)优化双向长短时记忆BiLSTM的权值和阈值用于时间序列预测效果十分不错。
Be First to Comment