我应该在哪个时期停止训练以避免过度拟合
数据挖掘
机器学习
神经网络
深度学习
准确性
过拟合
2021-10-03 07:56:29
4个回答
“提前停止”是这里需要用到的概念。正如维基百科中提到的提前停止,
在机器学习中,早期停止是一种正则化形式,用于在使用迭代方法(例如梯度下降)训练学习器时避免过度拟合。这种方法会更新学习器,以使其在每次迭代时更好地拟合训练数据。在某种程度上,这提高了学习者在训练集之外的数据上的表现。然而,超过这一点,提高学习者对训练数据的拟合度是以增加泛化错误为代价的。早期停止规则提供了关于在学习器开始过度拟合之前可以运行多少次迭代的指导。早期停止规则已在许多不同的机器学习方法中采用,具有不同数量的理论基础。
在图中的 epoch > 280 处,验证准确度变得低于训练准确度,因此它成为过度拟合的情况。这里为了避免过拟合,不推荐进一步训练。但是,如果生成的验证准确度足以解决您正在处理的特定问题,您可以选择在训练和验证准确度匹配的时期之外训练模型。
继续训练,直到您的验证准确度饱和(或开始下降)。由于准确度增加缓慢,请尝试增加您的学习率参数eta以强制网络更快地收敛到最佳权重。但是请注意,如果您将其增加太多,它将变得不稳定。
如果您使用kerasor ,则此参数在回调tensorflow.keras中称为。patienceEarlyStopping
它等于没有验证准确度提高的 epoch 数以触发训练阶段的结束。我通常将其设置为 2 或 3,1 通常对噪音过于敏感。
其它你可能感兴趣的问题

