回归预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多输入单输出

目录

  • 回归预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多输入单输出
    • 基本介绍
    • 模型结构
      • CNN神经网络
      • GRU门控循环单元
      • CNN-GRU组合模型
    • 程序设计
    • 参考资料
    • 致谢

基本介绍

本次运行测试环境MATLAB2020b,总体而言,CNN用作特征(融合)提取,然后将输出的feature映射为序列向量输入到GRU当中。

  • 本文提出了一种基于CNN-GRU 组合神经网络的预测方法。首先,分析影响变压器运行状态的外部环境因素,构建预测特征集,量化外部环境对运行状态的影响;
  • 采用卷积神经网络(Convolutional Neural Network, CNN)深度挖掘特征集与预测量的内在联系,将结果输入到GRU循环神经网络进行训练,得到预测结果。

模型结构

CNN神经网络

CNN 是一种前馈型神经网络,广泛应用于深度学习领域,主要由卷积层、池化层和全连接层组成,输入特征向量可以为多维向量组,采用局部感知和权值共享的方式。卷积层对原始数据提取特征量,深度挖掘数据的内在联系,池化层能够降低网络复杂度、减少训练参数,全连接层将处理后的数据进行合并,计算分类和回归结果。

GRU门控循环单元

GRU是LSTM的一种改进模型,将遗忘门和输入门集成为单一的更新门,同时混合了神经元状态和隐藏状态,可有效地缓解循环神经网络中“梯度消失”的问题,并能够在保持训练效果的同时减少训练参数,其门控单元结构如图所示。

CNN-GRU组合模型

CNN 神经网络由1层卷积层与1 层池化层构成,卷积方式选取same 卷积,激活函数选用elu 函数,经过卷积后进行池化,输入到GRU循环神经网络。GRU 循环神经网络对提取到的特征向量进行学习,构建2 层GRU 结构能够达到最好的预测效果,最后将全连接层的输出经过反归一化得最终预测值。在GRU 循环神经网络进行训练时,采用 Adam 算法迭代更新权重,通过动量和自适应学习率不断更新各个神经元的权重和偏差,使得损失函数的输出值达到最优.

程序设计

  • 完整程序和数据下载方式1(资源处直接下载):MATLAB实现CNN-GRU(卷积门控循环单元)多输入单输出
  • 完整程序和数据下载方式2(订阅《CNN-DL卷积深度学习模型》专栏,数据订阅后私信我获取):MATLAB实现CNN-GRU(卷积门控循环单元)多输入单输出
%  创建"CNN-GRU"模型layers = [...% 输入特征sequenceInputLayer([numFeatures 1 1],'Name','input')sequenceFoldingLayer('Name','fold')% CNN特征提取convolution2dLayer([FiltZise 1],32,'Padding','same','WeightsInitializer','he','Name','conv','DilationFactor',1);batchNormalizationLayer('Name','bn')eluLayer('Name','elu')averagePooling2dLayer(1,'Stride',FiltZise,'Name','pool1')% 展开层sequenceUnfoldingLayer('Name','unfold')% 平滑层flattenLayer('Name','flatten')% GRU特征学习gruLayer(128,'Name','GRU1','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')% GRU输出gruLayer(32,'OutputMode',"last",'Name','bil4','RecurrentWeightsInitializer','He','InputWeightsInitializer','He')dropoutLayer(0.25,'Name','drop3')% 全连接层fullyConnectedLayer(numResponses,'Name','fc')regressionLayer('Name','output')    ];layers = layerGraph(layers);layers = connectLayers(layers,'fold/miniBatchSize','unfold/miniBatchSize');%% CNNGRU训练选项
% 批处理样本
MiniBatchSize =24;
% 最大迭代次数
MaxEpochs = 60;
% 学习率
learningrate = 0.005;
% 一些参数调整
if gpuDeviceCount>0mydevice = 'gpu';
elsemydevice = 'cpu';
endoptions = trainingOptions( 'adam', ...'MaxEpochs',100, ...'GradientThreshold',1, ...'InitialLearnRate',learningrate, ...'LearnRateSchedule','piecewise', ...'LearnRateDropPeriod',20, ...'LearnRateDropFactor',0.8, ...'L2Regularization',1e-3,...'Verbose',false, ...'ExecutionEnvironment',mydevice,...'Plots','training-progress');
  • 预测效果


参考资料

[1] 周湶, 孙超, 廖瑞金, 等. 基于云理论的变压器多重故障诊断及短期预测方法[J]. 高电压技术, 2014, 40(5):1453-1460.
[2] YU Zhangting, LI Dajian, JI Shengchang, et al. Research
on transformer fault diagnosis method based on vibration
noise and BP neural network[J]. High Voltage Apparatus,
2020, 56(6): 256-261.

致谢

  • 感谢大家支持!

回归预测 | MATLAB实现CNN-GRU(卷积门控循环单元)多输入单输出相关推荐

  1. 回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测

    回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测 写在前面 效果 ...

  2. 回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出

    回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出 目录 回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出 基本介绍 背景回顾 模型介绍 ...

  3. 分类预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元数据分类预测

    分类预测 | MATLAB实现WOA-CNN-GRU鲸鱼算法优化卷积门控循环单元数据分类预测 分类效果 基本描述 1.Matlab实现WOA-CNN-GRU多特征分类预测,多特征输入模型,运行环境Ma ...

  4. 图卷积神经网络 | Python实现基于GCN-GRU图卷积门控循环单元网络模型

    图卷积神经网络 | Python实现基于GCN-GRU图卷积门控循环单元网络模型 目录 图卷积神经网络 | Python实现基于GCN-GRU图卷积门控循环单元网络模型 效果分析 基本描述 模型结构 ...

  5. 回归预测 | MATLAB实现Bayes-LSTM(贝叶斯优化长短期记忆神经网络)多输入单输出

    回归预测 | MATLAB实现Bayes-LSTM(贝叶斯优化长短期记忆神经网络)多输入单输出 目录 回归预测 | MATLAB实现Bayes-LSTM(贝叶斯优化长短期记忆神经网络)多输入单输出 基 ...

  6. 回归预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆神经网络多输入单输出回归预测

    回归预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-LSTM鲸鱼算法优化长短期记忆神经网络多输入单输出回归预测 ...

  7. 回归预测 | MATLAB实现GWO-LSTM灰狼算法优化长短期记忆神经网络多输入单输出回归预测

    回归预测 | MATLAB实现GWO-LSTM灰狼算法优化长短期记忆神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现GWO-LSTM灰狼算法优化长短期记忆神经网络多输入单输出回归预测 ...

  8. 回归预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出

    回归预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出 目录 回归预测 | MATLAB实现PSO-LSSVM粒子群算法优化最小二乘支持向量机多输入单输出 预测效 ...

  9. 回归预测 | MATLAB实现DBN-BP深度置信网络结合BP神经网络多输入单输出回归预测

    回归预测 | MATLAB实现DBN-BP深度置信网络结合BP神经网络多输入单输出回归预测 目录 回归预测 | MATLAB实现DBN-BP深度置信网络结合BP神经网络多输入单输出回归预测 预测效果 ...

最新文章

  1. R语言ggplot2可视化并自定义配置图例的位置到可视化图像的顶部、配置折叠成两行显示图例、并添加图像形状的子图(ggplot2 legend in two rows with guides fill
  2. 15篇最新AI论文推荐新鲜出炉!真的很skr了~(附链接)
  3. 《高性能科学与工程计算》——3.7 习题
  4. 谷歌新操作系统Fuchsia网站上线,同时支持手机和PC,鼓励开发者参与进来
  5. C++中有string类,string是一个类不是一种类型,c语言中没有
  6. 销售自动记帐凭证 - 三个常见问题
  7. Storm的BaseBasicBolt源码解析ack机制
  8. Maven:私服Nexus的安装
  9. 7.1 找寻失去的学习潜质——《逆袭大学》连载
  10. jmeter-json提取器提取数据
  11. 谷歌浏览器,添加手机模拟器
  12. c语言程序从哪里开始执行
  13. python入门基础三之流程控制
  14. 70条正则表达式的整理汇总
  15. 计算机控制室防火危险级为,8.2 空气调节 - 【已作废】火力发电厂与变电站设计防火规范 GB50229-2006 - 消防规范大全 - 消防资源网!...
  16. Antv X6 画布平移
  17. linux无法保存文件,Linux系统创建文件后无法保存
  18. C语言文字简单加密程序的实现
  19. 你是我无法斑驳的阳光
  20. 顺序队列求解迷宫问题

热门文章

  1. direction 属性
  2. VR升级换代正当时:Pico G2 4K评测体验
  3. logo是啥_logo是什么意思
  4. Ubuntu安装eigen
  5. 如来十三掌(与佛论禅、Rot13编码)
  6. Fotophire Toolkit(图片处理软件)v1.3.1中文版
  7. day06 列表(1)
  8. 湛江油品检测实验室建设要点分析
  9. 干货文稿|当模型预测控制遇见机器学习
  10. 程序员:我差点死在了北京黑中介的手里……