我理解过拟合和欠拟合的直观含义。现在,假设有一个在训练数据上训练的特定机器学习模型,如何判断这个模型在训练过程中是过拟合还是欠拟合?是否有量化的方法来测量这些因素?
我们能否通过查看误差来判断模型是过拟合还是欠拟合?
回答:
你不应该查看训练数据上的误差,而只应查看验证数据上的误差。
一种常见的测试方法是尝试不同的模型复杂度,并观察误差随模型复杂度的变化。通常这些变化会呈现一个典型的曲线。起初,误差会迅速改善。接着会达到一个饱和点(此时模型表现良好),然后误差又开始增加,但这不是因为模型变得更好,而是因为过拟合。你希望模型处于饱和平台的低复杂度端,即能够提供合理泛化能力的最简单模型。