鲸鱼优化算法优化BP神经网络回归预测的算法设计-附代码

鲸鱼优化算法WOA优化BP神经网络回归预测模型以及MATLAB代码实现

1. 算法描述

鲸鱼优化算法(Whale Optimization Algorithm)是一种新兴的智能优化算法,在2016年提出。算法灵感来源于鲸鱼围捕猎物的行为。鲸鱼在捕猎过程中采用包围猎物与环形游动喷出气泡网来驱赶猎物两种方式进行捕猎。选取Sphere函数作为测试基函数,比较鲸鱼优化算法WOA与遗传算法GA、粒子群算法PSO的寻优性能,从结果图可以看到,鲸鱼算法具有较好的全局搜索性能。

在这里插入图片描述

2. 鲸鱼优化算法优化BP神经网络预测的步骤与流程图设计

针对BP神经网络训练过程中的初始权值和阈值由随机数产生,对训练的网络结构具有影响,采用鲸鱼优化算法优化BP神经网络的初始权值和阈值,从而得到较为稳定的WOA-BP神经网络模型。

2.1 WOA优化BP神经网络的步骤:

Step1:初始化BP神经网络的权值和阈值
Step2:计算鲸鱼优化算法WOA的决策变量长度,选取均方误差作为优化的目标函数。
Step3:设置算法停止准则,使用鲸鱼优化算法优化神经网络的权值和阈值参数。
Step4:将优化得到的权值和阈值参数赋给BP神经网络。
Step5:优化后的BP神经网络训练与测试,与优化前的BP神经网络进行误差分析和精度对比。

2.2 WOA优化BP神经网络的流程图设计

在这里插入图片描述

3. WOA-BP预测算法的参数设置

3.1 数据说明
采用建筑物能源数据集,建立BP神经网络回归预测与鲸鱼优化算法WOA优化BP神经网络的回归预测算法。

3.2 数据格式

样本编号features1features2features3featuresntarget
1
2
n

3.3 优化变量的选取与适应度函数设计
优化BP神经网络的权值和阈值参数,将训练集与测试集整体的均方误差作为适应度函数。适应度函数值越小,表明训练越准确,且兼顾模型的预测精度更好。

F = min ⁡ ( M S E Trainingset  ,  Testingset  ) F=\min \left(M S E_{\text {Trainingset }, \text { Testingset }}\right) F=min(MSETrainingset , Testingset )

式中,TraingingSet,TestingSet,分别为训练集和测试集的样本。

3.4 算法的参数设置

a)BP神经网络的参数设置

net=newff(inputn,outputn,hiddennum_best,{'tansig','purelin'},'trainlm','learngdm');% 建立模型

%网络参数配置
net.trainParam.epochs=1000;         % 训练次数
net.trainParam.lr=0.01;                   % 学习速率
net.trainParam.goal=0.00001;                    % 训练目标最小误差
net.trainParam.show=25;                % 显示频率
net.trainParam.mc=0.01;                 % 动量因子
net.trainParam.min_grad=1e-6;       % 最小性能梯度
net.trainParam.max_fail=6;               % 最高失败次数

b) WOA算法的参数设置

% 初始化WOA参数
popsize=30;   %初始种群规模
maxgen=50;   %最大进化代数
dim=inputnum*hiddennum_best+hiddennum_best+hiddennum_best*outputnum+outputnum;    %自变量个数
lb=repmat(-3,1,dim);    %自变量下限
ub=repmat(3,1,dim);   %自变量上限

3.5 使用WOA优化后的BP神经网络进行预测,并与BP神经网络的预测结果进行误差分析和对比

4. 运行结果

4.2 WOA优化BP神经网络预测的误差分析和对比

在这里插入图片描述在这里插入图片描述

5. MATLAB代码

CSDN下载代码资源

改进的BP神经网络回归预测算法类别代码地址
BP[BP神经网络回归预测MATLAB代码]
GA-BP[[GA优化BP回归预测MATLAB代码(含优化前的对比)]]
PSO-BP[[粒子群算法PSO优化BP神经网络回归预测MATLAB代码]]
ACO-BP[[蚁群算法ACO优化BP神经网络回归预测MATLAB代码]]
ASO-BP[[原子搜索算法ASO优化BP神经网络回归预测MATLAB代码]]
SSA-BP[[麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]]
WOA-BP[[鲸鱼优化算法WOA优化BP神经网络回归预测MATLAB代码]]
ABC-BP[[人工蜂群算法ABC优化BP神经网络回归预测MATLAB代码]]
SOA-BP[[海鸥优化算法SOA优化BP神经网络回归预测MATLAB代码]]
CS-BP[[布谷鸟搜索算法CS优化BP神经网络回归预测MATLAB代码]]
Logistic-ASO-BP[[基于Logistic混沌映射改进的原子搜索算法ASO优化BP神经网络回归预测MATLAB代码]]
Logistic-SSA-BP[[基于Logstic混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]]
Tent-ASO-BP[[基于Tent混沌映射改进的原子搜索算法ASO优化BP神经网络回归预测MATLAB代码]]
Tent-SSA-BP[[基于Tent混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]]
Sine-SSA-BP[\基于Sine混沌映射改进的麻雀搜索算法SSA优化BP神经网络回归预测MATLAB代码]
  • 16
    点赞
  • 175
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CJ-leaf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值