机器学习中,为防止出现过拟合现象,会采用正则化的方法进行优化。首先过拟合问题的产生是由于模型过于复杂化,把一些特有的属性泛化了造成的,正则化则是修正这个过拟合过程的一种方法,那么,其背后的数学意义?
正则化的目的是限制参数过多或者过大,避免模型更加复杂。例如,本来y=ax1+bx2能解决的问题,却使用 20 阶多项式,模型过于复杂了,就容易发生过拟合。所以,为了防止过拟合,我们可以将其高阶部分的权重 w 限制为 0,这样,就相当于从高阶的形式转换为低阶。
为达到这一目的,我们可以直接限制w的个数,但是这类条件属于 NP-hard 问题,求解困难。所以,可以寻找更宽松的限定条件:
[图片上传失败...(image-7dcf42-1581565336060)]
为表示简单,我们以L1正则化为例,并选取二维坐标,即W={W1,W2},其中参数C下文会讲。根据拉格朗日函数,我们的损失函数公式变为:
其中,lambda可以看作惩罚系数,那么如何惩罚呢?看下图
红色椭圆区域是前部分公式的区域,蓝色圆圈是 w 的限定条件区域,其中与坐标轴的交点就是参数C。在没有限定条件的情况下,一般使用梯度下降算法,在红色椭圆区域内会一直沿着 虚线椭圆方向前进,直到找到全局最优值(红点处,也就是过拟合参数) 。由于存在限定条件,w 不能离开蓝色圆形区域,最多只能位于圆上边缘位置(也就是当梯度下降椭圆与蓝色边界相切时最小,此时椭圆不能再小了)沿着切线方向。这样就把w的取值限制在了蓝色方框与红色椭圆的交叉部分,在未找到过拟合参数的时候就停下了,以达到防止过拟合的目的。
现在再来看看lambda惩罚系数的作用。由上面的公式,我们可以得到
这样的lambda的作用就显而易见了,如上图,在C1基础上,增大lambda则变成了虚线C2的情况,此时C2与红色椭圆区域的交叉部分减小了,相应的w取值范围也减少了,也就是说,C1情况下,梯度下降函数可能循环100次达到最优,而C2情况下,梯度下降函数循环了20次就达到最优了,显然后者的过拟合概率更低,从而达到了防止过拟合的作用。
L1与L2的区别
L1与L2正则化都有助于降低过拟合风险,但L1比后者更容易获得"稀疏"解,也就是说w会有更多的0分量。不难理解,当梯度下降曲线与L1只有一个交点的话,那很有可能在坐标轴上,而L2因为是一个中心圆,与梯度下降曲线的交点是在各象限内,所以在高维情况下,前者w会获取更多的0,这就是所谓的稀疏解。
换言之,L1正则化就是一种嵌入式特征选择方法,可以通过w=0减少特征的选取,其特征选取过程与学习器训练过程融为一体,同时完成。
此外,L1正则化也被称为Lasso回归,L2正则化被称为岭回归。