微型批次是否计算了模型的训练准确性?

时间:2018-08-08 22:31:51

标签: python tensorflow machine-learning

我试图在每个时期结束时记录模型的训练精度,但是我不确定训练精度是根据整个训练数据还是最后一个用于训练的小批量计算得出的。例如,如果我有10000个训练数据,并且正在使用100个迷你批次进行训练,那么我会使用100个的最后一个迷你批次(该时期的第100个和最后一个迷你批次)来计算训练精度,还是使用全部10000个训练数据?

2 个答案:

答案 0 :(得分:0)

理想情况下,应该计算包括每个样本在内的训练准确性,但是实际上,可以使用一部分数据,只要它能代表所有数据即可。随机抽样的100个样本是否代表您的数据,取决于当前的问题。例如,如果您将样本分类为一千种可能的类别之一,那么显然这是不够的。

我通常会在训练期间在给定时期内保持损失的连续平均值。由于训练损失几乎总是单调减少,因此往往会高估损失(并会低估准确性。但是,随着模型收敛,差异应该消失。

答案 1 :(得分:0)

我同意@Cory的观点,理想情况下,应该对每个训练样本都计算出训练准确性。我不使用运行平均值(也许是指数平均值),而是保留了最后的50个迷你批次的总和。然后,我报告了这些小型批次的平均损失。您可以轻松跟踪模型的近期表现(可以比每个时期更频繁地报告此数字)。

相关问题