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

news2025/1/16 18:50:47

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、核心、学报、普刊、会议、专利、软著等均可提供辅导。

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1707897.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mysql 单行转多行,把逗号分隔的字段拆分成多行

一、拆分前后的数据 二、执行SQL select substring_index(substring_index(a.gzlx,,,b.help_topic_id1),,,-1) gzlxname, a.gzlx,a.* from dt_task_zxgz_info a join mysql.help_topic b on b.help_topic_id < (length(a.gzlx) - length(replace(a.gzlx,,,))1) 三、解释说…

爷爷看了都会,打工人必备的摸鱼AI神器!免费!

去年&#xff0c;AI技术无疑成为了最为引人注目的焦点&#xff0c;层出不穷的创新应用令人目不暇接。尽管许多人对这股AI热潮的持久性持怀疑态度&#xff0c;但现实却用事实给予了最有力的反驳。AI所展现出的强大生产力&#xff0c;足以令人刮目相看。 而今年以来&#xff0c;…

【实用的 IDEA 配置和操作技巧总结】

前置知识 IDEA的设置快捷键为ctrlalts键&#xff0c;后文介绍IDEA常见的配置就不再赘述这一点了。 基础配置 取消默认打开上次项目 日常开发都会打开不同的项目&#xff0c;初次安装IDEA之后&#xff0c;每次打开IDEA都会开启上一次启动的项目&#xff0c;所以我们需要进入设…

Android studio sdk 虚拟机无法打开运行

1.确认是否在BIOS开启硬件虚拟化支持,选择Enable 2.win8/win10 Hyper-V冲突。控制面板-》程序与功能-》windows功能-》关闭 Hyper-V 3.sdk 路径非默认路径 复制avd C:\Users\Administrator\.android\avd 到 sdk的安装路径下 D:\Android\sdk 。重启软件重新启动即可

Spring:事务

1. 简介 spring对jdbc进行封装&#xff0c;简化对数据库的操作 2. HelloWorld 1. 搭建模块 2.加入依赖 <dependencies><!--spring jdbc Spring 持久化层支持jar包--><dependency><groupId>org.springframework</groupId><artifactId>s…

香橙派 AIpro开发板初上手

一、香橙派 AIpro开箱 最近拿到了香橙派 AIpro&#xff08;OrangePi AIpro&#xff09;&#xff0c;下面就是里面的板子和相关的配件。包含主板、散热组件、电源适配器、双C口电源线、32GB SD卡。我手上的这个是8G LPDDR4X运存的版本。 OrangePi AIpro开发板是一款由香橙派与华…

MySQL详细安装、配置过程,多图,详解

本文适合centos7环境下安装mysql&#xff0c;在安装和卸载过程中&#xff0c;都在root用户下完成。文章目录 清理环境获取mysql官方yum源安装mysql yum源安装mysql服务安装报错解决办法验证是否安装完成启动mysql服务登录服务方法一&#xff1a;方法二&#xff1a;方法三&#…

工商银行异地卡兑换泰铢的流程

本文介绍在国内的工商银行&#xff0c;通过现金或银行卡兑换泰国铢等外国货币的纸币或硬币的方法。 最近&#xff0c;准备到泰国旅行&#xff0c;所以需要兑换一些泰铢&#xff0c;防止下飞机到当地后找不到汇率合适、兑换方便的换钱的地方。其中&#xff0c;因为对比发现工商银…

力扣刷题--2965. 找出缺失和重复的数字【简单】

题目描述 给你一个下标从 0 开始的二维整数矩阵 grid&#xff0c;大小为 n * n &#xff0c;其中的值在 [1, n2] 范围内。除了 a 出现 两次&#xff0c;b 缺失 之外&#xff0c;每个整数都 恰好出现一次 。 任务是找出重复的数字a 和缺失的数字 b 。 返回一个下标从 0 开始、…

3W 1.5KVDC 隔离 宽范围输入,双隔离双输出 DC/DC 电源模块——TPD-3W系列

TPD-3W系列产品是专门针对线路板上分布式电源系统中需要产生一组与输入电源隔离的双隔离双电源的应用场合而设计。该产品适用于&#xff1a;1&#xff09;输入电源的电压变化范围≤2&#xff1a;1 &#xff1b;2&#xff09;输入输出之间要求隔离≤1500VDC&#xff1b;3&#x…

免费无限换脸,火了,图片/视频/直播都行!

最强换脸AI工具Facefusion软件在近期更新到了2.6.0版本&#xff0c;带来了一系列的更新和改进&#xff0c;今天为大家分享一下最新的整合包。 Facefusion2.6.0版本介绍 FaceFusion不仅仅是一款换脸软件&#xff0c;它更是一个多功能的数字人和实时直播助手&#xff0c;真正开启…

去中心化的 S3,CESS 首创去中心化对象存储 DeOSS

Web3 在各个领域的应用和发展已成为讨论的焦点&#xff0c;尽管行业对 Web3 的定义各不相同&#xff0c;但一个普遍的共识是 Web3 赋予了用户对其数据的所有权和自主权。这一转变在我们的生活和工作与数字化越来越深入地融合之际至关重要&#xff0c;这意味着所有人类活动很快将…

【数据结构】直接选择排序详解!

文章目录 1.直接选择排序 1.直接选择排序 &#x1f427; begin 有可能就是 maxi &#xff0c;所以交换的时候&#xff0c;要及时更新 maxi &#x1f34e; 直接选择排序是不稳定的&#xff0c;例如&#xff1a; 9 [9] 5 [5]&#xff0c;排序后&#xff0c;因为直接选择排序是会…

git使用之合并分支

git config --global core.editor vim //修改默认编辑器为VIM git checkout master //切换到master分支git branch -a // 查看需要合并的分支名git merge 分支名 // //输入commit 花时间解决冲突 git push origin master //上传code git log --graph //查看历史提…

libmodbus开发库介绍

目录 功能概要源码获取源码内容结构源码与移植 功能概要 libmodbus是一个免费的跨平台支持RTU和TCP的Modbus库&#xff0c;遵循LGPL V2.1协议。libmodbus支持Linux、Mac Os X、FreeBSD、QNX和Windows等操作系统。libmodbus可以向符合Modbus协议的设备发送和接收数据&#xff0…

2024年新算法-秘书鸟优化算法(SBOA)优化BP神经网络回归预测

2024年新算法-秘书鸟优化算法(SBOA)优化BP神经网络回归预测 亮点&#xff1a; 输出多个评价指标&#xff1a;R2&#xff0c;RMSE&#xff0c;MSE&#xff0c;MAPE和MAE 满足需求&#xff0c;分开运行和对比的都有对应的主函数&#xff1a;main_BP, main_SBOA, main_BPvsBP_SB…

一文读懂Maven的安装与配置

一、前言【可忽略】 Maven本质是一个项目管理工具&#xff0c;类似于JDK是java开发工具。 我们需要管理什么呢&#xff1f;首先各种各样的依赖&#xff0c;比如SpringFramwork、Mybatis。 简单点做&#xff0c;我们新建个目录&#xff0c;就能管理这些jar包。然而&#xff0c;缺…

android studion 一直编译失败

无外网&#xff0c;无法下载对应的库导致编译失败 配置代理 1.修改镜像源 资源路径 为国内镜像 如下为国美腾讯软件镜像 distributionUrlhttps\://mirrors.cloud.tencent.com/gradle/gradle-8.6-bin.zip 2.构建仓储失败 无法下载。 添加国内仓储如下位置&#xff0c;重新…

你真的懂firewalld吗?不妨看看我的这篇文章

一、firewalld简介 firewalld防火墙是Linux系统上的一种动态防火墙管理工具&#xff0c;它是Red Hat公司开发的&#xff0c;并在许多Linux发行版中被采用。相对于传统的静态防火墙规则&#xff0c;firewalld使用动态的方式来管理防火墙规则&#xff0c;可以更加灵活地适应不同…

AI图片生成软件怎么用?让你轻松完成创作

随着人工智能技术的不断发展&#xff0c;越来越多的AI应用进入我们的生活。使用AI图片生成软件来创作图片可以极大地简化创作过程&#xff0c;让设计师轻松实现各种艺术效果。那么AI图片生成软件怎么用? 1. 选择合适的AI图片生成软件 市场上有许多AI图片生成软件供选择&#x…