L1/L2 正则化与高斯先验/对数先验的 MAP 贝叶斯推断的关系

1. MAP 贝叶斯推断

贝叶斯推断和极大似然的用处一样,都是求生成训练数据的参数 θ\thetaθ ,但是极大似然估计是基于频率派的思想,而贝叶斯推断是基于贝叶斯派的思想。

MAP(Maximum A Posteriori, MAP)最大后验估计点估计。

θMAP=argmaxθp(θ∣x)=argmaxθlog⁡p(x∣θ)+log⁡p(θ)\theta_{MAP} = \underset{\theta}{argmax} p(\theta|x)=\underset{\theta}{argmax} \log p(x|\theta)+\log p(\theta)θMAP​=θargmax​p(θ∣x)=θargmax​logp(x∣θ)+logp(θ)

p(θ)p(\theta)p(θ) 是先验分布,例如考虑具有高斯先验权重的线性回归模型。如果先验是 N(θ;0,1λI2)N(\theta;0, \frac{1}{\lambda }I^2)N(θ;0,λ1​I2) ,那么 log⁡p(θ)=−λwTw2I2+C\log p(\theta)=-\frac{\lambda w^T w}{2I^2}+ Clogp(θ)=−2I2λwTw​+C,CCC 是常数,转化为求极小问题可以发现其对应着 L2L2L2 权重衰减。因此具有高斯先验权重的 MAP 贝叶斯推断对应着 L2L2L2 权重衰减。

2. L2正则化

关于 L2L2L2 正则化的形式不再赘述,下面只是从代数角度分析一些 L2L2L2 原理。

对于不加正则化的目标函数在最优点 w∗w^*w∗ 处二阶泰勒展开为 J(w)=J(w∗)+12(w−w∗)TH(w−w∗)J(w)=J(w^*)+\frac{1}{2}(w-w^*)^TH(w-w^*)J(w)=J(w∗)+21​(w−w∗)TH(w−w∗) 其中 HHH 是 w∗w^*w∗ 处的 Hessian 矩阵,一阶项由于等于 0 省略。因为 w∗w^*w∗ 最优,所以可以知道 HHH 是半正定的。

然后考虑加上 L2L2L2 正则的目标函数(在 w∗w^*w∗ 附近) L(w)=J(w)+λwTw=J(w∗)+12(w−w∗)TH(w−w∗)+λwTwL(w) = J(w)+\lambda w^Tw=J(w^*)+\frac{1}{2}(w-w^*)^TH(w-w^*)+\lambda w^TwL(w)=J(w)+λwTw=J(w∗)+21​(w−w∗)TH(w−w∗)+λwTw 。

对其求一阶导令其等于 0 有

λw+H(w−w∗)=0\lambda w + H(w-w^*)=0λw+H(w−w∗)=0

得到最优解 w^=(H+λI)−1Hw∗\hat{w}=(H+\lambda I)^{-1}Hw^*w^=(H+λI)−1Hw∗ ,比较未添加正则项之前的最优解 w∗w^*w∗ 和 w^\hat{w}w^ 之间的区别,就能明白 L2L2L2 正则做了一件什么样的事情。因为 HHH 半正定,故存在正交矩阵 QQQ 使得 H=QΛQTH= Q\Lambda Q^TH=QΛQT ,代入

w^=(QΛQT+λI)−1QΛQTw∗=[Q(Λ+λI)Q]−1QΛQTw∗=Q(Λ+λI)−1ΛQTw∗\hat{w}=(Q\Lambda Q^T+\lambda I)^{-1}Q\Lambda Q^Tw^*=[Q(\Lambda + \lambda I) Q]^{-1}Q\Lambda Q^Tw^*=Q(\Lambda + \lambda I)^{-1}\Lambda Q^T w^*w^=(QΛQT+λI)−1QΛQTw∗=[Q(Λ+λI)Q]−1QΛQTw∗=Q(Λ+λI)−1ΛQTw∗

可以看出来权重衰减的效果是针对 HHH 的特征向量所定义的轴缩放 w∗w^*w∗ 。具体来说,我们根据 αiαi+λ(αi为H的第i个特征值)\frac{\alpha_i}{\alpha_i+\lambda}(\alpha_i 为 H 的第i个特征值)αi​+λαi​​(αi​为H的第i个特征值) 因子缩放与 HHH 第 iii 个特征向量对齐的 w∗w^*w∗ 的分量,当 αi>>λ\alpha_i >> \lambdaαi​>>λ 时, wiw_iwi​ 受的影响较小,当 αi<<λ\alpha_i << \lambdaαi​<<λ 时,wiw_iwi​ 会收缩到几乎为 0 。

3. L1 正则化

L1L1L1 正则化被定义为 Ω(θ)=∣∣w∣∣1=∑i∣wi∣\Omega(\theta)=||w||_1=\sum_{i}|w_i|Ω(θ)=∣∣w∣∣1​=∑i​∣wi​∣ ,即各个参数的绝对值之和。和上面的分析类似,正则化的目标函数 J^(w;X,y)=λ∣∣w∣∣1+J(w;X,y)\hat{J}(w;X, y)=\lambda ||w||_1 + J(w;X, y)J^(w;X,y)=λ∣∣w∣∣1​+J(w;X,y) ,其对应的次梯度为

▽wJ^(w;X,y)=λsign(w)+▽wJ(w;X,y)\bigtriangledown_w\hat{J}(w;X, y)=\lambda sign(w) + \bigtriangledown_w J(w;X, y)▽w​J^(w;X,y)=λsign(w)+▽w​J(w;X,y)

如果没有正则项的最优解为 w∗w^*w∗ ,在 w∗w^*w∗ 附近的 JJJ 的为 J(w)=J(w∗)+12(w−w∗)TH(w−w∗)J(w)=J(w^*)+\frac{1}{2}(w-w^*)^TH(w-w^*)J(w)=J(w∗)+21​(w−w∗)TH(w−w∗) ,HHH 是在 w∗w^*w∗ 的 Hessian 矩阵。为了简化问题,这里假设 HHH 是对角矩阵,则添加上 L1L1L1 正则项的目标函数为

J^(w;X,y)=J(w∗)+∑i[12Hi,i(wi−wi∗)2+λ∣wi∣]\hat{J}(w;X, y)=J(w^*)+\sum_{i}[\frac{1}{2}H_{i, i}(w_i-w_i^*)^2+\lambda|w_i|]J^(w;X,y)=J(w∗)+i∑​[21​Hi,i​(wi​−wi∗​)2+λ∣wi​∣]

关于 wiw_iwi​ 求导求其最小值可得到

wi=sign(wi∗)max{∣wi∗∣−λHi,i,0}w_i=sign(w_i^*)max\{|w_i^*|-\frac{\lambda}{H_{i, i}}, 0\}wi​=sign(wi∗​)max{∣wi∗​∣−Hi,i​λ​,0}

对于每个 iii ,考虑 wi∗>0w_i^*>0wi∗​>0 的情形, 会有两种可能结果。

(1) wi∗≤λHi,iw_i^*\le \frac{\lambda}{H_{i, i}}wi∗​≤Hi,i​λ​ 的情况。正则化后目标中的 wiw_iwi​ 最优值 wi=0w_i=0wi​=0 。L1L1L1 正则化将 wiw_iwi​ 推向 0 。

(2) wi∗>λHi,iw_i^*> \frac{\lambda}{H_{i, i}}wi∗​>Hi,i​λ​,L1L1L1 正则化不会将其推至 0,而只是向那个方向移动 λHi,i\frac{\lambda}{H_{i, i}}Hi,i​λ​ 的距离。

wi∗<0w_i^*<0wi∗​<0 的情形与此类似。相比于 L2L2L2 正则, L1L1L1 正则会产生更为稀疏的解。因此 L1L1L1 可以用来进行 特征选择

上面说 L2L2L2 正则是带有高斯先验权重的 MAP,对于 L1L1L1 正则化,是带有各向同性的拉普拉斯先验权重的 MAP 。

log⁡p(w)=∑ilog⁡Laplace(wi;0,1α)=−α∣∣w∣∣1+nlog⁡α−nlog⁡2\log p(w)=\sum_{i}\log Laplace(w_i;0, \frac{1}{\alpha})=-\alpha||w||_1+n\log\alpha - n\log 2logp(w)=i∑​logLaplace(wi​;0,α1​)=−α∣∣w∣∣1​+nlogα−nlog2

文章来源:花书p142-p144

L1、L2 正则化的一些原理相关推荐

  1. 手推公式带你轻松理解L1/L2正则化

    文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...

  2. L1,L2正则化分析

    1. 优化角度分析 1).L2正则化的优化角度分析 在限定的区域,找到使 最小的值. 图形表示为: 上图所示,红色实线是正则项区域的边界,蓝色实线是 的等高线,越靠里的等高圆, 越小,梯度的反方向是 ...

  3. L0,L1,L2正则化浅析

    在机器学习的概念中,我们经常听到L0,L1,L2正则化,本文对这几种正则化做简单总结. 1.概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数 ...

  4. L1 L2正则化和优化器的weight_decay参数

    L1正则和L2正则的效果有什么差异?为什么? 角度一:解空间形状 通常认为L1 正则化可以产生稀疏权值矩阵,即产生一个参数稀疏的模型. 而L2 正则化可以让模型的参数取绝对值较小的数. 考虑两种正则化 ...

  5. L1 L2 正则化区别

    文章一 文章二 机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit).即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力.为了避免过拟合,最常用的 ...

  6. L1,L2正则化理解-奥卡姆剃刀(Occam's razor)原理

    L0.L1与L2范数转自:zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的 ...

  7. 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景

    先对"L1正则化和L2正则化的区别.应用场景"给出结论,具体见后面的原理解释: L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法. L2正则化计算 ...

  8. L1正则化 L2正则化的Python 实现

    上一篇文档 https://blog.csdn.net/xingzhe2001/article/details/86316712 介绍了L1 L2正则化 本文介绍L1, L2 正则化的实现 L1正则化 ...

  9. l1、l2正则化在pytorch框架下的实现方式

    转载PyTorch训练模型添加L1/L2正则化的两种实现方式_hlld__的博客-CSDN博客_pytorch添加正则化 在使用PyTorch训练模型时,可使用三种方式添加L1/L2正则化:一种是添加 ...

最新文章

  1. linux安装mysql php_Linux 安装mysql和php
  2. 使用了未经检查或不安全的操作_上溪镇开展压痕机使用企业安全生产专项检查...
  3. IDEA+Maven运行调试MapReduce程序
  4. 处理时间_5_计算时间列所在年的周序号
  5. hibernate 联合主键 merge
  6. 使用autossh实现开机创建ssh tunnel的方法以及shell脚本.
  7. 抓localhost包 - rawcap
  8. 【BZOJ 4103】 [Thu Summer Camp 2015]异或运算 可持久化01Trie
  9. w ndows10玩游戏蓝屏,Win10系统玩游戏蓝屏提示代码0x0000007E的两种解决方法
  10. 一个Https网站发送Http的 ajax请求的解决方法
  11. 进程间通信-----管道
  12. 提升谷歌chrome浏览器下载速度的方法
  13. bzoj1984 月下“毛景树”
  14. wps一直显示正在备份怎么办_wps怎么解除自动备份
  15. SublimeText3 搭建 C++ Python
  16. Kubernetes 学习总结(29)—— 使用 kubeadm 部署 Kubernetes 1.24 详细步骤总结
  17. 并发完全知识点目录--yzy
  18. darknet出现以下错误 /home/ubtu/anaconda3/lib/libQt5Core.so.5:对‘ucnv_toUnicode_58’未定义的引用
  19. excel如何快速统计一列中相同数值出现的个数
  20. 在python中浮点数怎样转整数_python 浮点数 转 整数python函数每日一讲 - all()

热门文章

  1. Rocky Linux安装k3s的问题
  2. 单机版坦克大战游戏总结
  3. 什么是视频互动直播,你会如何介绍
  4. C语言的数据类型——基本数据类型——整形家族(字符类型)以及整形提升和截断
  5. common conj
  6. linux 软中断过高处理
  7. 3初识常量变量(跟着鹏哥学C语言)
  8. 双十一邮件各大商家都是怎么玩儿的
  9. “求职路”上英语口语面试问答大全
  10. 算法-16-哈夫曼编码