过拟合 (overfit) 与欠拟合 (underfit) 问题是机器学习过程中经常遇到的问题。L2正则化、Dropout正则化等等是解决过拟合问题最常使用的方法
要解释过拟合,需要借用一张Andrew Ng的课件:
要通俗且形象地解释的话,欠拟合就像是考前复习不足的人,书都没看全,自然很难考好。而过拟合现象就像是书呆子,将做过的题目全都背下,但缺乏举一反三的能力,碰到做过的题,那么他就会做,但是改个问法就傻了。
考驾照,驾考时教练一般会让你看准许多的记号,然后机械地打方向盘,然而这样即使拿到的驾照,也无法立即上路,这就是过拟合问题。
L2正则化就是在原来的损失函数上,再加上一项参数的二范式
第二项又称作弗罗贝尼乌斯范数(Frobenius norm)的平方
将新的损失函数对参数求梯度得
使用梯度下降更新参数
其中α、λ是两个超参数,α是学习率,而λ负责调节L2正则化过程
通俗的解释,产生过拟合问题的根本原因是模型试图记住的参数太多,导致其举一反三的能力减弱,而通过L2正则化,导致很多的参数会变得很小,对模型的影响力降低,相当于降低了模型的复杂程度,提高了泛化能力。
还有一种比较通俗的解释,来自Andrew Ng
我们的所常用的激活函数sigmoid、tanh是长这样的
如果控制参数较小,那么中间层输出的参数也会很小,就会集中在中间导数相对于稳定的位置,也就是限制了分类模型过分的扭曲。
原文地址