【问题标题】:LSTM model doesn't predict values higher than certain value (not same value all the time)LSTM 模型不会预测高于某个值的值(始终不是相同的值)
【发布时间】:2019-05-10 19:28:52
【问题描述】:

首先感谢您的帮助!

我想创建一个简单的 LSTM 模型来预测下一分钟家庭用电量的值。使用这个数据集:

https://archive.ics.uci.edu/ml/datasets/individual+household+electric+power+consumption

到目前为止我所做的是:

1) 规范化数据并创建一个“窗口”,使我的 LSTM 网络看起来像这样:

从 t0-t29 的 30 分钟系列,每分钟 8 个特征,网络应输出 t30 房屋用电量。 因此,我的每个样本输入的形状为 [30x8],输出应为 [1x1]。到目前为止,一切顺利。

2) 我构建了一个简单的 LSTM 模型,如下所示:

model4 = Sequential()
model4.add(LSTM(1,input_shape=(30, 8)))
model4.add(Dense(1))
model4.compile(loss='mean_squared_error', optimizer='adam')

如您所见,一个非常简单的多对一模型。我已经对模型进行了 25 个 epoch 的训练,出于某种原因,该模型似乎无法预测高于 5-5.5 的值,如下图所示:

3) 我尝试过:

  • 以不同方式对数据进行归一化(最小最大或平均标准)
  • 标准化所有数据,但我保留原始值的功耗列。 以上都没有帮助。

有什么建议吗?

【问题讨论】:

    标签: python keras time-series lstm rnn


    【解决方案1】:

    解决方案:

    我将 LSTM 层的属性“激活”更改为无。 这样,默认的“tanh”函数不会“粉碎”这些值。

    【讨论】:

      猜你喜欢
      • 2021-12-28
      • 2021-06-13
      • 2021-04-29
      • 1970-01-01
      • 2021-05-30
      • 2020-09-03
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      相关资源
      最近更新 更多