资讯

训练误差是什么?模型在训练数据上犯错的程度

2026-11-053 分钟阅读百科
TL;DR训练误差(Training Error)是模型在用于训练它的数据上的预测误差,反映模型对训练数据的拟合程度;它通常低于在新数据上的测试误差(泛化误差),训练误差高说明欠拟合,训练误差很低而测试误差高则说明过拟合,需结合验证集判断。

训练误差(Training Error)是指机器学习模型在训练数据上的误差,也就是模型对那些用来训练它的样本做出预测时,预测结果与真实答案之间的差距。它也常被称为经验误差或经验风险。与之相对的是测试误差或泛化误差,也就是模型在从未见过的新数据上的误差。

训练误差告诉我们什么

训练误差反映的是模型对训练数据拟合得好不好。在训练的过程中,优化算法的目标就是不断地降低训练误差,所以随着训练的进行,训练误差通常会逐渐下降。但是,我们训练模型的真正目的,并不是让它在已经见过的数据上表现好,而是让它在将来遇到的新数据上也能表现好。就像学生做练习题,练习题做得好不等于考试能考好:如果学生只是把练习题的答案背了下来,练习题能做对,换一道新题就不会了。因此,仅仅看训练误差是不够的,必须同时看模型在新数据上的表现。

训练误差与测试误差的关系

一般来说,训练误差会低于测试误差,因为模型在训练时已经“见过”了训练数据,针对它们进行了专门的调整。通过比较这两个误差,可以诊断模型存在的问题。

训练误差和测试误差都很高:说明模型连训练数据都没有学好,这是欠拟合。可能的原因是模型过于简单,无法捕捉数据中的规律,或者训练还不够充分、特征不够好。解决的办法是使用更复杂的模型、增加有用的特征、训练更长的时间、减少正则化的强度。

训练误差很低,但测试误差高得多:说明模型在训练数据上表现很好,却不能推广到新数据,这是过拟合。模型可能过于复杂,把训练数据中的噪声和偶然的规律也记了下来。解决的办法是收集更多的数据、使用正则化、简化模型、使用数据增强、采用早停等。

训练误差和测试误差都比较低,而且相差不大:说明模型拟合得比较好,泛化能力也不错,这是理想的状态。

学习曲线

在实践中,常常把训练误差和验证误差随训练轮数或训练数据量变化的曲线画出来,叫作学习曲线。随着训练轮数的增加,训练误差通常会持续下降;而验证误差一般先下降,到了某个时候又开始上升,这个转折点就是模型开始过拟合的地方。早停的方法就是在验证误差开始上升时停止训练,保留验证误差最低时的模型。

训练误差为零就好吗

传统的观点认为,把训练误差降到零往往意味着过拟合。但在深度学习中出现了一些有趣的现象:参数量非常大的神经网络,能够把训练误差降到零,甚至能把随机打乱的标签也完全记住,却依然可能在新数据上表现良好。研究者还发现了“双下降”现象:当模型的规模超过某个临界点之后,测试误差在上升之后会再次下降。这说明在超大规模的模型中,训练误差和泛化能力之间的关系比经典理论描述的更加复杂,是当前机器学习理论研究的一个热点。