Jac*_*k H 3 machine-learning backpropagation neural-network
在反向传播ANN的在线实现中,您将如何确定停止条件?
我一直在做的方式(我确信这是不正确的)是对每个输出节点的误差求平均,然后对每个时期求平均。
这是不正确的方法吗?是否有停止在线实施的标准方法?
您应该始终将验证集中的错误(例如,均方根错误)与您的训练集分开考虑。如果训练时间太长,您的神经网络将开始过度拟合。这意味着,您的训练集上的错误将变为最小甚至为0,但是常规数据上的错误将变得更糟。
为了最终获得可产生最佳泛化性能的模型参数,每当验证集上的误差为新的最小值时,都应复制并保存模型参数。如果性能存在问题,则只能每N个步骤执行一次此检查。
在在线学习设置中,您将使用单个训练样本或少量训练样本的微型批次进行训练。您可以将覆盖您的总数据的所有样本/迷你批次的成功训练视为一个训练时期。
定义所谓的“ 早期停止标准”有多种可能性。例如,您可以在每个完整时期后在验证集上考虑迄今为止最好的RMS错误。如果没有M个时期的最佳选择,您将立即停止。根据问题的复杂程度,您必须选择足够高的M。您也可以从一个很小的M开始,每当获得新的最佳值时,就将M设置为达到该值所需的历元数。这取决于快速收敛或尽可能彻底更重要。
由于学习算法是爬山式的,因此您总是会遇到验证和/或训练错误暂时变大的情况。这意味着它会遍历错误表面上表现不好的区域,但必须通过以达到新的更好的最佳效果。如果您只是在两个后续步骤之间使验证或训练错误变得更严重时立即停止,那么您将过早地遇到次优解决方案。
| 归档时间: |
|
| 查看次数: |
1958 次 |
| 最近记录: |