增量(在线)反向传播停止标准

时间:2013-03-25 16:40:12

标签: machine-learning neural-network backpropagation

在Backpropagation ANN的在线实现中,您如何确定停止标准?

我一直在做的方式(我肯定是不正确的)是平均每个输出节点的错误,然后在每个纪元上平均这个错误。

这是不正确的方法吗?是否有停止在线实施的标准方法?

1 个答案:

答案 0 :(得分:4)

您应该始终考虑与您的训练集分离的验证集上的错误(例如,均方根误差)。如果训练时间太长,你的神经网络将开始过度拟合。这意味着,训练集上的错误将变为最小甚至为0,但一般数据的错误将变得更糟。

要获得产生最佳泛化性能的模型参数,只要验证集上的错误是新的最小值,就应该复制并保存模型参数。如果性能有问题,则只能每N步检查一次。

在在线学习设置中,您将使用单个训练样本或少量训练样本的小批量训练。您可以将涵盖总数据的所有样本/小批量的succsessive培训视为一个培训时期

有几种可能性来定义所谓的早期停止标准。例如。你可以在每个完整的纪元后考虑验证集上最好的RMS错误。一旦M纪元没有新的最佳状态,你就会停止。根据问题的复杂程度,您必须选择足够高的M.你也可以从一个相当小的M开始,每当你得到一个新的最佳值时,你将M设置为你需要的时期数。这取决于快速收敛或尽可能彻底地更重要。

由于学习算法是爬山,因此您的验证和/或训练错误都会暂时变大。这意味着它遍历错误表面上的区域,这会导致性能不佳,但必须通过这些区域才能达到新的,更好的最佳状态。如果您只是在两个后续步骤之间的验证或培训错误变得越来越严重时立即停止,您将过早地处于次优解决方案中。