资讯

欠拟合是什么?模型太简单,连训练数据都没学好

2026-11-053 分钟阅读百科
TL;DR欠拟合(Underfitting)指模型过于简单或训练不足,无法捕捉数据中的真实规律,在训练集和测试集上的误差都很高,对应高偏差;可通过使用更复杂的模型、增加有用特征、减少正则化和延长训练等方法改善。

欠拟合(Underfitting)是指机器学习模型没有能够充分地学习到数据中的规律,以至于不仅在新的数据上表现不好,连在训练数据上的表现也不好。它与过拟合是一对相反的问题,两者都是模型泛化能力不佳的表现。

一个形象的比喻

如果说过拟合像一个只会死记硬背的学生,那么欠拟合就像一个学得太浅的学生:他只掌握了一点皮毛,平时的练习题做不好,考试也考不好。再看一个例子:一组数据点明显呈现出一条弯曲的抛物线的形状,如果我们只用一条直线去拟合它们,无论怎么调整这条直线的位置和斜率,都无法很好地贴合这些点,因为直线根本表达不了弯曲的关系。这条直线就欠拟合了。

怎么判断欠拟合

欠拟合的典型特征是:训练误差很高,验证误差或测试误差也很高,而且两者相差不大。这与过拟合不同:过拟合时训练误差很低,但验证误差高得多。从偏差-方差权衡的角度来看,欠拟合对应的是高偏差:模型的假设过于简单,与真实的规律之间存在系统性的偏离。在学习曲线上,欠拟合的表现是训练误差和验证误差都停留在一个较高的水平,并且很快趋于平稳,即使增加更多的训练数据,效果也不会有明显的改善,因为问题不在于数据不够,而在于模型的能力不够。

为什么会欠拟合

模型过于简单:比如用线性模型去处理明显非线性的问题,神经网络的层数和神经元太少,决策树的深度被限制得太浅。特征不足或质量太差:提供给模型的特征不能很好地反映问题的本质,缺少关键的信息。正则化太强:为了防止过拟合而施加了过强的约束,把模型限制得太死,反而让它学不到应有的规律。训练不充分:训练的轮数太少,模型还没有收敛,或者学习率设置不当,导致训练进展缓慢。

如何解决欠拟合

增加模型的复杂度:使用能力更强的模型,比如从线性模型换成多项式模型、决策树集成或神经网络;增加神经网络的层数和神经元数量;放宽对决策树深度的限制。改进特征:通过特征工程构造更有用的特征,比如加入特征之间的组合、对特征进行非线性变换,或者补充新的信息来源。减弱正则化:降低正则化系数、减少 Dropout 的比例。充分训练:增加训练的轮数,调整学习率和优化器的设置,确保模型充分收敛。

欠拟合与过拟合之间的平衡

需要注意的是,解决欠拟合的很多方法,如果用得过头,又会导致过拟合;反过来也一样。机器学习的关键在于找到一个合适的模型复杂度:既能充分地捕捉数据中的真实规律,又不会把偶然的噪声也记下来。在实践中,通常的做法是先确保模型能够在训练数据上取得较好的效果,也就是先解决欠拟合,再通过正则化、增加数据等方法来控制过拟合,同时用验证集来监控和选择合适的平衡点。在深度学习中,由于现代神经网络的能力通常非常强,欠拟合往往意味着训练出了问题,比如学习率不合适、数据处理有错误或者代码有缺陷,值得仔细检查。