我是 Tensorflow 2 的初学者,我正在尝试进行多时间序列预测,以使用 10 个时间步长(接下来 10 天,最后一个密集层 = 10)来预测铜 (LME) 的价格。我的预测结果不是很好,所以我读到通过使数据静止,模型效率更好。 我修改了我的程序如下:
-Time serie stationary
-2 Bidirectional layers(LSTM) of 20 neurons with 10 neurons in the output layer
-SELU activation
-initialization lecun_normal
-lr : 0.0005
-batch normalization
-lookback : 45 + Batch_size :8 + mse + seed constant 4000
-Validation split: 0.05 + Dropout :0.01
随着序列的平稳性,结果更好,但模型不稳定。 我想我在超参数的选择上犯了一个初学者的错误。 确实:
- There is no correlation between the minimum loss and the prediction quality
- The result is totally variable with the modification of the seed value
- With a training with a larger number of epochs, the prediction curves flatten
- The smallest val_loss does not generate the best prediction
- Val_Acc does not exceed 0.14
- During training the loss slowly decreases but the val_acc does not increase.
- Often the best results are for less than 5 epochs of learning
- Loss and val_loss decrease but val_accurate does not increase
- The model prediction is very sensitive to the parameters. You can compare the two predictions of `enter code here`the same model in dotted red over 10 days with Dropout=0.01 and Dropout 0.02: they are opposite.
Do you have an idea to improve my model?
Thanks
DROPOUT : 0.01 上升预测 enter image description here DROPOUT : 0.02 自上而下的预测 enter image description here