正则项:L1-norm和L2-norm

前言

对于有监督学习任务而言,它的目标函数函数往往具有如下的格式:

                                                          

其中红色部分表示数据拟合项(损失项),它度量了用模型f(x,theta)来拟合数据标签y时所带来的偏差(error/loss);绿色的部分则是模型正则项,它度量了模型的复杂度。因此上述格式的目标函数蕴含着:我们期望得到的模型f(x,theta)既能够很好地拟合/解释数据,同时模型本身不要太复杂!机器学习中,常见的损失函数

                                       

常见的正则项有:

                                                                     

一些典型p值对应的正则项的可视化图像如下:

                                                

例子-回归

假定我们有10个点,需要寻找一个合适的多项式模型来拟合它们。数据分布如a)所示:

我们选定的模型是一个M次多项式:

                                                      

优化的目标函数为:

                                                                           

当M=0,3, 9时对应的拟合曲线如图b), c), d)所示。显然,如果只是为了拟合这10个点,9次多项式拟合得最好,0次多项式最差;但是,如果我们拿学习到的多项式去预测跟上述10个点同分布的数据时,我们往往会选择3次而不是9次多项式,因为9次多项式过于复杂,未能抓住数据的本质规律。下图展示了学习到的多项式的各系数:

                                                              

从系数的尺度可以看出,当x有少许扰动(变化)时,9次多项式的输出值将会有很大的波动,直觉上,这不符合我们对数据集的认知!如果我们将正则项加入目标函数:

                                                               

以M=9为例,下图给出了9次多项式在lamda取不同值时的拟合曲线:

                          

对应的多项式的各系数为:

                                                                       

可以看出,随着lambda的增大,多项式系数不断减小,多项式曲线的变化也越来越平缓,模型的拟合能力也不断下降!

先验分布

贝叶斯视角来看正则项,它是人们对参数的先验(prior)认知:

                                                                          

其中,p(theta)表示参数的先验分布,p(Y,X|theta)表示似然函数,p(theta|X,Y)表示参数的后验分布。进一步,取负对数:

                                                           

特别地,如果theta的先验分布为高斯(Gaussian)分布N(theta|0, sigma):

                                                         

如果theta的先验分布为拉普拉斯(Laplacian)分布L(theta|0, sigma):

                                                         

下图给出了0均值不同方差、尺度参数的高斯分布和拉普拉斯分布:   

                                                         

可以看出:当Laplacian分布的尺度因子sigma与Gaussian分布的标准差相同时,在x=0附近区域laplacian密度曲线始终位于gaussian密度曲线之上!                             

稀疏性

  • 梯度视角

       考虑只有一个参数theta的情形,此时在损失函数中加入L1或者L2正则项:

                                                            

       对于L2正则项,J(theta)在theta=0处的导数为:

                                                                                

       若l'(0) ≠ 0,则J'(0) ≠ 0.意味着加入L2-norm之后对损失函数在theta=0处的导数没有影响。

       对于L1正则项,J(theta)在theta=0处的导数为:

                                                                              

       如果lambda > |l'(0)|,由于J'(theta)在theta=0两侧符号有变化[具体地,当theta从-0到+0的过程中,J'(theta)由负变正],从而导致J(theta)更容易[更高的概率]在theta=0处取得极小值,从而L1比L2更容易获得稀疏解。高维情形类似!

       另一方面,二者的参数更新方式如下:

                                                             

                                                         

                                                  

对于L1-norm和L2-norm,在利用梯度下降进行参数更新时,前者更新eta*lambda*sign(theta),而后者更新eta*lambda*theta。当theta ∈ 【1,+inf),L2-norm获得了更快的减小速率;当theta ∈ (0,1),L1-norm获得更快的减小速率,并且,当theta越小,L1更容易接近于0,而L2则非常缓慢地靠近0。因此,L1比L2更容易获得稀疏解!           

  • 先验视角

                                                       

       通过前面的先验分布模块的讨论,我们已经知道对参数𝜃加L1-norm,本质上式假设它服从Laplacian分布,加L2-norm,本质上是假设它服从Gaussian分布。结合上图来看:

  • |𝜃𝜇|>𝛽【A点左侧区域、D点右侧】区域,P_L(θ) > P_G(θ).这意味着Gaussian分布的取值更加集中在均值附近【smooth】,不太允许【概率角度】theta的取值远离均值,而Laplacian分布则不然,它在一定程度上允许𝜃的取值远离均值,这也就是机器学习、统计学中著名的Laplacian-后尾效应.
  • 𝛼<|𝜃𝜇|<𝛽【AB、CD】区域内,P_L(θ)<P_G(θ).这意味着Gaussian分布在该区域取值的概率更大,因此𝜃会有更多的分量的值位于该区域;
  • |𝜃𝜇|< 𝛼BC】区域内,P_L(θ) > P_G(θ).这意味在该区域内,相对于𝜃~Gaussian,𝜃~Laplacian分布,它会以更高的概率取0或者足够接近0的值,这也就是L1-norm具有更稀疏的解的本质原因!      

参考文献

   [1]. https://www.zhihu.com/question/37096933/answer/70426653

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ReLuJie

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值