红色:训练集表现
绿色和蓝色:验证集表现
如果结果是红线和绿线,说明模型在训练集和测试集上表现一致,起码没有过拟合。
如果红线和绿线的准确率偏低,说明模型学习能力不行,不够复杂,需要增加模型的复杂度。
如果是红线和蓝线,说明出现了过拟合。
评价模型的学习能力,会有这样一些术语:Under fitting ove fitting /high bias / high vairance variance。我们就彻底解释一下这些术语的含义。
先给结论:
从模型预测表现来说,会有over fitting和under fitting两个现象。
两个现象的量化指标分别对应着variance和bias。
偏差高说明模型欠拟合;
方差高说明模型欠拟合。
偏差(bias)
我们评价模型的学习能力时,是从它的预测结果来看的。也就是预测值和真实值之间的差异程度。这个差异程度就是所谓的偏差。
如果模型的预测能力不行,自然偏差就会很大。
偏差评价的是模型越策的准确程度。
方差
还有一个评价角度,就是方差。
方差评价的是模型的抗干扰能力,或者说模型的稳定程度。
方差描述的是预测值的变化范围、离散程度。
一般来说,对于看起来很像的两个样本,我们对他们的预测结果应该也差不多。这是一个合理的要求。但如果不是这样,如果数据稍有变化,预测结果就有翻天覆地的变化,所谓差之毫厘目之千里。这就说明模型的抗干扰能力很差,术语就是模型过拟合了。
方差说的是数据扰动对于模型预测结果的影响,评价的是模型的抗干扰能力。方差越大,预测结果的分布越分散。
为了便于理解,我们用学生学习考试为例说明。
学生的under fitting
如果说,一个学生的智商不行,那么不管怎么学习,考试成绩都不会好。表现出来的是,不管题目难还是容易,都考不好。也有可能学习的内容过于超前了,比如让小学生学习微积分,即使智力再好,也会很吃力。
这种情况,就是我们所说的underfitting,也就是模型的预测能力不行。原因就是模型的复杂度不够、或者模型参数不够。
学生的over fitting
还有一种情况,一个学生的智商很高,过目不忘,但是学习上爱耍小聪明,他就把所有看过的题目的答案都记下来了,但是不去真正的学习。
所以在考试时,如果考题和他见过的题一模一样,那他会考的很好,甚至满分。一旦题目稍有变化,他就不灵了。不管题目容易还是难,他都会挂掉。
这种情况对应的就是所谓的over fitting。就是模型可能对那些和训练样本一模一样的测试样本预测结果非常好,但是样本稍有变化,模型的预测结果就会差之千里。
解决方法
对于underfitting,我们应该考虑增加模型的复杂度,比如把线性变成非线性。
对于overfitting,我们应该考虑增加样本量,或者加入 正则项。我们通常不会用降低模型复杂度的方式去解决overfitting的问题,就像对于那些极聪明的学生,我们不是去压制他们的能力,而是纠正他们的学习态度。
结论
欠拟合:说明模型的学习能力不行,或者说模型复杂程度不够,就像一个小学生非让他学习高中的内容,所以它再怎么努力,也是学不到满意结果的。就像本来是一个二次曲线问题,非要用一个线性模型去拟合,怎么也得不到满意效果。这时表现的是高偏差,也就是预测结果和真实结果偏离太远。
而underfitting,是说这个学生成绩很糟,不管难题还是简单题,都很糟,因为就是学习能力有限,脑子不够聪明。
过拟合:说的是一个人可能非常聪明,记忆力非常好,所以它不是好好学习,而是把给它的所有的数据(或者练习题、答案)都记住,这时,如果遇到的考题是一模一样的,那他答得就会很好,如果考题稍有变化,那就一团糟。对模型来说,就是模型过于复杂。
这时表现是高方差,其实说的就是x稍有变化,y就有巨大变化。很难评价这个人学得怎么样,难题、简单题都可能回答正确或者错误,只要他曾经遇到过这样的练习题。