多输入多输出 | Matlab实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测

多输入多输出 | Matlab实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测

目录

    • 多输入多输出 | Matlab实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测
      • 预测效果
      • 基本介绍
      • 模型背景
      • 程序设计
      • 参考资料

预测效果

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

基本介绍

Matlab实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测(完整源码和数据)
1.data为数据集,输入10个特征,输出3个变量。
2.main.m为程序主文件,其他为函数文件无需运行。
3.命令窗口输出MBE、MAE、RMSE、R^2和MAPE,可在下载区获取数据和程序内容。
4.粒子群优化参数为学习率、批处理样本大小和、正则化参数。
注意程序和数据放在一个文件夹,运行环境为Matlab2018及以上。

模型背景

卷积神经网络是1989 年由纽约大学Lecun 提出的一种专门用来处理具有类似网格结构的数据的神经网络,例如时间序列数据和图像数据等。卷积神经网络可以看作是传统神经网络的改进,都采用了层级网络结构。其本质是一种从输入到输出的映射,能够学习大量的映射关系。CNN 网络主要由输入层、卷积层、池化层和输出层构成,其中输入层主要是对原始数据进行预处理,包括去均值、归一化。卷积计算层有两个重要的操作: 局部关联和窗口滑动。池化层位于两个卷积层中间,用于压缩数据,减小过拟合。全连接层在CNN 网络的尾部,将池化层的输出数据进行拼接。CNN 网络最主要的优势在于权值共享的特殊结构,降低了网络的复杂性,对高维数据的处理无压力。同时CNN 也避免了传统神经网络反向传播梯度损失过快的缺点。

程序设计

  • 完整源码和数据获取方式:私信博主回复Matlab实现SSA-CNN麻雀算法优化卷积神经网络多输入多输出预测
%%  数据平铺
%   将数据平铺成1维数据只是一种处理方式
%   也可以平铺成2维数据,以及3维数据,需要修改对应模型结构
%   但是应该始终和输入层数据结构保持一致
p_train =  double(reshape(P_train, 10, 1, 1, M));
p_test  =  double(reshape(P_test , 10, 1, 1, N));
t_train =  double(T_train)';
t_test  =  double(T_test )';
%-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
%%  构造网络结构
layers = [imageInputLayer([10, 1, 1])     % 输入层 输入数据规模[10, 1, 1]convolution2dLayer([3, 1], 16)  % 卷积核大小 3*1 生成16张特征图batchNormalizationLayer         % 批归一化层reluLayer                       % Relu激活层convolution2dLayer([3, 1], 32)  % 卷积核大小 3*1 生成32张特征图batchNormalizationLayer         % 批归一化层reluLayer                       % Relu激活层dropoutLayer(0.2)               % Dropout层fullyConnectedLayer(3)          % 全连接层regressionLayer];               % 回归层%%  参数设置
options = trainingOptions('adam', ...      % ADAM 梯度下降算法'MiniBatchSize', 30, ...               % 批大小,每次训练样本个数30'MaxEpochs', 100, ...                  % 最大训练次数 100'InitialLearnRate', 1e-2, ...          % 初始学习率为0.01'LearnRateSchedule', 'piecewise', ...  % 学习率下降'LearnRateDropFactor', 0.5, ...        % 学习率下降因子'LearnRateDropPeriod', 50, ...         % 经过100次训练后 学习率为 0.01 * 0.5'Shuffle', 'every-epoch', ...          % 每次训练打乱数据集'Plots', 'training-progress', ...      % 画出曲线'Verbose', false);

参考资料

[1] https://blog.csdn.net/kjm13182345320/category_11003178.html?spm=1001.2014.3001.5482
[2] https://blog.csdn.net/kjm13182345320/article/details/117378431
[3] https://blog.csdn.net/kjm13182345320/article/details/118253644

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

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

相关文章

cmd输入python直接弹出windows应用商店

明明已经安装好了python,并且也确认配置好了python的环境变量,但是在cmd里输入python后,直接弹出windows商店,python获取界面,其实只需要关闭系统里的应用执行别名设置,最近出来的电脑系统里是自带开启了py…

.NET国产化改造探索(六)、银河麒麟操作系统中安装多个.NET版本

随着时代的发展以及近年来信创工作和…废话就不多说了,这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来,看操作。 上一篇文章介绍了如何在银河麒麟操作系统上,使用Nginx.NET程序实现自启动。本文介绍下如何在一个环境中,…

【React】组件性能优化、高阶组件

文章目录 React性能优化SCUReact更新机制keys的优化render函数被调用shouldComponentUpdatePureComponentshallowEqual方法高阶组件memo 获取DOM方式refs如何使用refref的类型 受控和非受控组件认识受控组件非受控组件 React的高阶组件认识高阶函数高阶组件的定义应用一 – pro…

Object.prototype.toString.call个人理解

文章目录 这段代码的常见用处参考文献: 拆分理解1、Object.prototype.toString小问题参考文献: 2、call函数的作用参考文献 3、继续深入一些(这部分内容是个人理解,没有明确文献支撑) 这段代码的常见用处 Object.prot…

云轴科技ZStack位列IDC云系统软件市场教育行业TOP2

近日,全球IT市场研究和咨询公司IDC发布 《中国云系统软件市场跟踪报告2023H1》 ZStack作为产品化的云基础软件提供商 位居云系统软件市场第一梯队 市场份额位列独立云厂商*第一 营收同比增速最快 教育行业TOP2 在教育行业,云计算已成为教育行业信息化的…

Chatgpt+Comfyui绘图源码说明及本地部署文档

其他文档地址: ChatgptComfyui绘图源码运营文档 ChatgptComfyui绘图源码线上部署文档 一、源码说明 1、源码目录说明 app_home:app官网源码chatgpt-java:管理后台服务端源码、用户端的服务端源码chatgpt-pc:电脑网页前端源码cha…

机器学习 | 掌握Matplotlib的可视化图表操作

Matplotlib是python的一个数据可视化库,用于创建静态、动态和交互式图表。它可以制作多种类型的图表,如折线图、散点图、柱状图、饼图、直方图、3D 图形等。以渐进、交互式方式实现数据可视化。当然博主也不能面面俱到的讲解到所有内容,详情请…

Qt 拖拽事件示例

一、引子 拖拽这个动作,在桌面应用程序中是非常实用和具有很友好的交互体验的。我们常见的譬如有,将文件拖拽到某个窗口打开,或者拖拽文件到指定位置上传;在绘图软件中,选中某个模板、并拖拽到画布上,画布上变回绘制该模板的图像… 诸如此类,数不胜数。 那么,在Qt中我…

初识k8s(概述、原理、安装)

文章目录 概述由来主要功能 K8S架构架构图组件说明ClusterMasterNodekubectl 组件处理流程 K8S概念组成PodPod控制器ReplicationController(副本控制器)ReplicaSet (副本集)DeploymentStatefulSet (有状态副本集&#…

Spring Security工作原理(三)

在认证之间保存请求 如处理安全异常中所示,当请求没有认证且需要认证资源时,需要保存请求以便在认证成功后重新请求受保护的资源。在Spring Security中,这是通过使用RequestCache实现来保存HttpServletRequest来实现的。 RequestCache HttpServletRequest被保存在Request…

【nginx实战】nginx正向代理、反向代理、由反向代理实现的负载均衡、故障转移详解

文章目录 一. 正向代理与反向代理的概念二. Nginx服务器的正向代理服务1. Nginx服务器正向代理服务的配置的3个指令1.1. resolver指令1.2. resolver_timeout指令1.3. proxy_pass指令 2. Nginx服务器正向代理服务的使用 三. Nginx服务器的反向代理服务1. 反向代理的基本指令1.1.…

JS在当前时间的基础上减10个月或者20个月

需求:调用接口默认传当前时间,如2024-01,点击分页第几页都是传其上一页的最后一条日期的减一月份 思路:点击第几页,减多少,比如点击第二页减10月,点击第三页减20月,代码如下&#xf…

大数据学习之Flink算子、了解DataStream API(基础篇一)

DataStream API (基础篇) 注: 本文只涉及DataStream 原因:随着大数据和流式计算需求的增长,处理实时数据流变得越来越重要。因此,DataStream由于其处理实时数据流的特性和能力,逐渐替代了DataSe…

ZXing开源库生成二维码

引言 二维码(QR Code)作为一种快速、高容量、高密度的矩阵条码,已经在各行各业得到广泛应用。ZXing(Zebra Crossing)是一款由Google开源的Java二维码生成和解析库,提供了丰富的功能和易于使用的API。本篇博…

C# Cad2016二次开发选择csv导入信息(七)

//选择csv导入信息 [CommandMethod("setdata")] //本程序在AutoCAD的快捷命令是"DLLLOAD" public void setdata() {Microsoft.Win32.OpenFileDialog dlg new Microsoft.Win32.OpenFileDialog();dlg.DefaultExt ".csv";// Display OpenFileDial…

什么样的宣传才能对消费者起效?

品牌离不开宣传,宣传又直接面向消费者,然后面对铺天盖地的宣传,除了从业人员,相信大部分用户都会有抵触心理,今天媒介盒子就来和大家聊聊,什么样的宣传能够提高消费者的接受度,让宣传不白宣传。…

RabbitMQ中交换机的应用 ,原理 ,案例的实现

🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是平顶山大师,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的博客专栏《RabbitMQ中交换机的应用及原理,案…

TCP服务器最多支持多少客户端连接

目录 一、理论数值 二、实际部署 参考 一、理论数值 首先知道一个基础概念,对于一个 TCP 连接可以使用四元组(src_ip, src_port, dst_ip, dst_port)进行唯一标识。因为服务端 IP 和 Port 是固定的(如下图中的bind阶段&#xff0…

Pytest中conftest.py的用法

Pytest中conftest.py的用法 ​ 在官方文档中,描述conftest.py是一个本地插件的文件,简单的说就是在这个文件中编写的方法,可以在其他地方直接进行调用。 注意事项 只能在根目录编写conftest.py 插件加载顺序在搜集用例之前 基础用法 这里…

NebulaGraph is nothing without you | 社区 2023 年度人物合集

在去年的年度人物 回顾中,我们看到了形形色色的人们,他们当中有帮 NebulaGraph 捉 bug 的小能手,也有通过用回复来解答他人疑惑的启蒙者…在今年(2023 年),我们这个整点不一样的,将镜头推进&…