回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出
回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出
目录
- 回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出
- 基本介绍
- 背景回顾
- 模型介绍
- 程序设计
- 学习总结
- 参考资料
- 致谢
基本介绍
本次运行测试环境MATLAB2020b;
本次预测基本任务是回归,多变量输入,单变量输出;
- 主要研究问题不限于交通预测、负荷预测、气象预测、经济预测等。Bayes-GRU多变量输入单变量输出,贝叶斯优化门控循环单元。
- 针对非线性预测模型出现参数过多及易陷入局部最优等问题,提出了一种深度学习中的门控制循环单元模型,并结合贝叶斯优化算法对门控制循环单元的超参数进行优化,为检验模型的可行性,以实测数据为基础,结果表明: 该模型的泛化能力强、运行效率高,能有效预测。
背景回顾
- 单一模型具有精度、鲁棒性和外延性较差的缺点,不同模型优化组合虽然在拟合和预测精度方面有较大提高,但是由于机器学习存在参数过多、收敛速度慢、极易陷入局部最优等问题,不能有效地处理高度
非线性问题。深度学习是由更多的非线性映射隐含层组成的一种神经网络,能较好地挖掘数据之间的非线性。 - 本文将具有全局优化能力的贝叶斯算法与门控制循环单元引入到预测分析中,可以解决监控模型收敛速度慢和过拟合的问题,并可提高模型的精度和稳定性,最终使预测更加准确。
模型介绍
为提高模型预测精度,需要确定超参数最优组合。而贝叶斯优化( Bayesian optimization,BO) 是一种全局优化算法,能够有效地对GRU 模型中的参数进行寻优处理,从而实现具有非线性的监测数据预测。
本文基于贝叶斯算法对GRU模型的网络层数,单元数,学习率,正则化率共4 个超参数进行优化。概率代理模型选用树状结构Parzen 估计方法,采集函数为基于提升策略。自变量x 为不同超参数组合,优化目标函数为均方误差。
程序设计
%% 变量初始化
opt.learningMethod = 'GRU';
%% 参数定义
%最大迭代次数
opt.maxEpochs = 10;
%批处理大小
opt.miniBatchSize = 16;
%执行环境: 'cpu' 'gpu' 'auto'
opt.executionEnvironment = 'cpu';
%优化算法: 'sgdm' 'rmsprop' 'adam'
opt.LR = 'adam';
%训练进程: 'training-progress' 'none'
opt.trainingProgress = 'none'; %% 参数设定
opt.isUseDropoutLayer = true;
%权重丢失参数设定,防止过拟合
opt.DropoutValue = 0.5;% 优化参数设定
opt.optimVars = [optimizableVariable('NumOfLayer',[1 4],'Type','integer')optimizableVariable('NumOfUnits',[50 200],'Type','integer')optimizableVariable('InitialLearnRate',[1e-2 1],'Transform','log')optimizableVariable('L2Regularization',[1e-10 1e-2],'Transform','log')];opt.isUseOptimizer = true;
opt.MaxOptimizationTime = 14*60*60;
opt.MaxItrationNumber = 10;
opt.isDispOptimizationLog = true;
%参数保存设定
opt.isSaveOptimizedValue = false;
opt.isSaveBestOptimizedValue = true;
- 预测效果
学习总结
- 本文将贝叶斯优化算法和深度学习结合并引入到预测中,构建了基于Bayes-GRU模型,有效改善了模型易陷入局部最优的问题,从而提高了模型的精度和运行速度。
- 模型能够很好地处理具有非线性的数据,但是仍然存在梯度消失、记忆力不足的缺点,如何解决这些缺点,还需要做更深入地研究。
参考资料
[1] 黄梦婧,杨海浪,叶根苗.基于实时跟踪的大坝安全监控模型.
[2] 吴中如. 水工建筑物安全监控理论及其应用.
致谢
- 感谢大家订阅和支持!
回归预测 | MATLAB实现贝叶斯优化门控循环单元(BO-GRU)多输入单输出相关推荐
- 回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测
回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测 目录 回归预测 | MATLAB实现WOA-GRU鲸鱼算法优化门控循环单元多输入单输出回归预测 写在前面 效果 ...
- GWO-GRU多变量回归预测,灰狼算法优化门控循环单元的回归预测(Matlab)
GWO-GRU多变量回归预测,灰狼算法优化门控循环单元的回归预测(Matlab) 1.data为数据集. 2.MainGWO_GRUNN.m为程序主文件,其他为函数文件无需运行. 3.命令窗口输出R2 ...
- 基于灰狼优化门控循环单元(GWO-GRU)的数据回归预测
基于灰狼优化门控循环单元(GWO-GRU)的数据回归预测 优化参数为学习率,隐藏层节点个数,正则化参数,要求2020及以上版本 matlab代码 ID:69100673060238545
- (pytorch-深度学习)门控循环单元(GRU)
门控循环单元(GRU) 循环神经网络中的梯度计算 当时间步数较大或者时间步较小时,循环神经网络的梯度较容易出现衰减或爆炸. 虽然裁剪梯度可以应对梯度爆炸,但无法解决梯度衰减的问题. 通常由于这个原因, ...
- 门控循环单元网络(GRU)在自然语言处理中的应用
作者:禅与计算机程序设计艺术 1.简介 自然语言处理(NLP)是人类认知的一项重要技能,它涉及到对文本数据进行处理.提取信息并对其做出回应.传统上,文本分析方法使用基于统计模式的算法,如TF-IDF. ...
- 门控循环单元网络GRU详解
为了改善循环神经网络的长程依赖问题,在 梯度消失是循环网络的主要问题除了使用一些优化技巧外更有效的方式就是改变模型比如让U = I同时令 ∂ht/∂ht= I 为单位矩阵即ht = ht−1 + g( ...
- pytorch学习笔记(三十一):门控循环单元(GRU)
文章目录 前言 1. 门控循环单元 1.1 重置门和更新门 1.2 候选隐藏状态 1.3 隐藏状态 2. 读取数据集 3. 从零开始实现 3.1 初始化模型参数 3.2 定义模型 3.3 训练模型并创 ...
- 现代循环神经网络-1.门控循环单元(GRU)【动手学深度学习v2】
文章目录 1.门控循环单元(GRU) 1.1 门控隐状态 A.重置门与更新门 B.候选隐状态 C.隐状态 1.2 GRU的实现 A.从零实现 B.简洁实现 1.门控循环单元(GRU) GRU是一个比较 ...
- 动手学深度学习(三十九)——门控循环单元GRU
文章目录 门控循环单元(GRU) 一.门控隐藏状态 1.1 重置门和更新门 1.2候选隐藏状态 1.3 隐藏状态 二.从零实现GRU 2.1 初始化模型参数 2.2 定义模型 2.3 训练与预测 2. ...
最新文章
- 贪吃蛇游戏(java)
- git 换行符LF与CRLF转换问题
- vector容器的用法
- java url使用rest风格_Restful风格的URL请求
- property classmethod staticmethod的用法
- Sublime Text 的下载巨慢的问题,安装问题,html页面代码生成问题,代码提示问题 全都解决了【最完美的解决方案】
- linux 基础学,linux基础学习【1】
- SAP ABAP Netweaver Note download debug
- android 仿微信朋友圈 评论,2020年android 仿微信朋友圈 评论
- 『BDD100K的labels文件json转YOLOV5要求的txt文件』【包括识别交通灯】(代码编写)
- 电商(电子商务)网站设计技巧|从可临摹素材模板开始
- Android anr 产生的原因和如何避免
- POJ--1300--Door Man【推断无向图欧拉通路】
- 2015年 安防圈的明星代言人有哪些?
- office文档 在线预览 (doc、ppt、xls)
- 使用eclipse新建一个SWT工程
- 开源中国开源世界高峰论坛
- 腾讯技术分享实录:游戏后台开发九问
- 国内首款、完全自主、基于云架构的三维CAD平台——CrownCAD(皇冠CAD)
- 计算机桌面图片怎么设置大小,电脑桌面的图标大小怎么调整?