训练一个模型的目的,是希望这个模型在预测中有好的表现,即预测值和真实值之间的差异尽可能小,这种差异称为误差(Error)
误差分为两种,一是在训练数据上误差,称为训练误差,也叫经验误差,二是在新样本上的误差,称为泛化误差。
我们训练一个模型想获得的理想结果是训练误差和泛化误差都比较小。最根本的目标还是希望泛化误差小,因为这表示模型对数据规律进行了充分学习,在实际预测中表现出色。
但在实际模型训练过程中,我们并不知道将要预测的新的样本是什么,也就无法直接获得泛化误差,实际能做的就是尽量减小训练误差。
减小训练误差有很多途径,但并不是训练误差越小越好,过小的训练误差往往预示了过拟合,在真实的预测过程中表现反而不好,也就是泛化误差较大。
所谓过拟合就是把非主要的、局部的、个例的特征当成了一般的规律,与之对应的是欠拟合,欠拟合是连一般的规律都没学到。
在机器学习中,欠拟合好解决,过拟合是模型训练要解决的关键问题。过拟合只能尽量减小,而不能避免。
因为数值模式已经是业务化运行的,模型训练的过程已经完成,我们模式检验的工作所要检验的误差并不是训练误差,而是泛化误差。