L1正则化、L2正则化的公式如下

min ⁡ w L 1 ( w ) = min ⁡ w f ( w ) + λ n ∑ i = 1 n ∣ w i ∣ min ⁡ w L 2 ( w ) = min ⁡ w f ( w ) + λ 2 n ∑ i = 1 n w i 2 \min_wL_1(w)=\min_w f(w)+\frac{\lambda}{n}\sum_{i=1}^n|w_i|\\ \min_wL_2(w)=\min_wf(w)+\frac{\lambda}{2n}\sum_{i=1}^nw_i^2 wmin​L1​(w)=wmin​f(w)+nλ​i=1∑n​∣wi​∣wmin​L2​(w)=wmin​f(w)+2nλ​i=1∑n​wi2​

从优化问题的视角来看

min ⁡ x L ( w ) < = > min ⁡ w f ( w ) s . t . ∑ i = 1 n ∣ w i ∣ < C \min_xL(w)<=> \min_w f(w)\\ s.t. \sum_{i=1}^n|w_i|<C xmin​L(w)<=>wmin​f(w)s.t.i=1∑n​∣wi​∣<C

L1正则的限制条件,在坐标轴上显示则是一个正方形,与坐标轴的交点分别是(0,C),(C,0),(0,-C),(-C,0)

L2正则的限制条件,在坐标轴上显示则是一个圆,与坐标轴的交点分别是(0,C),(C,0),(0,-C),(-C,0)

从梯度视角来看

∂ L 1 ( w ) ∂ w i = ∂ f ( w ) ∂ w i + λ n s i g n ( w i ) w i ′ = w i − η ∂ L 1 ( w ) ∂ w i w i ′ = w i − η ∂ f ( w ) ∂ w i − η λ n s i g n ( w i ) \frac{\partial L_1(w)}{\partial w_i}=\frac{\partial f(w)}{\partial w_i}+\frac{\lambda}{n}sign(w_i)\\ w_i^{'}=w_i - \eta \frac{\partial L_1(w)}{\partial w_i}\\ w_i^{'}=w_i - \eta \frac{\partial f(w)}{\partial w_i} - \eta \frac{\lambda}{n}sign(w_i) ∂wi​∂L1​(w)​=∂wi​∂f(w)​+nλ​sign(wi​)wi′​=wi​−η∂wi​∂L1​(w)​wi′​=wi​−η∂wi​∂f(w)​−ηnλ​sign(wi​)

∂ L 2 ( w ) ∂ w i = ∂ f ( w ) ∂ w i + λ n w i w i ′ = w i − η ∂ L 2 ( w ) ∂ w i w i ′ = w i − η ∂ f ( w ) ∂ w i − η λ n w i \frac{\partial L_2(w)}{\partial w_i}=\frac{\partial f(w)}{\partial w_i}+\frac{\lambda}{n}w_i\\ w_i^{'}=w_i - \eta \frac{\partial L_2(w)}{\partial w_i}\\ w_i^{'}=w_i - \eta \frac{\partial f(w)}{\partial w_i} - \eta \frac{\lambda}{n}w_i ∂wi​∂L2​(w)​=∂wi​∂f(w)​+nλ​wi​wi′​=wi​−η∂wi​∂L2​(w)​wi′​=wi​−η∂wi​∂f(w)​−ηnλ​wi​
从L1 η λ n s i g n ( w i ) \eta \frac{\lambda}{n}sign(w_i) ηnλ​sign(wi​)和L2 η λ n w i \eta \frac{\lambda}{n}w_i ηnλ​wi​来看,L1与L2不一样的地方在于L1会减 s i g n ( w i ) sign(w_i) sign(wi​)倍的 η λ n \eta \frac{\lambda}{n} ηnλ​.而L2会减 w i w_i wi​倍的 η λ n \eta\frac{\lambda}{n} ηnλ​。当w_i在 [ 1 , + ∞ ) [1,+\infty) [1,+∞)时,L2获得比L1更快的减小速率。当 w i w_i wi​在(0,1)时,L1比L2获得更快的减小速率。并且当 w i w_i wi​越小时,L1更容易减小接近于0.而L2更不容易变化,因此L1会获得更多的接近于0的w。即L1比L2更容易获得sparse的w。

从概率的视角来看

为f(w)加入正则化,相当于为f(w)的参数w加先验,那要求w满足某一分布。

L1正则化相当于为w加入Laplace分布的先验,L2正则化相当于为w加入Gaussian分布的先验

很明显可以观察出,在两边紫色部分, P G ( w ) < P L ( w ) P_G(w)<P_L(w) PG​(w)<PL​(w),说明Gauss分布中,值大的w更少,即 L 2 与 L 1 L_2与L_1 L2​与L1​相比,值大的w更少,因此L2比L1更smooth。

在中间红色线条区域 P L ( w ) < P G ( w ) P_L(w)<P_G(w) PL​(w)<PG​(w)。并且结合图来看,Gauss分布中,值很小的w和值为0的w概率接近。而laplace分布中,值很小的w概率小于值为0的w.这说明Laplace分布要求w更多为0.而高斯分布要求w小就行不一定要为0。因此L1比L2更Sparse.

问题,为什么L1正则先验分布时Laplace分布,L2正则先验分布时Gaussian分布。接下来从最大后验概率的角度进行推导和分析。在机器学习建模中,我们知道了x和y以后,需要对参数w进行建模。那么后验概率表达式如下:
M A P = l o g p ( y ∣ X ) = l o g P ( y ∣ X , w ) P ( w ) = l o g P ( y ∣ X , w ) + l o g P ( w ) MAP=log^{p(y|X)}=log^{P(y|X,w)P(w)}=log^{P(y|X,w)}+log^{P(w)} MAP=logp(y∣X)=logP(y∣X,w)P(w)=logP(y∣X,w)+logP(w)
可以看出后验概率函数为在似然函数的基础上增加了 l o g P ( w ) log^{P(w)} logP(w),P(w)的意义是对权重系数w的概率分布的先验假设,在收集到训练样本X,y后,则可根据w在X,y下的后验概率对w进行修正,从而做出对w的更好地估计。若假设w的先验概率分布为0均值的高斯分布,即 w ∼ N ( 0 , δ 2 ) w\sim N(0,\delta^2) w∼N(0,δ2)

则有
l o g P ( w ) = l o g ∏ j P ( w j ) = l o g ∏ j [ 1 2 π δ e − w j 2 2 δ 2 ] = ∑ j ( l o g [ 1 2 π δ e − w j 2 2 δ 2 ] ) = ∑ j ( l o g [ e − w j 2 2 δ 2 ] ) + j l o g 1 2 π δ 后 部 分 对 于 w 相 当 于 一 个 常 数 = ∑ j ( − w j 2 2 δ 2 ) + C = − 1 2 δ 2 ∑ j w j 2 + C log^{P(w)}=log^{\prod _j P(w_j)}=\\ log^{\prod_j[\frac{1}{\sqrt{2\pi}\delta}e^{-\frac{w_j^2}{2\delta^2}}]}\\ =\sum_j(log^{[\frac{1}{\sqrt{2\pi}\delta}e^{-\frac{w_j^2}{2\delta^2}}]})\\ =\sum_j(log^{[e^{-\frac{w_j^2}{2\delta^2}}]}) + j log^{\frac{1}{\sqrt{2\pi}\delta}} 后部分对于w相当于一个常数\\ =\sum_j(-\frac{w_j^2}{2\delta^2})+C\\ =-\frac{1}{2\delta^2}\sum_jw_j^2+C logP(w)=log∏j​P(wj​)=log∏j​[2π ​δ1​e−2δ2wj2​​]=j∑​(log[2π ​δ1​e−2δ2wj2​​])=j∑​(log[e−2δ2wj2​​])+jlog2π ​δ1​后部分对于w相当于一个常数=j∑​(−2δ2wj2​​)+C=−2δ21​j∑​wj2​+C
可以看出,在高斯分布下 l o g P ( w ) log^{P(w)} logP(w)的效果等价于在代价函数中增加L2正则项。

若假设w服从均值为0,参数为a的拉普拉斯分布,即
P ( w j ) = 1 2 a e − ∣ w j ∣ a P(w_j)=\frac{1}{2a}e^{-\frac{|w_j|}{a}} P(wj​)=2a1​e−a∣wj​∣​
则有
l o g P ( w ) = l o g ∏ j P ( w J ) = l o g ∏ j 1 2 a e − ∣ w j ∣ a = ∑ j ( l o g 1 2 a e − ∣ w j ∣ a ) = ∑ j ( l o g e − ∣ w j ∣ a ) + j l o g 1 2 a 后 者 对 于 w 相 当 于 常 数 = − 1 a ∑ j ∣ w j ∣ + C log^{P(w)}=\\ log^{\prod _j P(w_J)}=\\ log^{\prod _j \frac{1}{2a}e^{-\frac{\left| w_j \right|}{a}}}=\\ \sum_j(log^{\frac{1}{2a}e^{-\frac{\left| w_j \right|}{a}}})=\\ \sum_j(log^{e^{-\frac{\left| w_j \right|}{a}}}) + jlog^{\frac{1}{2a}} 后者对于w相当于常数=\\ -\frac{1}{a}\sum_j|w_j| + C logP(w)=log∏j​P(wJ​)=log∏j​2a1​e−a∣wj​∣​=j∑​(log2a1​e−a∣wj​∣​)=j∑​(loge−a∣wj​∣​)+jlog2a1​后者对于w相当于常数=−a1​j∑​∣wj​∣+C
可以看到,在拉普拉斯分布下 l o g P ( w ) log^{P(w)} logP(w)的效果等价在代价函数中增加L1正则。

L1正则化可通过假设权重w的先验分布为拉普拉斯分布,由最大后验概率估计导出。

L2正则化可通过假设权重w的先验分布为高斯分布,由最大后验概率估计导出。

参考1

参考2

L1正则化、L2正则化的多角度分析和概率角度的解释相关推荐

  1. 比较全面的L1和L2正则化的解释

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达本文转自|机器学习算法那些事 前言 前段时间写了一篇文章<深入 ...

  2. L1、L2正则化详解

    正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束.调整或缩小.也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险. 一. ...

  3. L1、L2 正则化的一些原理

    L1/L2 正则化与高斯先验/对数先验的 MAP 贝叶斯推断的关系 1. MAP 贝叶斯推断 贝叶斯推断和极大似然的用处一样,都是求生成训练数据的参数 θ\thetaθ ,但是极大似然估计是基于频率派 ...

  4. 梯度下降、牛顿法凸优化、L1、L2正则化、softmax、Batchnorm、droupout、Targeted Dropout详解

    一.梯度下降 问题提出:虽然给定一个假设函数,我们能够根据cost function知道这个假设函数拟合的好不好,但是毕竟函数有这么多,总不可能一个一个试吧?因此我们引出了梯度下降:能够找出cost ...

  5. 【应用】【正则化】L1、L2正则化

    L1正则化的作用:特征选择从可用的特征子集中选择有意义的特征,化简机器学习问题.著名的LASSO(Least Absolute Shrinkage and Selection Operator)模型将 ...

  6. 【L1正则化与L2正则化详解及为什么L1和L2正则化可防止过拟合】

    一.为什么L1和L2正则化可防止过拟合? 线性模型常用来处理回归和分类任务,为了防止模型处于过拟合状态,需要用L1正则化和L2正则化降低模型的复杂度,很多线性回归模型正则化的文章会提到L1是通过稀疏参 ...

  7. 机器学习中的L1与L2正则化图解!

    今日锦囊 特征锦囊:今天一起搞懂机器学习里的L1与L2正则化 今天我们来讲讲一个理论知识,也是老生常谈的内容,在模型开发相关岗位中出场率较高的,那就是L1与L2正则化了,这个看似简单却十分重要的概念, ...

  8. R语言构建xgboost模型:使用xgboost构建广义线性模型(GLM):使用gblinear算法拟合线性模型并配置L1和L2正则化

    R语言构建xgboost模型:使用xgboost构建广义线性模型(GLM):使用gblinear算法拟合线性模型并配置L1和L2正则化 目录

  9. 【机器学习基础】一文搞懂机器学习里的L1与L2正则化

    文章来源于SAMshare,作者flora 特征锦囊:今天一起搞懂机器学习里的L1与L2正则化 今天我们来讲讲一个理论知识,也是老生常谈的内容,在模型开发相关岗位中出场率较高的,那就是L1与L2正则化 ...

最新文章

  1. slice 与 substring
  2. Linux 笔记(持续补充)
  3. 给Source Insight做个外挂系列之一--发现Source Insight
  4. postfix搭建及配置
  5. 数学之美!这些美轮美奂的数学动图
  6. 如何选指数基金?何时买入指数基金?长投温度如何计算?
  7. PyTorch命令行中执行python程序使用指定的GPU
  8. vue-cli 该如何正确打包iconfont?
  9. Linux 设置交换分区
  10. 在centos平台下用modelsim对altera的ip核进行仿真
  11. 和利时dcs系统服务器设置,和利时DCS系统组态流程
  12. 用html制作静态音乐欣赏,【HTML】简单的静态音乐网页设计
  13. MCS:离散随机变量——Poisson分布
  14. SpringBoot库存管理系统,拿来学习真香
  15. 关于红外调制基础理解
  16. 程序员DIY真实版小机器人瓦力 人群之中寻找伊娃
  17. DC888 : 数据流分析
  18. CS61A Lab 8
  19. Perpendicular
  20. cemu有linux版本吗,cemu更新版本下载-cemu升级版本v1.16.1 最新版 - 极光下载站

热门文章

  1. Aurora 8b/10b AXI4-ST回环测试
  2. 二叉树非递归遍历的一点理解
  3. C#iText7对PDF进行签章
  4. fstream常用方法详解
  5. js 遍历数组及对象属性
  6. WPF:MouseDown、MouseUP事件,鼠标按下不起作用
  7. 通过一个例子快速上手矩阵求导
  8. python字符串常用方法变量名命名规范
  9. html5能调用手机陀螺仪么,详解html5如何获取手机陀螺仪角度信息的示例代码
  10. 在线 PPT 制作工具:Gossip,聚焦内容内在逻辑