基于黄金正弦算法优化的BP神经网络(预测应用) - 附代码

基于黄金正弦算法优化的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/111699194

黄金正弦算法的参数设置为:

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.mzph.cn/news/51055.shtml

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

相关文章

C语言练习1(巩固提升)

C语言练习1 选择题 前言 “人生在勤,勤则不匮。”幸福不会从天降,美好生活靠劳动创造。全面建成小康社会的奋斗目标,为广大劳动群众指明了光明的未来;全面建成小康社会的历史任务,为广大劳动群众赋予了光荣的使命&…

采用typescript编写,实现ofd前端预览、验章

前言 浏览器内核已支持pdf文件的渲染,这极大的方便了pdf文件的阅读和推广。ofd文件作为国产板式标准,急需一套在浏览器中渲染方案。 本人研究ofd多年,分别采用qt、c# 开发了ofd阅读器。本人非前端开发人员,对js、typescript并不熟…

android Bitmap没有recycle()导致native内存暴增

android Bitmap没有recycle()导致native内存暴增 android8.0后,Bitmap从Java层转移到native层,此举虽然缓解了JVM的内存压力,也提升了图形的加载速度,但不恰当的Bitmap分配/释放逻辑,将导致内存问题深藏到native层&am…

windows开发环境搭建

下载msys2,官网下载即可: MSYS2 安装其他的编译工具(貌似不需要把中间的命令全部执行): MSYS2使用教程——win10系统64位安装msys2最新版(msys2-x86_xxxx.exe)_msys64_Dreamhai的博客-CSDN博…

Maven 一键部署到 SSH 服务器

简介 利用 Maven Mojo 功能一键部署 jar 包或 war 包到远程服务器上。 配置 在 maven 的setting.xml 配置服务器 SSH 账号密码。虽然可以在工程的 pom.xml 直接配置&#xff0c;但那样不太安全。 <servers><server><id>iq</id><configuration&…

【C++代码】有序数组的平方,长度最小的子数组,螺旋矩阵 II--代码随想录

题目&#xff1a;有序数组的平方 给你一个按 非递减顺序 排序的整数数组 nums&#xff0c;返回 每个数字的平方 组成的新数组&#xff0c;要求也按 非递减顺序 排序。 题解 数组其实是有序的&#xff0c; 只不过负数平方之后可能成为最大数了。那么数组平方的最大值就在数组的…

食品制造行业云MES系统解决方案

食品饮料行业大致可以分为初级产品加工、二次加工、食品制造、食品分装、调味品和饲料加工等几大类。由于处于产业链不同的位置&#xff0c;其管理存在一定的差异&#xff0c;那么食品行业的MES应该怎么建设呢&#xff1f; 食品饮料行业生产管理特点&#xff1a; 食品饮料行业…

定时任务,Timer,Quartz,Spring Task,Xxl-Job(分布式任务调度框架)

一、定时任务解决方案 1.Thread&#xff0c;Timer&#xff0c;Quartz&#xff0c;Spring Task Thread线程等待&#xff08;最原始最简单方式&#xff09;&#xff0c;创建一个thread&#xff0c;然后让它在while循环里一直运行着&#xff0c;通过sleep方法来达到定时任务的效…

全球Salesforce顾问薪资大揭秘!顾问如何升职加薪?

Salesforce顾问通过针对业务挑战提出、记录和分析需求&#xff0c;提供解决方案&#xff0c;从而帮助企业改善Salesforce的流程和效率。顾问是企业和Salesforce之间的桥梁。 Salesforce顾问的薪资一直是生态系统中的热门话题&#xff0c;备受求职者关注。本篇文章将分享提高顾…

Grafana Dashboard 备份方案

文章目录 Grafana Dashboard 备份方案引言工具简介支持的组件要求配置备份安装使用 pypi 安装grafana备份工具配置环境变量使用Grafana Backup Tool 进行备份恢复备份 Grafana Dashboard恢复 Grafana Dashboard结论Grafana Dashboard 备份方案 引言 每个使用 Grafana 的同学都…

基于微信小程序的物流管理系统3txar

在此基础上&#xff0c;结合现有物流管理体系的特点&#xff0c;运用新技术&#xff0c;构建了以 springboot为基础的物流信息化管理体系。首先&#xff0c;以需求为依据&#xff0c;对目前传统物流管理基础业务进行了较为详尽的了解和分析。根据需求分析结果进行了系统的设计&…

MyBatis动态sql

文章目录 一、MyBatis动态sql1.1 概述1.2 if元素1.3 foreach元素 二、模糊查询2.1 使用#{字段名}2.2 使用${字段名}2.3 使用concat{%,#{字段名},%}2.4 mybatis中#与$的区别 三、MyBatis结果映射3.1 区别3.2 应用场景 一、MyBatis动态sql 1.1 概述 MyBatis是一个Java持久化框架…

学习网络编程No.4【socket编程实战】

引言 北京时间&#xff1a;2023/8/19/23:01&#xff0c;耍了好几天&#xff0c;主要归咎于《我欲封天》这本小说&#xff0c;听了几个晚上之后逐渐入门&#xff0c;在闲暇时间又看了一下&#xff0c;小高潮直接来临&#xff0c;最终在三个昼夜下追完了&#xff0c;哈哈哈&…

【uni-app】压缩图片并添加水印

总体思路 dom 结点 这里的 cvHeight 和 cvWidth 初始时要设置为你后续需要压缩后的最大宽高。假设我们在图片上传后图片最大为 350 * 350 <u-upload :fileList"baseInfoFormData.entrustFileList" afterRead"afterFileRead" multiple></u-uploa…

容器和云原生(二):Docker容器化技术

目录 Docker容器的使用 Docker容器关键技术 Namespace Cgroups UnionFS Docker容器的使用 首先直观地了解docker如何安装使用&#xff0c;并快速启动mysql服务的&#xff0c;启动时候绑定主机上的3306端口&#xff0c;查找mysql容器的ip&#xff0c;使用mysql -h contain…

wireshark 基本使用

在Wireshark中&#xff0c;你可以使用过滤器来根据接口名称定位到特定的包。下面是一些常见的过滤器示例&#xff1a; 根据源或目的IP地址过滤&#xff1a; ip.src 192.168.0.1&#xff1a;过滤源IP地址为192.168.0.1的包。ip.dst 192.168.0.1&#xff1a;过滤目的IP地址为…

Cookie 和 Session 的工作流程

目录 一、Cookie是什么&#xff1f; 二、Session是什么? 三、Cookie的工作流程 四、Session的工作流程 五、Session和Cookie的区别和联系 一、Cookie是什么&#xff1f; Cookie是一种在网站和用户之间交换信息的机制。它是由Web服务器发送给用户浏览器的小型文本文件&#xff…

简述docker的网络模式

Docker 提供了多种网络模式&#xff0c;用于控制容器之间以及容器与主机之间的网络通信。以下是 Docker 的一些常见网络模式 briage模式&#xff1a; docker容器启动时默认就是该模式,在该模式下&#xff0c;docker容器会连接到一个名为docker0的虚拟以太网桥上&#xff0c;通…

单抗诊断试剂原料_博迈伦

单抗诊断试剂是一种常用的免疫诊断试剂&#xff0c;用于检测和诊断特定疾病或生物标志物的存在与水平。它的制备过程中使用的原料主要包括以下几个方面&#xff1a; 1. 靶标抗原&#xff1a;单抗诊断试剂的制备首先需要确定并纯化要检测的靶标抗原。这个靶标抗原通常是特定疾病…