深入理解L1、L2正则化

深入理解L1、L2正则化

转自:【面试看这篇就够了】L1、L2正则化理解

一、概述

正则化(Regularization)是机器学习中一种常用的技术,其主要目的是控制模型复杂度,减小过拟合。正则化技术已经成为模型训练中的常用技术,在面试中,经常会遇到面试官问此题。由于正则化已经成为一种标准的技术,日常使用中往往都是直接用,而没有特别了解背后的原理。而如果面试中回答得不够好,或者没回答清楚,就会非常影响面试结果。因此非常有必要将此题弄清楚。本文便是秉承着这样的一种目的,给大家详尽而又彻底地讲解这个问题。遇到面试的时候,看这篇文章就够用了。

最基本的正则化方法是在原目标(代价)函数 中添加惩罚项,对复杂度高的模型进行“惩罚”。其数学表达形式为
J ~ ( ω ; X , y ) = J ( ω ; X , y ) + α Ω ( ω ) \widetilde{J}(\omega;X,y)={J}(\omega;X,y)+\alpha\Omega(\omega) J (ω;X,y)=J(ω;X,y)+αΩ(ω)
式中 X X X y y y 为训练样本和对应标签, ω \omega ω 为权重系数的向量, J ( ⋅ ) J(\cdot) J() 为目标函数, Ω ( ω ) \Omega(\omega) Ω(ω) 即为惩罚项,可理解为模型“规模”的某种度量,参数 α \alpha α 用于控制正则化的强弱。不同的 Ω ( ⋅ ) \Omega(\cdot) Ω() 函数对权重 ω \omega ω 的最优解有不同的偏好,因而会产生不同的正则化效果。最常用的 Ω \Omega Ω 函数有两种,即 L 1 L_1 L1 范数和 L 2 L_2 L2 范数,相应称之为 L 1 L_1 L1 / L 2 L_2 L2 正则化。

L 1 L_1 L1 正则化是指权重向量 ω \omega ω 中各个元素绝对值之和:
Ω ( ω ) = ∣ ∣ ω ∣ ∣ 1 = ∑ i ∣ ω i ∣ \Omega(\omega)=||\omega||_1=\sum_i|\omega_i| Ω(ω)=∣∣ω1=iωi
L 2 L_2 L2 正则化是指权重向量 ω \omega ω 中各个元素的平方和:
Ω ( w ) = ∣ ∣ ω ∣ ∣ 2 = ∑ i ω i 2 \Omega(w)=||\omega||_2=\sum_i\omega^2_i Ω(w)=∣∣ω2=iωi2

二、对 L 1 L_1 L1 L 2 L_2 L2 的理解方式

本小节将从不同的方式对 L 1 L_1 L1 L 2 L_2 L2 进行讲解,方便读者对 L 1 L_1 L1 L 2 L_2 L2 的作用有一个更深的理解。同时在面试的时候,也可以更加从容地回答面试官的问题。本人通过阅读、总结网络上的各种文章,提供5种理解方式:

  1. 正则化理解之最大后验概率估计
  2. 正则化理解之梯度
  3. 正则化理解之等高线图
  4. 正则化理解之数学公式解析
  5. 正则化理解之结构风险最小化

1 正则化理解之最大后验概率估计

最大似然估计中,假设权重 ω \omega ω 是位置的参数,有对数似然函数:
L ( ω ) = l n [ P ( y ∣ X ; ω ) ] = l n ∏ i P ( y i ∣ x i ; ω ) L(\omega)=ln[P(y|X;\omega)]=ln\prod_iP(y^{i}|x^i;\omega) L(ω)=ln[P(yX;ω)]=lniP(yixi;ω)
通过假设 y i y^i yi 不同的概率分布,可得到不同的模型。例如假设 y i ∼ N ( ω T x i , σ 2 ) y^i\sim N(\omega^Tx^i,\sigma^2) yiN(ωTxi,σ2) 的高斯分布,则有:
L ( ω ) = l n ∏ 1 2 π σ e − ( y i − ω T x i ) 2 2 σ 2 = − 1 2 σ 2 ∑ i ( y i − ω T x i ) 2 + C L(\omega)=ln\prod \frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(y^i-\omega^Tx^i)^2}{2\sigma^2}}=-\frac{1}{2\sigma^2}\sum_i(y^i-\omega^Tx^i)^2+C L(ω)=ln2π σ1e2σ2(yiωTxi)2=2σ21i(yiωTxi)2+C
式中 C C C 为常数项,由于常数项和系数项不影响 m a x L ( ω ) maxL(\omega) maxL(ω) 的解,因而可令 J ( ω ; X , y ) = − L ( ω ) J(\omega;X,y)=-L(\omega) J(ω;X,y)=L(ω) 即可得到线性回归的代价函数。

最大后验概率估计中,则将权重 ω \omega ω 看做随机变量,也具有某种分布,从而有:
P ( ω ∣ X , y ) = P ( ω , X , y ) P ( X , y ) = P ( X , y ∣ ω ) P ( ω ) P ( X , y ) ∝ P ( y ∣ X , ω ) P ( ω ) P(\omega|X,y)=\frac{P(\omega,X,y)}{P(X,y)}=\frac{P(X,y|\omega)P(\omega)}{P(X,y)}\propto P(y|X,\omega)P(\omega) P(ωX,y)=P(X,y)P(ω,X,y)=P(X,y)P(X,yω)P(ω)P(yX,ω)P(ω)
同样取对数有:
M A P = l n P ( y ∣ X , ω ) P ( ω ) = l n P ( y ∣ X , ω ) + l n P ( ω ) MAP=lnP(y|X,\omega)P(\omega)=lnP(y|X,\omega)+lnP(\omega) MAP=lnP(yX,ω)P(ω)=lnP(yX,ω)+lnP(ω)
可以看出后验概率函数未在似然函数的基础上增加了一项 l n P ( ω ) lnP(\omega) lnP(ω) P ( ω ) P(\omega) P(ω) 的意义是对权重系数 ω \omega ω 的概率分布的先验假设,在收集到训练样本 { X , y } \{X,y\} {X,y} 之后,则根据 ω \omega ω { X , y } \{X,y\} {X,y} 下的后验概率对 ω \omega ω 进行修正,从而对 ω \omega ω 做出更好的估计。

若假设 ω j \omega_j ωj 的先验分布为 0 均值的高斯分布,即 ω j ∼ N ( 0 , σ 2 ) \omega_j\sim N(0,\sigma^2) ωjN(0,σ2) ,则有:
l n P ( ω ) = l n ∏ j P ( ω j ) = l n ∏ j 1 2 π σ e − ω j 2 2 σ 2 = − 1 2 σ 2 ∑ j ω j 2 + C ′ lnP(\omega)=ln\prod_jP(\omega_j)=ln\prod_j\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{\omega_j^2}{2\sigma^2}}=-\frac{1}{2\sigma^2}\sum_j\omega_j^2+C' lnP(ω)=lnjP(ωj)=lnj2π σ1e2σ2ωj2=2σ21jωj2+C
可以看到,在高斯分布下 l n P ( ω ) lnP(\omega) lnP(ω) 的效果等价于在代价函数中增加 L 2 L_2 L2 正则项。

若假设 ω j \omega_j ωj 服从均值为 0、参数为 a a a 的拉普拉斯分布,即:
P ( ω j ) = 1 2 a e − ∣ ω j ∣ a P(\omega_j)=\frac{1}{\sqrt{2a}}e^{\frac{-|\omega_j|}{a}} P(ωj)=2a 1eaωj
则有:
l o g P ( ω ) = l o g ∏ j 1 2 a e − ∣ ω j ∣ a = − 1 a ∑ j ∣ w j ∣ + C ′ logP(\omega)=log\prod_j\frac{1}{\sqrt{2a}}e^\frac{-|\omega_j|}{a}=-\frac{1}{a}\sum_j|w_j|+C' logP(ω)=logj2a 1eaωj=a1jwj+C
可以看到,在拉普拉斯分布下 l n P ( ω ) lnP(\omega) lnP(ω) 的效果等价于在代价函数中增加 L 1 L_1 L1 正则项。

故此,我们得到对于 L 1 L_1 L1 L 2 L_2 L2 正则化的第一种理解:

  • L 1 L_1 L1 正则化可通过假设权重 ω \omega ω 的先验分布为拉普拉斯分布im,由最大后验概率估计导出;
  • L 2 L_2 L2 正则化可通过假设权重 ω \omega ω 的先验分布为高斯分布,由最大后验概率估计导出。

在这里插入图片描述

2 正则化理解之梯度

L 1 L_1 L1 ω \omega ω 绝对值之和。当 ω \omega ω 大于 0 时,梯度式中为正常数,更新的参数 ω \omega ω 变小;当 ω \omega ω 小于 0 时,梯度始终为负常数,更新的参数 ω \omega ω 变大;所以, L 1 L_1 L1 正则化容易使参数变为 0 ,即特征稀疏化。

L 2 L_2 L2 ω \omega ω 平方和。当 ω \omega ω 趋向于 0 时,参数减小得非常缓慢,因此 L 2 L_2 L2 正则化是参数减小到很小的范围,但不为 0 。

3 正则化理解值等值线图

易得,略。

4 正则化理解之数学公式解析

假设原目标函数 J ( ω ) J(\omega) J(ω) 的最优解 ω ∗ \omega^* ω ,并假设其为二阶可导,将 J ( ω ) J(\omega) J(ω) ω ∗ \omega^* ω 处进行二阶泰勒展开:
J ~ ( ω ) = J ( ω ∗ ) = 1 2 ( ω − ω ∗ ) T H ( ω − ω ∗ ) \widetilde{J}(\omega)=J(\omega^*)=\frac{1}{2}(\omega-\omega^*)^TH(\omega-\omega^*) J (ω)=J(ω)=21(ωω)TH(ωω)
式中 H H H J ( ω ) J(\omega) J(ω) ω ∗ \omega^* ω 处的 Hessian 矩阵,注意 ω ∗ \omega^* ω J ( ω ) J(\omega) J(ω) 的最优解,其一阶导数为 0,因而式中无一阶导数项。 J ~ ( ω ) \widetilde{J}(\omega) J (ω) 取得最小值时有:
∇ ω J ~ ( ω ) = H ( ω − ω ∗ ) = 0 \nabla_\omega\widetilde{J}(\omega)=H(\omega-\omega^*)=0 ωJ (ω)=H(ωω)=0
由于 L 2 L_2 L2 正则化的目标函数为在 J ( ω ) J(\omega) J(ω) 中添加 Ω ( ω ) = 1 2 α ∣ ∣ ω ∣ ∣ 2 2 = 1 2 α ω T ω \Omega(\omega)=\frac{1}{2}\alpha||\omega||^2_2=\frac{1}{2}\alpha\omega^T\omega Ω(ω)=21α∣∣ω22=21αωTω ,因而有:
∇ ω J ~ ( ω ) = ∇ ω J ^ ( ω ) + ∇ ω Ω ω = H ( ω − ω ∗ ) + α ω \nabla_\omega\widetilde{J}(\omega)=\nabla_{\omega}\hat{J}(\omega)+\nabla_\omega\Omega_\omega=H(\omega-\omega^*)+\alpha\omega ωJ (ω)=ωJ^(ω)+ωΩω=H(ωω)+αω
设其最优解为 ω ~ \widetilde{\omega} ω ,则有:
H ( ω ~ − ω ∗ ) + α ω ~ = 0 H(\widetilde{\omega}-\omega^*)+\alpha\widetilde{\omega}=0 H(ω ω)+αω =0

ω ~ = ( H + α I ) − 1 H ω ∗ \widetilde{\omega}=(H+\alpha I)^{-1}H\omega^* ω =(H+αI)1Hω

由于 H H H 是对称矩阵,可对其做特征值分解,即 H = Q Λ Q − 1 H=Q\Lambda Q^{-1} H=QΛQ1 ,其中 Q Q Q 为正交矩阵,且每一列为 H H H 的特征向量,代入上式有:
ω ~ = Q ( Λ + α I ) − 1 Λ Q T ω ∗ \widetilde{\omega}=Q(\Lambda+\alpha I)^{-1}\Lambda Q^T\omega^* ω =Q(Λ+αI)1ΛQTω
其中 Λ \Lambda Λ 为对角矩阵,其对角线元素为 H H H 的特征值 λ j \lambda_j λj

ω ∗ \omega^* ω 可以 Q Q Q 为正交基上做线性展开,由上式可知 ω ~ \widetilde{\omega} ω ω ∗ \omega^* ω H H H 的每个特征向量上的分量以 λ j λ j + α \frac{\lambda_j}{\lambda_j+\alpha} λj+αλj 比例缩放得到。若 λ j ≫ α \lambda_j\gg\alpha λjα ,则 ω j \omega_j ωj 受正则化的影响较小;若 λ ≪ α \lambda\ll\alpha λα ,则 ω j ∗ \omega_j^* ωj 受正则化的影响较大,将收缩到接近于 0 的值。同时,若 ω j ∗ ≠ 0 \omega^*_j\ne0 ωj=0 ,则 ω ~ j ≠ 0 \widetilde{\omega}_j\ne0 ω j=0 ,因而 L 2 L_2 L2 正则化不会产生稀疏性的效果。

对于 L 1 L_1 L1 正则化,只需将 Ω ( ω ) \Omega(\omega) Ω(ω) 替换为 ω \omega ω L 1 L_1 L1 范数,同理可以得到:
∇ ω J ~ ( ω ) = ∇ J ^ ( ω ) + ∇ ω Ω ( ω ) = H ( ω − ω ∗ ) + α s i g n ( ω ) \nabla_\omega\widetilde{J}(\omega)=\nabla\hat{J}(\omega)+\nabla_\omega\Omega(\omega)=H(\omega-\omega^*)+\alpha sign(\omega) ωJ (ω)=J^(ω)+ωΩ(ω)=H(ωω)+αsign(ω)
其最优解满足:
H ( ω ~ − ω ∗ ) + α s i g n ( ω ~ ) = 0 H(\widetilde{\omega}-\omega^*)+\alpha sign(\widetilde{\omega})=0 H(ω ω)+αsign(ω )=0
为了简化讨论,我们假设 H H H 为对角阵,即 H = d i a g [ H 11 , H 22 , … , H n n ] H=diag[H_{11},H_{22},\dots,H_{nn}] H=diag[H11,H22,,Hnn] H j j > 0 H_{jj}>0 Hjj>0 。此时 ω \omega ω 的不同分量之间没有相关性,该假设可通过对输入特征进行预处理(如使用 PCA)得到,此时 ω ~ \widetilde{\omega} ω 的解为:
ω ~ = s i g n ( ω j ∗ ) m a x { ∣ ω j ∗ ∣ − α H j j , 0 } \widetilde{\omega}=sign(\omega_j^*)max\{|\omega_j^*|-\frac{\alpha}{H_{jj}},0\} ω =sign(ωj)max{ωjHjjα,0}
∣ ω j ∗ ∣ ≤ α H j j |\omega^*_j|\le \frac{\alpha}{H_{jj}} ωjHjjα 时,可知 ω ~ j = 0 \widetilde{\omega}_j=0 ω j=0 ,因而 L 1 L_1 L1 正则化会使得最优解的某些元素为 0,从而产生稀疏性; ∣ ω j ∗ ∣ ≥ α H j j |\omega^*_j|\ge \frac{\alpha}{H_{jj}} ωjHjjα 时, ω ~ j \widetilde{\omega}_j ω j 会在原有最优解上偏移一个常数值。

综上, L 2 L_2 L2 正则化的效果是对原最优解的每个元素进行不同比例的放缩; L 1 L_1 L1 正则化则会使原最优解的元素产生不同量的偏移,并使得某些元素为 0,从而产生稀疏性。

5 正则化理解之结构风险最小化

在经验风险最小化(也就是训练误差最小化)的基础上,尽可能采用简单的模型(奥卡姆剃刀理论),以此提高泛化预测精度。

  • L 1 L_1 L1 从参数个数的角度去衡量模型的复杂度
  • L 2 L_2 L2 从参数值的大小的角度去衡量模型的复杂度

三、 L 1 L_1 L1 L 2 L_2 L2 的适用场景

由于 L 1 L_1 L1 L 2 L_2 L2 的特点,因此他们有各自不同的适用场景。

  • L 1 L_1 L1 :使模型中尽可能多的参数值为 0,是一种从改变模型结构的角度(减少模型参数的数量)解决过拟合的方式。因此适用于:模型剪枝、模型压缩、特征选择
  • L 2 L_2 L2 :使模型中所有的参数值尽可能小,是的模型尽量不依赖于某几个特殊的特征,而是使得每个特征得到尽量均衡的权重,即从参数分布(让分布尽可能地均匀)的角度,解决过拟合问题,这也是常用的解决过拟合的方式。因此适用于解决一般的过拟合问题

引用

MrLi:深入理解L1、L2正则化

bingo酱:L1正则化与L2正则化

落落大方的发卡:拉普拉斯分布

张小磊:极大似然估计与最大后验概率估计

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值