Tensorflow CuDNNGRU模型过度装配,acc和val_acc不变

Tensorflow CuDNNGRU模型过度装配,acc和val_acc不变,tensorflow,keras,neural-network,Tensorflow,Keras,Neural Network,所以我对这方面还不太熟悉。研究一个模型来预测一个时间序列问题,大约在第25个纪元之后,它会很快过度拟合,我做了一些退出,降低了网络复杂性,但模型仍然无法抵抗一段时间后的过度拟合。此外,acc和val_acc自始至终都处于冻结状态。以下是网络架构: regressor = Sequential() regressor.add(CuDNNGRU(units = 50, return_sequences = True, input_shape = (X_train.shape[1], 1))) re

所以我对这方面还不太熟悉。研究一个模型来预测一个时间序列问题,大约在第25个纪元之后,它会很快过度拟合,我做了一些退出,降低了网络复杂性,但模型仍然无法抵抗一段时间后的过度拟合。此外,acc和val_acc自始至终都处于冻结状态。以下是网络架构:

regressor = Sequential()

regressor.add(CuDNNGRU(units = 50, return_sequences = True, input_shape = (X_train.shape[1], 1)))
regressor.add(Dropout(0.3))

regressor.add(CuDNNGRU(units = 50, return_sequences = True))
regressor.add(Dropout(0.3))

regressor.add(CuDNNGRU(units = 50, return_sequences =False))
regressor.add(Dropout(0.3))

# i've intentionally commented out this layer to reduce complexity
# regressor.add(CuDNNGRU(units = 50))
# regressor.add(Dropout(0.2))

regressor.add(Dense(units = 1))

regressor.compile(optimizer = 'adam', loss = 'mean_squared_error', metrics=['accuracy'])

history = regressor.fit(X_train, y_train, epochs = 60, batch_size = 64, validation_split=0.2)

这基本上就是各个时代的分崩离析:

Train on 127936 samples, validate on 31984 samples
Epoch 1/60
127936/127936 [==============================] - 99s 772us/step - loss: 0.0015 - acc: 7.8164e-06 - val_loss: 0.0012 - val_acc: 3.1266e-05
Epoch 2/60
127936/127936 [==============================] - 98s 763us/step - loss: 3.1164e-04 - acc: 7.8164e-06 - val_loss: 8.9437e-04 - val_acc: 3.1266e-05
Epoch 3/60
127936/127936 [==============================] - 97s 762us/step - loss: 2.3211e-04 - acc: 7.8164e-06 - val_loss: 0.0010 - val_acc: 3.1266e-05
Epoch 4/60
127936/127936 [==============================] - 98s 765us/step - loss: 2.2029e-04 - acc: 7.8164e-06 - val_loss: 0.0016 - val_acc: 3.1266e-05
Epoch 5/60
127936/127936 [==============================] - 97s 760us/step - loss: 2.1758e-04 - acc: 7.8164e-06 - val_loss: 0.0028 - val_acc: 3.1266e-05
Epoch 6/60
127936/127936 [==============================] - 98s 765us/step - loss: 2.1232e-04 - acc: 7.8164e-06 - val_loss: 0.0016 - val_acc: 3.1266e-05
Epoch 7/60
127936/127936 [==============================] - 97s 761us/step - loss: 2.1088e-04 - acc: 7.8164e-06 - val_loss: 0.0012 - val_acc: 3.1266e-05
Epoch 8/60
127936/127936 [==============================] - 97s 760us/step - loss: 2.0391e-04 - acc: 7.8164e-06 - val_loss: 0.0012 - val_acc: 3.1266e-05
Epoch 9/60
127936/127936 [==============================] - 97s 761us/step - loss: 2.0780e-04 - acc: 7.8164e-06 - val_loss: 6.3458e-04 - val_acc: 3.1266e-05
Epoch 10/60
127936/127936 [==============================] - 97s 762us/step - loss: 2.0697e-04 - acc: 7.8164e-06 - val_loss: 5.3828e-04 - val_acc: 3.1266e-05
Epoch 11/60
127936/127936 [==============================] - 98s 763us/step - loss: 2.0546e-04 - acc: 7.8164e-06 - val_loss: 4.7978e-04 - val_acc: 3.1266e-05
Epoch 12/60
127936/127936 [==============================] - 98s 763us/step - loss: 2.0410e-04 - acc: 7.8164e-06 - val_loss: 3.6436e-04 - val_acc: 3.1266e-05
Epoch 13/60
127936/127936 [==============================] - 98s 763us/step - loss: 2.0250e-04 - acc: 7.8164e-06 - val_loss: 3.5326e-04 - val_acc: 3.1266e-05
Epoch 14/60
127936/127936 [==============================] - 97s 758us/step - loss: 2.0288e-04 - acc: 7.8164e-06 - val_loss: 4.8453e-04 - val_acc: 3.1266e-05
Epoch 15/60
127936/127936 [==============================] - 98s 763us/step - loss: 2.0580e-04 - acc: 7.8164e-06 - val_loss: 0.0014 - val_acc: 3.1266e-05
Epoch 16/60
127936/127936 [==============================] - 97s 760us/step - loss: 2.0156e-04 - acc: 7.8164e-06 - val_loss: 0.0011 - val_acc: 3.1266e-05
Epoch 17/60
127936/127936 [==============================] - 97s 762us/step - loss: 2.0055e-04 - acc: 7.8164e-06 - val_loss: 0.0012 - val_acc: 3.1266e-05
Epoch 18/60
127936/127936 [==============================] - 97s 759us/step - loss: 2.0162e-04 - acc: 7.8164e-06 - val_loss: 0.0013 - val_acc: 3.1266e-05
Epoch 19/60
127936/127936 [==============================] - 97s 761us/step - loss: 1.9856e-04 - acc: 7.8164e-06 - val_loss: 7.1617e-04 - val_acc: 3.1266e-05
Epoch 20/60
127936/127936 [==============================] - 97s 758us/step - loss: 2.0146e-04 - acc: 7.8164e-06 - val_loss: 8.7160e-04 - val_acc: 3.1266e-05
Epoch 21/60
127936/127936 [==============================] - 97s 761us/step - loss: 2.0139e-04 - acc: 7.8164e-06 - val_loss: 0.0017 - val_acc: 3.1266e-05
Epoch 22/60
127936/127936 [==============================] - 97s 760us/step - loss: 2.0001e-04 - acc: 7.8164e-06 - val_loss: 0.0013 - val_acc: 3.1266e-05
Epoch 23/60
127936/127936 [==============================] - 97s 761us/step - loss: 2.0003e-04 - acc: 7.8164e-06 - val_loss: 7.9431e-04 - val_acc: 3.1266e-05
Epoch 24/60
127936/127936 [==============================] - 98s 763us/step - loss: 1.9823e-04 - acc: 7.8164e-06 - val_loss: 0.0011 - val_acc: 3.1266e-05
Epoch 25/60
127936/127936 [==============================] - 98s 762us/step - loss: 1.9902e-04 - acc: 7.8164e-06 - val_loss: 0.0012 - val_acc: 3.1266e-05
Epoch 26/60
127936/127936 [==============================] - 97s 762us/step - loss: 1.9857e-04 - acc: 7.8164e-06 - val_loss: 0.0012 - val_acc: 3.1266e-05
Epoch 27/60
127936/127936 [==============================] - 97s 761us/step - loss: 1.9652e-04 - acc: 7.8164e-06 - val_loss: 0.0020 - val_acc: 3.1266e-05
Epoch 28/60
127936/127936 [==============================] - 97s 760us/step - loss: 1.9940e-04 - acc: 7.8164e-06 - val_loss: 0.0017 - val_acc: 3.1266e-05
Epoch 29/60
127936/127936 [==============================] - 97s 758us/step - loss: 1.9802e-04 - acc: 7.8164e-06 - val_loss: 0.0032 - val_acc: 3.1266e-05
Epoch 30/60
127936/127936 [==============================] - 97s 761us/step - loss: 1.9759e-04 - acc: 7.8164e-06 - val_loss: 0.0018 - val_acc: 3.1266e-05
Epoch 31/60
127936/127936 [==============================] - 97s 757us/step - loss: 1.9716e-04 - acc: 7.8164e-06 - val_loss: 0.0033 - val_acc: 3.1266e-05
Epoch 32/60
127936/127936 [==============================] - 97s 760us/step - loss: 1.9611e-04 - acc: 7.8164e-06 - val_loss: 0.0038 - val_acc: 3.1266e-05
Epoch 33/60
127936/127936 [==============================] - 97s 762us/step - loss: 1.9661e-04 - acc: 7.8164e-06 - val_loss: 0.0066 - val_acc: 3.1266e-05
Epoch 34/60
127936/127936 [==============================] - 98s 762us/step - loss: 1.9186e-04 - acc: 7.8164e-06 - val_loss: 0.0068 - val_acc: 3.1266e-05
Epoch 35/60
127936/127936 [==============================] - 97s 762us/step - loss: 1.9449e-04 - acc: 7.8164e-06 - val_loss: 0.0077 - val_acc: 3.1266e-05

如你所见,在第23纪元之后,瓦卢损失开始飙升。还有,为什么在这个模型中acc和val_acc没有机会?

更正上面的句子:没有变化*看起来你的模型在第一个纪元之后几乎收敛了,只是它没有学到任何东西。您的数据是否确实适用于此?不是每周彩票号码什么的?但我认为我对“acc”的解释就像我对分类的解释一样(低精度很差),实际上这意味着你的模型在一个历元之后非常好(取决于你的数据值)。你看到了吗?谢谢你的评论@Pam。不,实际上是黄金/美元数据,令人惊讶的是,预测并不太可怕,我愿意给出val_acc和acc的想法,因为这并不完全是一个分类问题,但最困扰我的是,无论我增加了多少辍学率,减少了多少复杂性,在20世纪之后,它仍然保持着可怕的过度拟合。嗯,我对回归(更多分类)不太熟悉,但你的设置让我想起了这篇文章。特别是那些他显示他的预测图仅仅是跟在他实际图后面一步的图。我希望你能弄明白。非常感谢@Pam。如果你不介意的话,还有一个问题,如果我删除这些指标,除了损失之外,所有的指标都会消失。那么,我如何知道我的模型何时开始过度拟合?(因为我假设需要损失和价值损失之间的差异才能找到答案)。