基于指数分布算法优化的BP神经网络(预测应用) - 附代码

news2024/11/16 17:53:13

基于指数分布算法优化的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/131025569

指数分布算法的参数设置为:

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/963452.html

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

相关文章

2023年淘宝商家成长层级与利好规则

淘宝店铺成长层级越高,对店铺的经营会越好,但有些小伙伴对成长层级和商家利好规则内容的更新变化不太清楚,下面我们就来一起了解一下吧。 一、店铺成长层级 1、入口:店铺层级与权益 2、晋升路径 V1-V2:基础运营&#…

flutter plugins插件【二】【FlutterAssetsGenerator】

2、FlutterAssetsGenerator 介绍地址:https://juejin.cn/post/6898542896274735117 配置assets目录 ​ 插件会从pubspec.yaml文件下读取assets目录,因此要使用本插件,你需要在pubspec.yaml下配置资源目录 flutter:# The following line ens…

A. Increasing and Decreasing

题目:样例: 输入 3 1 4 3 1 3 3 100 200 4输出 1 3 4 -1 100 150 180 200 思路: 思维题,这里我们看一下规律,我们已知a(1),a(n) ,又因为 数列b 应该是递减的,而观察规律可知 &#x…

【云计算•云原生】5.云原生之初识DevOps

文章目录 1.DevOps背景2.DevOps概念3.DevOps工具链 1.DevOps背景 软件开发必须包含两个团队:开发团队和运维团队 开发团队负责开发项目,系统迭代更新运维团队负责项目测试以及部署上线,维持系统稳定运行 一个软件周期中是由这两个团队相互…

【python】—— 函数详解

前言: 本期,我们将要讲解的是有关python中函数的相关知识!!! 目录 (一)函数是什么 (二)语法格式 (三)函数参数 (四)函…

Python项目编译与部署(1):模块与包的概念与关系

当实际构建1个 Python 项目时,模块与包是我们面临的基础概念。 1、模块、包的概念 Python中的模块(Module), 就是一个单独的.py文件,其中包含变量定义,函数定义、类定义、以及其它可执行语句。模块是一个独立的代码单元,可以用解…

安装Tensorboard

打开Pycharm打开Terminal 窗口,输入pip install tensorboard pip install tensorboard

【高阶产品策略】如何从0到1搭建策略产品

文章目录 1、策略概述2、如何从0到1搭建推荐策略产品3、策略产品实施案例4、策略产品经理结构化思考方法 1、策略概述 2、如何从0到1搭建推荐策略产品 3、策略产品实施案例 4、策略产品经理结构化思考方法

【算法竞赛宝典】排名次

【算法竞赛宝典】排名次 题目描述代码展示代码讲解 题目描述 代码展示 //求名次 #include <iostream>using namespace std; #define n 10000 int i, j, mingci; int a[n 1];int main() {int m 0;cin >> m;for (i 1; i < m; i)cin >> a[i];for (i 1; …

HTTP介绍:一文了解什么是HTTP

前言&#xff1a; 在当今数字时代&#xff0c;互联网已经成为人们生活中不可或缺的一部分。无论是浏览网页、发送电子邮件还是在线购物&#xff0c;我们都离不开超文本传输协议&#xff08;HTTP&#xff09;。HTTP作为一种通信协议&#xff0c;扮演着连接客户端和服务器的重要角…

【国漫】小舞生日人气大跌,难以再现辉煌,她还是国漫一姐吗?

Hello,小伙伴们&#xff0c;我是小郑继续为大家深度解析国漫&#xff01; 角色生日的规模&#xff0c;在一定程度可以展现角色的人气和粉丝基础&#xff0c;很多粉丝也会借着角色生日的机会&#xff0c;拼尽全力氪金和筹备&#xff0c;一方面是为了向路人观众展现喜欢角色的魅力…

【业务功能篇93】微服务-springcloud-springboot-认证服务-注册功能-第三方短信验证API

商城认证服务 一、搭建认证服务环境 结合我们前面介绍的商城的架构我们需要单独的搭建一个认证服务。 1.创建项目 首先创建一个SpringBoot项目&#xff0c;然后添加对应的依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"htt…

勃艮第葡萄酒是如何分级的?

勃艮第葡萄酒来自一个同名的地区:勃艮第&#xff0c;它位于法国中东部&#xff0c;在西部的卢瓦尔河和东部的索恩河之间。该地区最大的城市是欧塞尔、第戎、马孔和内韦尔。由于地处国家中心&#xff0c;勃艮第属于大陆性气候&#xff0c;夏季炎热&#xff0c;冬季寒冷。这种气候…

Mac不想用iTerm2了怎么办

这东西真是让人又爱又恨&#xff0c;爱的是它的UI还真不错&#xff0c;恨的是它把我的环境给破坏啦&#xff01;让我每次启动终端之后都要重新source激活我的python环境&#xff0c;而且虚拟环境前面没有括号啦&#xff01;这怎么能忍&#xff01;在UI和实用性面前我断然选择实…

3D点云处理:提取指定圆环内的点(附源码)

文章目录 0. 测试效果1. 基本内容2. 代码实现文章目录:3D视觉个人学习目录微信:dhlddxB站: Non-Stop_目标:提取指定范围的点云0. 测试效果 红色为根据指定条件提取的点 1. 基本内容 要提取指定圆环内和指定高度范围内的点云,可以按照以下步骤进行操作: 定义圆环和高度参数…

区块链实验室(19) - 在新建的无标度网络中配置控制台

在前文区块链实验室(18) - 用FISCO BCOS架设1个无标度网络中架设了1个网络&#xff0c;这个网络还没有配置控制台。FISCO-BCOS技术文档给出了一个创建4节点的网络以及控制台&#xff0c;那个控制台不能直接用于该文的无标度网络&#xff0c;主要是因为控制台证书不匹配。 本文…

FPGA时序分析与约束(3)——时钟不确定性

一、前言 在之前的文章中&#xff0c;我们介绍了组合电路的时序和时序电路的时序问题&#xff0c;在阅读本文章之前&#xff0c;强烈推荐先阅读完本系列之前的文章&#xff0c;因为这是我们继续学习的理论的理论基础&#xff0c;前文链接&#xff1a; FPGA时序分析与约束&…

富士施乐S2110复印机先后提示代码045-313、092-910、092-668故障解决

故障描述 : 用户一台富士施乐S2110复印机使用过程中报错045-313,电话沟通分析可能是硒鼓出现了问题,本着负责的态度上门检查并确认故障;到用户处后先重新插拔一下硒鼓然后再重新开机进行测试,开机后能复印及打印几张然后后报错092-910 ,以为硒鼓没有安装好再次重插…

在CAD中批量测量线段的长度

我们经常会有批量测量线段长度的需求&#xff0c;但是线段太多了&#xff0c;一个个加属实浪费时间。网上对这方面也只是个别晦涩的解决方法&#xff0c;大部分无法实用&#xff0c;本文介绍了笔者认为一种最轻松的测量办法。 下图即我们需要测量的线段组&#xff0c;正常测肯定…

【JS】—闭包—双例对比法学习总结

一、选定知识点&#xff1a;闭包 二、指令学习 1. 闭包MDN的定义 闭包&#xff08;closure&#xff09;是一个函数以及其捆绑的周边环境状态&#xff08;lexical environment&#xff0c;词法环境&#xff09;的引用的组合。换而言之&#xff0c;闭包让开发者可以从内部函数…