基于哈里斯鹰算法优化的BP神经网络(预测应用) - 附代码

news2025/1/6 19:49:07

基于哈里斯鹰算法优化的BP神经网络(预测应用) - 附代码

文章目录

  • 基于哈里斯鹰算法优化的BP神经网络(预测应用) - 附代码
    • 1.数据介绍
    • 2.哈里斯鹰优化BP神经网络
      • 2.1 BP神经网络参数设置
      • 2.2 哈里斯鹰算法应用
    • 4.测试结果:
    • 5.Matlab代码

摘要:本文主要介绍如何用哈里斯鹰算法优化BP神经网络并应用于预测。

1.数据介绍

本案例数据一共2000组,其中1900组用于训练,100组用于测试。数据的输入为2维数据,预测的输出为1维数据

2.哈里斯鹰优化BP神经网络

2.1 BP神经网络参数设置

神经网络参数如下:

%% 构造网络结构
%创建神经网络
inputnum = 2;     %inputnum  输入层节点数 2维特征
hiddennum = 10;     %hiddennum  隐含层节点数
outputnum = 1;     %outputnum  隐含层节点数

2.2 哈里斯鹰算法应用

哈里斯鹰算法原理请参考:https://blog.csdn.net/u011835903/article/details/108528147

哈里斯鹰算法的参数设置为:

popsize = 20;%种群数量
Max_iteration = 20;%最大迭代次数
lb = -5;%权值阈值下边界
ub = 5;%权值阈值上边界
%  inputnum * hiddennum + hiddennum*outputnum 为阈值的个数
%  hiddennum + outputnum 为权值的个数
dim =  inputnum * hiddennum + hiddennum*outputnum + hiddennum + outputnum ;%  inputnum * hiddennum + hiddennum*outputnum维度

这里需要注意的是,神经网络的阈值数量计算方式如下:

本网络有2层:

第一层的阈值数量为:2*10 = 20; 即inputnum * hiddennum;

第一层的权值数量为:10;即hiddennum;

第二层的阈值数量为:10*1 = 10;即hiddenum * outputnum;

第二层权值数量为:1;即outputnum;

于是可知我们优化的维度为:inputnum * hiddennum + hiddennum*outputnum + hiddennum + outputnum = 41;

适应度函数值设定:

本文设置适应度函数如下:
f i t n e s s = a r g m i n ( m s e ( T r a i n D a t a E r r o r ) + m e s ( T e s t D a t a E r r o r ) ) fitness = argmin(mse(TrainDataError) + mes(TestDataError)) fitness=argmin(mse(TrainDataError)+mes(TestDataError))
其中TrainDataError,TestDataError分别为训练集和测试集的预测误差。mse为求取均方误差函数,适应度函数表明我们最终想得到的网络是在测试集和训练集上均可以得到较好结果的网络。

4.测试结果:

从哈里斯鹰算法的收敛曲线可以看到,整体误差是不断下降的,说明哈里斯鹰算法起到了优化的作用:

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

5.Matlab代码

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

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

相关文章

oracle数据库总结

文章适合熟悉mysql,想学习oracle的选手,基本的语法都相差不大,但还是有区别的 一、oracle高水位线问题 1、什么是高水位线   简单来说,oracle存储数据的时候会分配空间,但是删除数据的时候并不会回收空间。这样的话…

行业追踪,2023-08-23

自动复盘 2023-08-23 凡所有相,皆是虚妄。若见诸相非相,即见如来。 k 线图是最好的老师,每天持续发布板块的rps排名,追踪板块,板块来开仓,板块去清仓,丢弃自以为是的想法,板块去留让…

DFX概述 | Design For X | Design For Excellent

Design for X (DFX) Methods 什么是“Design for X”? Design for eXcellence是一种在设计和制造领域中的不断发展的原则哲学。它采用了全面和系统的设计方法,关注产品的各个方面——从概念生成到最终交付。 它提供了良好的实践和设计指南&#xff0c…

ESD门禁管理系统的主要功能和优势

ESD门禁管理系统是一种用于控制和管理人员进出特定区域的系统。它通常由门禁控制器、门禁读卡器、门禁管理软件等组成。 ESD门禁管理系统的主要功能包括: 1. 门禁控制:通过门禁控制器实现对门禁设备的控制,如开关门、锁定门等。 2. 门禁验…

视频批量剪辑矩阵分发系统源码开源分享----基于PHP语言

批量剪辑视频矩阵分发: 短视频seo主要基于抖音短视频平台,为企业实现多账号管理,视频分发,视频批量剪辑,抖音小程序搭建,企业私域转化等,本文主要介绍短视频矩阵系统抖音小程序开发详细及注意事…

中项系统集成项目管理知识点汇总

中项系统集成项目管理知识点汇总 一、成本-进度二、十大管理及47个过程三、质量四、人力资源五、风险六、干系人沟通七、案例分析万能答案八、选择题知识点九、十大管理输入输出工具技术总结十大管理工具技术总结 一、成本-进度 针对进度滞后的绩效情况 /缩短工期,可…

多态的概念和意义

函数重写回顾 父类中被重写的函数依然会继承给子类 子类中重写的函数将覆盖父类中的函数 通过作用域分辨符 (::) 可以访问到父类中的函数 面向对象中期望的行为 根据实际的对象类型判断如何调用重写函数 父类指针 (引用) 指向 父类对象则调用父类中定义的函数子类对象则调…

开始MySQL探索——数据库概述

计算机语言 计算机语言概述 计算机语言(Computer Language)可以简单的理解为一种计算机和人都能识别的语言。 机器语言 汇编语言 高级语言 机器语言 汇编语言 高级语言 SQL语言基础 SQL的概述 SQL全称:Structured Query Language&…

如何将远程支持融入企业运营

远程支持软件曾是一款“锦上添花”的工具,现在已成为 IT 堆栈的必要组成。随着企业的快速数字化以及对居家办公的需求不断增长,远程支持系统成为任何企业的重要工具。 远程支持软件可以提高问题解决速度、节省时间和资源,确保业务运营不间断…

LC balun设计

文章目录 1 、LC balun理论推导2、ADS仿真验证结果2.1原理图 3、复数阻抗的LC balun设计3.1示例13.2、示例1的ADS仿真验证3.3示例23.4示例2的ADS仿真结果 4、others 1 、LC balun理论推导 LC 巴伦的拓扑结构如下: 根据电流电压方程有: 化简过程如下&am…

AIGC如何借AI Agent落地?TARS-RPA-Agent破解RPA与LLM融合难题

文/王吉伟 大语言模型(LLM,Large Language Model)的持续爆发,让AIGC一直处于这股AI风暴最中央,不停席卷各个领域。 在国内,仍在雨后春笋般上新的大语言模型,在持续累加“千模大战”大模型数量的…

ARM DIY(二)配置晶振频率

文章目录 前言串口乱码问题定位内核修改晶振频率uboot 修改晶振频率番外篇 前言 上篇文章《ARM DIY 硬件调试》介绍了 DIY ARM 板的基础硬件焊接,包括电源、SOC、SD 卡座等,板子已经可以跑起来了。 但是发现串口乱码,今天就来解决串口乱码问…

CSS 实现页面底部加载中与加载完毕效果

效果图 实现代码 <view class"bottom-load-tip"><view class"line-tip"></view><view class"loading-animation" v-if"!lastPage"></view><view>{{ lastPage ? "没有更多了" : "…

科技政策 | 四川省科学技术厅关于发布2024年第一批省级科技计划项目申报指南的通知

原创 | 文 BFT机器人 近日&#xff0c;四川省科学技术厅发布了2024年第一批省级科技计划项目申报指南&#xff1b;其中包括自然科学基金项目、重点研发计划、科技成果转移转化引导计划、科技创新基地&#xff08;平台&#xff09;和人才计划。 01 自然科学基金项目 实施周期 …

代码随想录算法训练营第四十三天 | 1049. 最后一块石头的重量 II,494. 目标和,474.一和零

代码随想录算法训练营第四十三天 | 1049. 最后一块石头的重量 II&#xff0c;494. 目标和&#xff0c;474.一和零 1049. 最后一块石头的重量 II494. 目标和回溯算法动态规划 474.一和零 1049. 最后一块石头的重量 II 题目链接 视频讲解 有一堆石头&#xff0c;用整数数组 ston…

API接口变更频繁,协作效率低?试试Apipost

在团队协作开发和API管理过程中&#xff0c;API接口变更频繁、变更信息得不到及时同步且同步后沟通效率低&#xff0c;各个环节人员处理问题节奏不统一等等&#xff0c;都是在API开发中很多开发者面临的痛点。 这些痛点可能会导致工作进度受阻、出现重复动作等多个问题&#x…

化繁为简,使用Hibernate Validator实现参数校验(一)

目录 前言 环境配置 导入依赖 基础校验 校验注解 参数绑定 PathVariable RequestParam RequestBody Validated Valid 单参校验 对象校验 分组校验 顺序校验 前言 在之前的悦享校园的开发中使用了SSM框架&#xff0c;由于当时并没有使用参数参数校验工具&#xf…

如何向学校图书馆推荐数据库?

学校图书馆在满足师生学习和研究需求方面起着至关重要的作用。作为一名学生或研究员&#xff0c;您可能会意识到某些数据库对于学校的教学和研究至关重要。遇到拥有优质数据的数据库如何向学校图书馆推荐呢&#xff1f; 一、了解学校需求。 在向学校图书馆推荐数据库之前&…

WMS精细化库存管理

在现代供应链管理中&#xff0c;仓储和库存管理起着至关重要的作用。仓库管理系统&#xff08;WMS&#xff09;作为一种关键工具&#xff0c;通过精细化库存管理&#xff0c;提高了仓库操作的效率和准确性。 一、概述WMS精细化库存管理 WMS精细化库存管理是指利用先进的信息技…

【1++的数据结构】之map与set(一)

&#x1f44d;作者主页&#xff1a;进击的1 &#x1f929; 专栏链接&#xff1a;【1的数据结构】 文章目录 一&#xff0c;关联式容器与键值对二&#xff0c;setset的使用 三&#xff0c;mapmap的使用 四&#xff0c;multiset与multimap 一&#xff0c;关联式容器与键值对 像l…