过拟合(overfit)是深度学习乃至机器学习过程中的又一大问题,通常的解决方法为L2正则化、Dropout正则化等等
要解释过拟合,需要借用一张Andrew Ng的课件:
- 三附图中的左图,模型过于简单,偏差较大,无法很好的拟合非线性的分类问题,出现欠拟合(underfit)问题,一般需要增加网络层数,增加隐藏层神经元个数来解决。这种问题一般表现为训练集与验证集损失函数值都较大;
- 右图,过于贴合训练集,方差较大,称作过拟合(overfit)问题,过拟合问题一般表现为训练集损失函数值较小,但是验证集的损失函数较大。即训练出的模型太过死板,而无法解决训练集以外的数据;
- 中间表示刚好的情况,一般训练集与验证集损失函数值都较小
要通俗且形象地解释过拟合现象就是——书呆子,将做过的题目全都背下,但缺乏举一反三的能力,碰到做过的题,那么他就会做,但是改个问法就傻了。
有个更加有意思的说法就是——考驾照,驾考时教练一般会让你看准许多的记号,然后机械地打方向盘,然而这样即使拿到的驾照,也无法立即上路。