机器学习Machine Learning中的正则化

本文围绕机器学习中的正则化展开,介绍其目的是在过拟合时通过加入惩罚参数,平衡bias和variance以获得有偏估计量。阐述了bias和variance的权衡关系,还介绍了正则化方法,重点分析了L1惩罚(LASSO)和L2惩罚(岭回归)对bias、variance及MSE的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正则化(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. L1L_{1}L1惩罚,也叫LASSO;
  2. L2L_{2}L2惩罚,也叫岭回归;
  3. L1L_{1}L1L2L_{2}L2惩罚的加权和,也叫弹性网。

L1L_{1}L1惩罚

特别地,当Ω(ω)=∣∣ω∣∣1=∑i∣ω∣i\varOmega(\boldsymbol{\omega})=||\boldsymbol{\omega}||_{1}=\sum_{i}|\omega|_{i}Ω(ω)=ω1=iωi时,就是LASSO,L1L_{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)+αsign(ω). \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(ω).
加入了L1L_{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[12Hii(ωi−ωi∗)2]. \sum_i[\frac{1}{2}H_{ii}(\boldsymbol{\omega}_i-\boldsymbol{\omega}^{\ast}_i)^{2}]. i[21Hii(ωiωi)2].
    特别地,这里取ω∗=argminω∗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[12Hii(ω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[12Hii(ω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,而HiiH_{ii}Hii是variance。如果是bias很小的估计量,那么方差就会很大。
  • [ S2] LASSO是在上面的目标函数的基础上,优化
    J^(ω)=J(ω∗)+∑i[12Hii(ω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].
    通过分类讨论,求导的方法,很容易可以得到L1L_{1}L1惩罚下的估计量为,
    ω~i=sign(ωi∗)max{∣ωi∗∣−αHii,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]证明var(ω~i)&lt;var(ω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∗⩽αHii{\omega}_i^{\ast} \leqslant \frac{\alpha}{H_{ii}}ωiHiiα时,也就是HiiH_{ii}Hii小的时候,ω~i=0\widetilde{\omega}_i=0ωi=0,这也就是sparsity,而variance也是变为0了。第二种是,当ωi∗&gt;αHii{\omega}_i^{\ast} &gt;\frac{\alpha}{H_{ii}}ωi>Hiiα时,也就是HiiH_{ii}Hii大的时候,var(ω~i)=var(ωi∗−αHii)var(\widetilde{\omega}_i)=var({\omega}_i^{\ast}-\frac{\alpha}{H_{ii}})var(ωi)=var(ωiHiiα)L1L_{1}L1惩罚没有让最优值变为0,但是收缩了αHii\frac{\alpha}{H_{ii}}Hiiα

L2L_{2}L2惩罚

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值