【问题标题】:Wrong predictions with LSTM Neural NetworkLSTM 神经网络的错误预测
【发布时间】:2017-08-21 05:54:29
【问题描述】:

我是 LSTM 的新手,我正在尝试训练一个模型来预测给定一年数据的 IP 的流量。数据集由 Kaggle https://www.kaggle.com/crawford/computer-network-traffic 提供。

这就是网络的建模方式

model = Sequential()
model.add(LSTM(128,input_shape=(trainX.shape[1], trainX.shape[2]),
               activation='relu',return_sequences=True))
model.add(LSTM(32, return_sequences=True))
model.add(LSTM(10))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
model.fit(trainX, trainY, epochs=10, batch_size=64, verbose=2)

你可以在我的内核https://www.kaggle.com/asindico/computer-network-traffic-eda/找到所有细节

这是我在 10 个 epoch 后得到的

蓝色表示实际值,红色表示预测值。

【问题讨论】:

  • 这里有三件事: 1. 使用例如规范化你的目标。 StandardScaller 来自 sklearn。 2. 从 LSTM 的第一层删除relu,因为这实际上可能会损害训练。 3. 训练更长时间 - LSTM 喜欢更长时间的训练。

标签: machine-learning deep-learning keras lstm tensor


【解决方案1】:

不幸的是,没有针对该问题的通用解决方案,但很明显您的模型不适合数据。

我有什么建议?

  • 减少模型中隐藏层的数量,

  • 增加epoch数,

  • 将优化器功能更改/尝试为“sgd”或“RMSprop”,

  • 增加批量大小,

  • 并添加正则化和 dropout。

正如我所说,没有通用的解决方案,因此,从上面尝试一些方法,它可能会对您有所帮助。

另外,检查输出层的激活函数。 + 按照建议规范化输入数据。

【讨论】:

    猜你喜欢
    • 2017-08-02
    • 1970-01-01
    • 1970-01-01
    • 2022-12-23
    • 2017-12-02
    • 2020-02-24
    • 2015-12-11
    • 2020-09-15
    • 2022-08-15
    相关资源
    最近更新 更多