机器学习Machine Learning中的正则化

正则化(regularization)

简单来说,正则化的目的是为了在overfitting的情形下,通过加入惩罚参数,获得能够平衡bias和variance的一个有偏估计量。

bias和variance的tradeoff

在统计学中,我们的目的是为了得到数据的某些数字特征的估计,例如期望的极大似然估计。估计量是统计中的重要的研究对象,对于同一个待估计的参数,实际上可以得到很多不同的估计量,这里的估计量一般都是样本的函数。为了得到较好的估计,我们希望MSE(mean squared error )越小越好。MSE的计算公式
MSE的表达式如上图所示, θ ^ \hat{\theta} θ^ θ \theta θ的估计量,因此bias和variance有一个tradeoff,也就是,在MSE一定的情况下,当bias很小的时候,variance就会很大,当variance很小的时候,bias就会变高。下面这幅图的模拟结果能更好的说明这个问题。tradeoff

underfitting和overfitting一般是对应以下的情况。在这里插入
在underfitting时,variance显然很小,也就是你的拟合函数,估计量即使是更换一组新的样本也变化不大,例如常函数,而此时估计的bias就会相对较大。在overfitting的情形下,bias就会很小,但是是建立在牺牲了一定的variance的基础上,也就是更换样本会使得估计量的波动性很大。理想的估计是能够找到一个bias和variance的一个tradeoff。
以上就是regularization正则化要处理的问题,牺牲一定的bias,获得较小的variance,找到较好的估计量。

正则化

正则化的方法一般是通过在目标函数的基础上,加入一个惩罚项*惩罚系数。具体如下,假设损失函数不加惩罚的损失函数是 J ( ω ; X , y ) J\boldsymbol{(\omega;X,y)} J(ω;X,y),目的是为了最小化这个损失函数,得到好的估计量。正则化的方法一般是在此基础上,来优化下面这个损失函数,
J ~ ( ω ; X , y ) = J ( ω ; X , y ) + α Ω ( ω ) , \widetilde{J}\boldsymbol{(\omega;X,y)}=J\boldsymbol{(\omega;X,y)}+\alpha \varOmega(\boldsymbol{\omega}), J (ω;X,y)=J(ω;X,y)+αΩ(ω)
其中 X , y \boldsymbol{X,y} X,y是数据, ω \boldsymbol{\omega} ω是待估计的参数,也就是数据所服从的模型或者分布的某些特征值, Ω ( ω ) \varOmega(\boldsymbol{\omega}) Ω(ω) 是参数 ω \boldsymbol{\omega} ω的范数。
常见的正则化一般有以下三种,

  1. L 1 L_{1} L1惩罚,也叫LASSO;
  2. L 2 L_{2} L2惩罚,也叫岭回归;
  3. L 1 L_{1} L1 L 2 L_{2} L2惩罚的加权和,也叫弹性网。

L 1 L_{1} L1惩罚

特别地,当 Ω ( ω ) = ∣ ∣ ω ∣ ∣ 1 = ∑ i ∣ ω ∣ i \varOmega(\boldsymbol{\omega})=||\boldsymbol{\omega}||_{1}=\sum_{i}|\omega|_{i} Ω(ω)=ω1=iωi时,就是LASSO, L 1 L_{1} L1惩罚。因此所对应的目标函数是,
J ~ ( ω ; X , y ) = J ( ω ; X , y ) + α ∣ ∣ ω ∣ ∣ 1 . \widetilde{J}\boldsymbol{(\omega;X,y)}=J\boldsymbol{(\omega;X,y)}+\alpha ||\boldsymbol{\omega}||_{1}. J (ω;X,y)=J(ω;X,y)+αω1.
所对应的导数如下,
▽ ω J ~ ( ω ; X , y ) = ▽ ω J ( ω ; X , y ) + α s i g n ( ω ) . \bigtriangledown_{\omega}\widetilde{J}\boldsymbol{(\omega;X,y)}=\bigtriangledown_{\boldsymbol{\omega}}J\boldsymbol{(\omega;X,y)}+\alpha sign(\boldsymbol{\omega}). ωJ (ω;X,y)=ωJ(ω;X,y)+αsign(ω).
加入了 L 1 L_{1} L1惩罚之后是怎么使得bias增大,然后variance减小的呢?MSE又有什么变化呢?详细推导见以下。

  • [ S1] 对于目标损失函数, J ( ω ; X , y ) J\boldsymbol{(\omega;X,y)} J(ω;X,y) ω ∗ \omega^{\ast} ω处Taylor展开,得到以下的近似 J ^ \hat{J} J^,
    J ^ ( ω ) = J ( ω ∗ ) + ( ω − ω ∗ ) ′ ▽ ω J ( ω ; X , y ) ∣ ω = ω ∗ + \hat{J}(\boldsymbol{\omega})={J}(\boldsymbol{\boldsymbol{\omega}^{\ast}})+(\boldsymbol{\omega}-\boldsymbol{\omega}^{\ast})^{'}\bigtriangledown_{\boldsymbol{\boldsymbol{\omega}}}J\boldsymbol{(\boldsymbol{\omega};X,y)}|_{\boldsymbol{\omega}=\boldsymbol{\omega}^{\ast}}+ J^(ω)=J(ω)+(ωω)ωJ(ω;X,y)ω=ω+ ∑ i [ 1 2 H i i ( ω i − ω i ∗ ) 2 ] . \sum_i[\frac{1}{2}H_{ii}(\boldsymbol{\omega}_i-\boldsymbol{\omega}^{\ast}_i)^{2}]. i[21Hii(ωiωi)2].
    特别地,这里取 ω ∗ = a r g m i n ω ∗ J ( ω ) \boldsymbol{\omega}^{\ast}=argmin_{\boldsymbol{\omega}^{\ast}}J(\boldsymbol{\omega}) ω=argminωJ(ω),Hessian 矩阵是对角阵。此时的 ω ∗ \boldsymbol{\omega}^{\ast} ω就是没有加惩罚的估计量,此时,上式会变成, ▽ ω J ( ω ; X , y ) ∣ ω = ω ∗ = 0 \bigtriangledown_{\boldsymbol{\boldsymbol{\omega}}}J\boldsymbol{(\boldsymbol{\omega};X,y)}|_{\boldsymbol{\omega}=\boldsymbol{\omega}^{\ast}}=0 ωJ(ω;X,y)ω=ω=0,而上式会变成以下这种形式,
    J ^ ( ω ) = J ( ω ∗ ) + ∑ i [ 1 2 H i i ( ω i − ω i ∗ ) 2 ] . \hat{J}(\boldsymbol{\omega})={J}(\boldsymbol{\boldsymbol{\omega}^{\ast}})+ \sum_i[\frac{1}{2}H_{ii}(\boldsymbol{\omega}_i-\boldsymbol{\omega}^{\ast}_i)^{2}]. J^(ω)=J(ω)+i[21Hii(ωiωi)2].
    此时的尾项 ∑ i [ 1 2 H i i ( ω i − ω i ∗ ) 2 ] \sum_i[\frac{1}{2}H_{ii}(\boldsymbol{\omega}_i-\boldsymbol{\omega}^{\ast}_i)^{2}] i[21Hii(ωiωi)2]实际上就是一般情形下的渐近MSE, ( ω i − ω i ∗ ) (\boldsymbol{\omega}_i-\boldsymbol{\omega}^{\ast}_i) (ωiωi)是bias,而 H i i H_{ii} Hii是variance。如果是bias很小的估计量,那么方差就会很大。
  • [ S2] LASSO是在上面的目标函数的基础上,优化
    J ^ ( ω ) = J ( ω ∗ ) + ∑ i [ 1 2 H i i ( ω i − ω i ∗ ) 2 + α ∣ ω i ∣ ] . \hat{J}(\boldsymbol{\omega})={J}(\boldsymbol{\boldsymbol{\omega}^{\ast}})+ \sum_i[\frac{1}{2}H_{ii}(\boldsymbol{\omega}_i-\boldsymbol{\omega}^{\ast}_i)^{2}+\alpha|\omega_i|]. J^(ω)=J(ω)+i[21Hii(ωiωi)2+αωi].
    通过分类讨论,求导的方法,很容易可以得到 L 1 L_{1} L1惩罚下的估计量为,
    ω ~ i = s i g n ( ω i ∗ ) m a x { ∣ ω i ∗ ∣ − α H i i , 0 } . \widetilde{\omega}_i=sign({\omega}^{\ast}_i)max \left\lbrace |{\omega}^{\ast}_i|-\frac{\alpha}{H_{ii}},0\right\rbrace . ω i=sign(ωi)max{ωiHiiα,0}.
  • [ S3]证明 v a r ( ω ~ i ) &lt; v a r ( ω i ∗ ) . var(\widetilde{\omega}_i)&lt;var({\omega}_i^{\ast}). var(ω i)<var(ωi).
    ω i ∗ &gt; 0 {\omega}^{\ast}_i&gt;0 ωi>0时,有两种结果。第一种是,当 ω i ∗ ⩽ α H i i {\omega}_i^{\ast} \leqslant \frac{\alpha}{H_{ii}} ωiHiiα时,也就是 H i i H_{ii} Hii小的时候, ω ~ i = 0 \widetilde{\omega}_i=0 ω i=0,这也就是sparsity,而variance也是变为0了。第二种是,当 ω i ∗ &gt; α H i i {\omega}_i^{\ast} &gt;\frac{\alpha}{H_{ii}} ωi>Hiiα时,也就是 H i i H_{ii} Hii大的时候, v a r ( ω ~ i ) = v a r ( ω i ∗ − α H i i ) var(\widetilde{\omega}_i)=var({\omega}_i^{\ast}-\frac{\alpha}{H_{ii}}) var(ω i)=var(ωiHiiα) L 1 L_{1} L1惩罚没有让最优值变为0,但是收缩了 α H i i \frac{\alpha}{H_{ii}} Hiiα

L 2 L_{2} L2惩罚

岭回归实际上也可以得到以上的推导。不同的是, L 2 L_{2} L2惩罚下, ω ~ i = H i i H i i + α ω i ∗ \widetilde{\omega}_i=\frac{H_{ii}}{H_{ii}+\alpha}{{\omega}_i^{\ast} } ω i=Hii+αHiiωi,因此对于 H i i H_{ii} Hii小的时候,只要 ω ∗ {\omega}^{\ast} ω不为0, ω ~ \widetilde{\omega} ω 就不会是0。而LASSO 会直接变为0。
附上一张Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press. Page 232的对于 L 2 L_{2} L2惩罚的解释。
在这里插入图片描述
以上是关于正则化的目的及具体过程,关于计算的具体将在另一篇文章中给出。

[1]: Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning. MIT press.

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值