Rnn预测率受批量大小影响?

时间:2018-02-03 19:50:32

标签: tensorflow rnn

我正在使用Tensorflow RNN来预测一堆序列。我使用Grucell和dynamic_rnn。在培训时,我输入了训练数据集,我将其分为8个批次,每个批次的批量大小为10(1个批次的形状为[10, 6, 2],即[batchsize, seqlen, dim])。为了防止过度拟合,我在训练数据集中的预测率开始超过80%时停止训练(通常在80%~83%的准确率下停止)。

训练之后,我让相同的图表只预测(不训练)相同的训练数据集。但这次,由于tf.nn.dynamic_rnn可以提供可变大小的批量,我可以将数据集定制为80批次,每批次的批量大小为1,形状为{{1 (简单地降低了批量大小,因此增加了批次数)。然后,准确度通常超过90%,这明显高于80%。出于某种原因,缩小批量大小会导致更高的准确率。为什么会这样?

1 个答案:

答案 0 :(得分:0)

据我了解,您的训练数据量较少,而且您在训练期间也提早停止,如果差异越来越大,则意味着您的模型开始过度拟合,请不要盲目停止处理过度拟合检查您的训练和验证损失差异。在训练检查之前,您的数据集是偏向的还是正确平衡的。我认为这种情况正在发生,因为您的训练数据非常少,或者您的数据集不均衡。