过拟合是模型把训练数据的细节甚至噪声都背了下来,训练集表现极好,换新数据就崩。欠拟合则是模型太简单,连训练集的规律都没学到,两边表现都差。两种病方向相反,解法也不同。
判断过拟合看训练和验证表现的差距:训练高分、验证低分,差距大就是过拟合信号。欠拟合则表现为两者都低,且增加模型复杂度后仍在低位徘徊。
缓解过拟合的办法很多:增加数据、做数据增强、加正则化、用早停、降低模型复杂度、使用 dropout 等。核心思路是限制模型死记硬背的能力。
缓解欠拟合则要提升表达能力:换更强模型、增加有用特征、减少过强正则、训练更充分。实践中先确认没有数据泄漏,再谈模型复杂度,否则方向从一开始就错了。