当前位置:   article > 正文

2024年新算法-牛顿-拉夫逊优化算法(NRBO)优化BP神经网络回归预测_最新预测算法

最新预测算法

亮点:

输出多个评价指标:R2,RMSE,MSE,MAPE和MAE

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

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

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

一. 牛顿-拉斐尔优化器(Newton-Raphson-based optimizer, NRBO)

摘要:本文提出并发展了一种新的元启发式算法——基于牛顿-拉斐尔的优化器(NRBO)。NRBO受到Newton-Raphson方法的启发,它使用两个规则来探索整个搜索过程:Newton-Raphson搜索规则(NRSR)和陷阱避免算子(TAO),并使用几组矩阵来进一步探索最佳结果。NRSR采用Newton-Raphson方法来提高NRBO的搜索能力,提高收敛速度以达到改进的搜索空间位置。TAO帮助NRBO避免局部最优陷阱。使用64个基准数值函数对NRBO的性能进行了评估,其中包括23个标准基准,29个CEC2017约束基准和12个CEC2022基准。此外,利用NRBO对12个CEC2020现实约束工程优化问题进行了优化。结果表明,该算法具有较高的勘探开发平衡性、较高的收敛速度和有效避免局部最优的能力,具有较好的优化效果。此外,NRBO还在具有挑战性的无线通信问题(称为车联网问题)中进行了验证,并且NRBO能够找到数据传输的最佳路径。同时,考虑山地车问题,研究了NRBO在训练深度强化学习智能体中的性能。所得结果也证明了NRBO在处理具有挑战性的实际工程问题方面的优异性能。

参考文献:Newton-Raphson-based optimizer: A new population-based metaheuristic algorithm for continuous optimization problems

Doi:10.1016/j.engappai.2023.107532

二、BP神经网络

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

三、NRBO-BP神经网络

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

四、实验结果

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

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

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

NRBO收敛曲线如下:

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

所有图片:

预测结果对比图:

预测误差对比图:

所有评价指标:

部分代码如下:

  1. warning off % 关闭报警信息
  2. close all % 关闭开启的图窗
  3. clear % 清空变量
  4. clc % 清空命令行
  5. % 导入数据
  6. data = xlsread('回归预测_BostonHousing.xlsx');
  7. % 计算数据集行数和列数
  8. [num_rows, num_columns] = size(data);
  9. % 划分训练集和测试集
  10. temp = randperm(num_rows); % 打乱数据集
  11. num_train = round(0.8*num_rows); % 百分之80作为训练集
  12. P_train = data(temp(1: num_train), 1: num_columns-1)';
  13. T_train = data(temp(1: num_train), num_columns)';
  14. M = size(P_train, 2);
  15. P_test = data(temp(num_train: end), 1: num_columns-1)';
  16. T_test = data(temp(num_train: end), num_columns)';
  17. N = size(P_test, 2);
  18. % 数据归一化
  19. [p_train, ps_input] = mapminmax(P_train, 0, 1);
  20. p_test = mapminmax('apply', P_test, ps_input);
  21. [t_train, ps_output] = mapminmax(T_train, 0, 1);
  22. t_test = mapminmax('apply', T_test, ps_output);
  23. % 节点个数
  24. inputnum = size(p_train, 1); % 输入层节点数
  25. hiddennum = 5; % 隐藏层节点数
  26. outputnum = size(t_train,1); % 输出层节点数

五、完整代码获取

点击获取代码icon-default.png?t=N7T8https://mbd.pub/o/bread/ZpWUlJlt

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

可做回归/分类预测

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/660462
推荐阅读
相关标签
  

闽ICP备14008679号