2024年新算法-红嘴蓝鹊优化器(RBMO)优化BP神经网络回归预测

2024年新算法-红嘴蓝鹊优化器(RBMO)优化BP神经网络回归预测

亮点:

输出多个评价指标:R2RMSEMSEMAPEMAE

满足需求,分开运行和对比的都有对应的主函数:main_BP, main_RBMO, main_BPvsBP_RBMO,并且详细中文注释

方便快捷:替换excel数据即可运行自己的数据集

出图丰富:不仅有预测结果对比,还有预测误差的可视化

一. 红嘴蓝鹊优化器(Red-billed blue magpie optimizer, RBMO)

摘要:数值优化、无人机(UAV)路径规划和工程设计问题是人工智能发展的基础。传统方法在处理这些复杂的非线性模型时显示出局限性。为了解决这些挑战,群智能算法作为一种元启发式方法被引入并得到有效实现。然而,现有技术存在收敛速度慢、精度低、鲁棒性差等缺点。受红嘴蓝喜鹊的协作高效捕食行为启发,提出一种新的元启发式算法——红嘴蓝喜鹊优化算法(RBMO)。通过模拟红嘴蓝鹊的搜索、追逐、攻击猎物和储存食物的行为,建立了RBMO的数学模型。为了验证RBMO的性能,首先通过收敛行为实验进行定性分析。使用CEC2014 (Dim = 10,30,50,和100)和CEC2017 (Dim = 10,30,50,和100)数据集验证了RBMO的数值优化能力,始终取得最好的弗里德曼均值排序。在无人机航迹规划应用中(二维和三维),RBMO获得了较好的解,证明了其在解决NP-hard问题上的有效性。此外,在五个工程设计问题中,RBMO始终能产生最低成本,展示了其在实际解决问题中的优势。将实验结果与三类广泛认可的算法进行了比较:(1)先进的变体,(2)最近提出的算法,以及(3)高性能优化器,包括CEC获胜者算法。

参考文献:Red-billed blue magpie optimizer: a novel metaheuristic algorithm for 2D/3D UAV path planning and engineering design problems

Doi: 10.1007/s10462-024-10716-3

二、BP神经网络

在今天的数字化时代,BP神经网络(反向传播神经网络)成为了机器学习和人工智能领域的一项重要技术。这种网络模型通过模仿人脑的处理方式,能够学习并解决复杂的非线性问题,是许多现代AI应用的基础。BP神经网络通过其多层结构处理信息,每一层由多个神经元组成,神经元之间通过“权重”和“偏置”参数相连接。这些参数在网络的训练初期被随机初始化,以引入必要的随机性,帮助网络有效避开局部最优解,探索全局最优解。训练过程中,网络通过输入样本进行前向传播,计算输出误差,然后通过反向传播算法调整权重和偏置,逐步减少误差,优化模型性能。这一过程不断重复,直至网络达到预期的准确性。BP神经网络的强大功能使其在回归/分类、图像识别、语音处理、自然语言处理等多个领域得到广泛应用。随着技术的不断进步,BP神经网络仍将在智能化探索中扮演重要角色,推动科技创新的边界不断拓展。

三、RBMO-BP神经网络

在追求神经网络最优性能的过程中,参数优化扮演着核心角色。传统的梯度下降法虽广泛应用于网络训练,但在某些复杂的回归预测任务中,它们常受限于慢速收敛和陷入局部最优。引入基于红嘴蓝鹊方法的优化器(RBMO),我们提供了一种高效的替代方案,特别适合处理具有复杂数据问题。通过建立目标函数,对神经网络的权重和偏置进行优化,得到更好的模型。

四、实验结果

数据集使用的是波士顿房价数据集,可以直接替换数据运行自己的数据集:

点击mian_BP运行结果,并且输出评价指标R2,RMSE,MSE,MAPE和MAE:

点击main_RBMO运行结果如下,并且输出评价指标R2,RMSE,MSE,MAPE和MAE:

RBMO收敛曲线如下:

点击main_BPvsBP_RBMO运行结果,并且输出评价指标R2,RMSE,MSE,MAPE和MAE:

所有图片:

预测结果对比图:

预测误差对比图:

所有评价指标:

部分代码如下:

warning off             % 关闭报警信息
close all               % 关闭开启的图窗
clear                   % 清空变量
clc                     % 清空命令行

%  导入数据
data = xlsread('回归预测_BostonHousing.xlsx');

% 计算数据集行数和列数
[num_rows, num_columns] = size(data);

%  划分训练集和测试集
temp = randperm(num_rows); % 打乱数据集
num_train = round(0.8*num_rows); % 百分之80作为训练集

P_train = data(temp(1: num_train), 1: num_columns-1)';
T_train = data(temp(1: num_train), num_columns)';
M = size(P_train, 2);

P_test = data(temp(num_train: end), 1: num_columns-1)';
T_test = data(temp(num_train: end), num_columns)';
N = size(P_test, 2);

%  数据归一化
[p_train, ps_input] = mapminmax(P_train, 0, 1);
p_test = mapminmax('apply', P_test, ps_input);

[t_train, ps_output] = mapminmax(T_train, 0, 1);
t_test = mapminmax('apply', T_test, ps_output);

%  节点个数
inputnum  = size(p_train, 1);  % 输入层节点数
hiddennum = 5;                 % 隐藏层节点数
outputnum = size(t_train,1);   % 输出层节点数

%  建立网络
net = newff(p_train, t_train, hiddennum);

%  设置训练参数
net.trainParam.epochs     = 1000;      % 训练次数
net.trainParam.goal       = 1e-6;      % 目标误差
net.trainParam.lr         = 0.01;      % 学习率
net.trainParam.showWindow = 0;         % 关闭窗口

五、完整代码获取

红嘴蓝鹊优化器(RBMO)优化BP神经网络回归预测icon-default.png?t=N7T8https://mbd.pub/o/bread/ZpaUl55t

原创改进算法添加shudongyouma,可使用迭代次数、评估次数,可以改进经典的,先进的算法,所有结果和图一键运行出来。

可做回归/分类预测

论文、SCI、EI、核心、学报、普刊、会议、专利、软著等均可提供辅导。

目前改进海洋捕食者、雪融和小龙虾已售,绝不二次销售。

部分理论来源于网络,如有侵权,请联系删除。

  • 21
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值