当我错过了一些细节时,请指出这一点。我为回归制作了一个简单的顺序 LSTM 模型。模型损失为 3.2145e-06。数据在 0 和 1 之间缩放。我尝试了不同的层等变体,但发生了同样的情况,我使用的最简单的模型如下:
from keras.models import Sequential
from keras.layers import LSTM
model = Sequential()
model.add(LSTM(16,return_sequences=True,input_shape=(None,1))
model.add(LSTM(1,activation='sigmoid', return_sequences=True))
model.compile(loss='mae', optimizer='adam', metrics=['mae','mse'])
history=model.fit(train,train, epochs=10, batch_size=78, shuffle=False)
predicted=model.predict(test)
我的火车数据如下:
当我比较测试和预测时,预测看起来比测试数据小很多倍,并且显示了准确的峰值。就我而言,我希望这些值很小,因为我使用完全不同的数据(一种异常回归)进行训练,令人惊讶的是峰值是相同的。上面的测试数据图和下面的预测。所以我的问题是为什么会出现峰值,我怎样才能让网络无法检测到峰值并按照训练进行预测?
编辑:在使用 MAE 作为损失函数和 500 次训练后,我达到了 0.0180 损失。预测看起来像是 mse 预测的镜像(见下文)。在 2000 个 epochs 之后,我达到了 0.0030 的最小值和 th
在 2000 个 epoch 之后,我达到了 0.0030 的最小值,预测如下所示:
编辑:我的数据应该与 LSTM 一起使用,我需要另一个模型。



