当前位置: 首页 > news >正文

时间序列预测任务下探索深度学习参数对模型预测性能的影响

时间序列相关的项目在我之前的很多博文中都有涉及,覆盖的数据领域也是比较广泛的,很多任务或者是项目中往往是搭建出来指定的模型之后就基本完成任务了,比较少去通过实验的维度去探索分析不同参数对模型性能的影响,这两天正好有时间也有这么个机会,就想着从这个角度做点事情来对模型产生的结果进行分析。

数据可以使用任意时序的数据都是可以的,本质都是时间序列的数据即可。简单的实例数据如下所示:

 参考前面的博文即可知晓如何将时序数据转化为标准的预测数据集,这里就不再赘述了。

这里主要是想从实验角度来分析结果,基础模型构建如下所示,首先考虑的是模型层数产生的影响,这里层数从1叠加至3层:

def initModel(steps, features):"""模型初始化"""model = Sequential()model.add(LSTM(64,activation="relu",input_shape=(steps, features),kernel_regularizer=l2(0.001),return_sequences=False,))model.add(Dense(features))model.compile(optimizer="adam", loss="mse")return model

 结果如下所示:

 接下来是两层的,如下所示:

def initModel(steps, features):"""模型初始化"""model = Sequential()model.add(LSTM(64,activation="relu",input_shape=(steps, features),kernel_regularizer=l2(0.001),return_sequences=True,))model.add(LSTM(64, activation="relu", kernel_regularizer=l2(0.001)))model.add(Dense(features))model.compile(optimizer="adam", loss="mse")return model

结果如下所示:

 最后是3层的,如下所示:

def initModel(steps, features):"""模型初始化"""model = Sequential()model.add(LSTM(64,activation="relu",input_shape=(steps, features),kernel_regularizer=l2(0.001),return_sequences=True,))model.add(LSTM(64, activation="relu", kernel_regularizer=l2(0.001),return_sequences=True))model.add(LSTM(64, activation="relu", kernel_regularizer=l2(0.001)))model.add(Dense(features))model.compile(optimizer="adam", loss="mse")return model

结果如下所示:

 直观体验下来是层数的增加并没有带来提升,反而是带来了崩溃式的结果。

接下来想要看下同样结构下,改变参数值带来的变化。

简单的实例如下所示:

def initModel(steps, features):"""模型初始化"""model = Sequential()model.add(LSTM(128,activation="relu",input_shape=(steps, features),kernel_regularizer=l2(0.001),return_sequences=False,))model.add(Dense(features))model.compile(optimizer="adam", loss="mse")return model

结果如下所示:

 接下来同样的思路改变参数,结果如下所示:

 参数的调整能带来一定的改变但是限定在一定的复读内,接下来考虑借鉴之前目标检测里面的方案来改造设计新的结构,借助于搜索技术可以事半功倍,结果如下所示:

 可以看到:结果有了质的提升。后面有时间再继续深度研究下。

http://www.lryc.cn/news/118873.html

相关文章:

  • React Dva项目 简单引入models中的所有JS文件
  • ROS入门-第 1 章 ROS概述与环境搭建
  • spring之AOP简单介绍
  • 使用Spark ALS模型 + Faiss向量检索实现用户扩量实例
  • Jmeter入门之digest函数 jmeter字符串连接与登录串加密应用
  • uni-app实现图片上传功能
  • golang协程池库tunny实践
  • Android性能优化—数据结构优化
  • STL模板——vector详解
  • 国际顶级学术会议ISSTA召开,中山大学与微众银行联合发表区块链最新研究成果
  • Android开发从0开始(图形与按钮)
  • Git入门到精通——保姆级教程(涵盖GitHub、Gitee、GitLab)
  • 题解 | #J.Permutation and Primes# 2023牛客暑期多校8
  • 用vim打开后中文乱码怎么办
  • 自然语言处理: 第六章Transformer- 现代大模型的基石
  • 01-Hadoop集群部署(普通用户)
  • DC电源模块关于的电路布局设计
  • MATLAB实现免疫优化算法(附上多个完整仿真源码)
  • 登录界面中图片验证码的生成和校验
  • go的make使用
  • 竞赛项目 深度学习实现语义分割算法系统 - 机器视觉
  • 一元三次方程求解
  • 基于java在线音乐网站设计与实现
  • Python爬虫如何更换ip防封
  • 涛思数据联合长虹佳华、阿里云 Marketplace 正式发布 TDengine Cloud
  • 特殊符号的制作 台风 示例 使用第三方工具 Photoshop 地理信息系统空间分析实验教程 第三版
  • IoTDB1.X windows运行失败问题的处理
  • pdf转图片【java版实现】
  • python3.6 安装pillow失败
  • 巨人互动|Meta海外户Meta的业务工具转化API