使用LSTM预测结果为一条直线原因总结

简介: 使用LSTM预测结果为一条直线原因总结

前言

👑 最近很多订阅了🔥《深度学习时间序列预测案例》🔥的用户私信我,向我咨询为什么我的模型预测出来是一条直线或者是一条波浪线,几乎没有任何趋势,为了统一进行解答,特写本篇文章进行说明。

对于时间序列数据预测结果为一条直线这在时序任务中是很常见的,对于出现这种问题的原因有很多,本篇举例一些常见的影响因素。

  • 有些伙伴私信我,说这有可能是模型过大,内部一些参数过多,这种可以尝试简单一点的模型试一下
  • 模型训练过程中一些神经元死掉了,或者是梯度爆炸或者消失的问题,这种情况尝试一下使用不同的激活函数,建议使用各种的 RELU 变体函数
  • 学习率过大或者过小,可以尝试调整不同的学习率,或者使用学习率自定义衰减,模型训练不同阶段使用不同的学习率,靠近鞍点调小学习率
  • 适当增加 dropout ,减少模型过拟合
  • 时间片 timestep 设置的过大,容易导致模型预测结果波动不大
  • 数据集过小,这会导致模型学习不出时间序列的变化趋势
  • 适当减小一下 batch_size
  • 可以在不同的模块(层)之间添加 normalization 归一化
  • 模型过小,拟合时序的变化趋势能力较差,尝试大模型
  • 还有一些就是你模型内部模块的一些参数问题,例如你的模型中使用了LSTM,可能LSTM的层数和隐层维度都会有影响,这些参数问题是不太容易发现的
  • 使用的数据集的问题,可能数据中的时序信息不明显,使用模型很难拟合捕捉,尝试换一个时序效果好的数据集,因为不是任何数据集都会训练好的

以上是一些新手遇到较为常见的原因,如果遇到该问题可以尝试找找以上的原因调整一下自己的项目,这里说明一下你的预测结果为一条直线的原因可能不是由上述原因导致的,所以上面原因仅供参考调试,这个问题不太好定位分析,因为导致原因太多,需要小伙伴多尝试多分析。

上述原因可能是一些较为经典的原因,其实原因还有很多(类似于最后一个原因,与你使用的模块的内部参数有关,这类原因就太多了,需要经验来定位),对于新手小白来说了解上述几点原因即可。


目录
相关文章
|
机器学习/深度学习 人工智能 测试技术
使用随机森林分类器对基于NDRE(归一化差异水体指数)的特征进行分类
使用随机森林分类器对基于NDRE(归一化差异水体指数)的特征进行分类
98 1
|
7月前
|
机器学习/深度学习 数据采集 算法
乳腺癌预测:特征交叉+随机森林=成功公式?
乳腺癌预测:特征交叉+随机森林=成功公式?
88 0
乳腺癌预测:特征交叉+随机森林=成功公式?
|
7月前
|
数据采集
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
R语言用线性模型进行臭氧预测: 加权泊松回归,普通最小二乘,加权负二项式模型,多重插补缺失值
|
vr&ar
用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
128 0
用于非线性时间序列预测的稀疏局部线性和邻域嵌入(Matlab代码实现)
|
机器学习/深度学习 算法 数据挖掘
基于径向基函数 (RBF) 神经网络的麦基格拉斯时间序列预测(Matlab代码实现)
基于径向基函数 (RBF) 神经网络的麦基格拉斯时间序列预测(Matlab代码实现)
108 0
|
机器学习/深度学习 存储 索引
用4种回归方法绘制预测结果图表:向量回归、随机森林回归、线性回归、K-最近邻回归
用4种回归方法绘制预测结果图表:向量回归、随机森林回归、线性回归、K-最近邻回归
164 0
|
机器学习/深度学习 传感器 资源调度
【FNN回归预测】基于Jaya优化前馈神经网络FNN实现数据回归预测附Matlab代码
【FNN回归预测】基于Jaya优化前馈神经网络FNN实现数据回归预测附Matlab代码
|
机器学习/深度学习 传感器 算法
【TCN回归预测】基于TCN时间卷积神经网络实现数据多输入回归预测附matlab代码
【TCN回归预测】基于TCN时间卷积神经网络实现数据多输入回归预测附matlab代码
|
机器学习/深度学习 数据可视化 BI
时域卷积网络TCN详解:使用卷积进行序列建模和预测(下)
时域卷积网络TCN详解:使用卷积进行序列建模和预测
2523 0
时域卷积网络TCN详解:使用卷积进行序列建模和预测(下)
|
机器学习/深度学习 并行计算 数据可视化
时域卷积网络TCN详解:使用卷积进行序列建模和预测(上)
时域卷积网络TCN详解:使用卷积进行序列建模和预测
1128 0
时域卷积网络TCN详解:使用卷积进行序列建模和预测(上)