L1、L2 正则化的一些原理
L1/L2 正则化与高斯先验/对数先验的 MAP 贝叶斯推断的关系
1. MAP 贝叶斯推断
贝叶斯推断和极大似然的用处一样,都是求生成训练数据的参数 θ\thetaθ ,但是极大似然估计是基于频率派的思想,而贝叶斯推断是基于贝叶斯派的思想。
MAP(Maximum A Posteriori, MAP)最大后验估计点估计。
θMAP=argmaxθp(θ∣x)=argmaxθlogp(x∣θ)+logp(θ)\theta_{MAP} = \underset{\theta}{argmax} p(\theta|x)=\underset{\theta}{argmax} \log p(x|\theta)+\log p(\theta)θMAP=θargmaxp(θ∣x)=θargmaxlogp(x∣θ)+logp(θ)
p(θ)p(\theta)p(θ) 是先验分布,例如考虑具有高斯先验权重的线性回归模型。如果先验是 N(θ;0,1λI2)N(\theta;0, \frac{1}{\lambda }I^2)N(θ;0,λ1I2) ,那么 logp(θ)=−λ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)▽wJ^(w;X,y)=λsign(w)+▽wJ(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∑[21Hi,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 。
logp(w)=∑ilogLaplace(wi;0,1α)=−α∣∣w∣∣1+nlogα−nlog2\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 正则化的一些原理相关推荐
- 手推公式带你轻松理解L1/L2正则化
文章目录 前言 L1/L2正则化原理 从数学的角度理解L1/L2正则化 从几何的角度理解L1/L2正则化 L1/L2正则化使用情形 前言 L1/L2正则化的目的是为了解决过拟合,因此我们先要明白什么是 ...
- L1,L2正则化分析
1. 优化角度分析 1).L2正则化的优化角度分析 在限定的区域,找到使 最小的值. 图形表示为: 上图所示,红色实线是正则项区域的边界,蓝色实线是 的等高线,越靠里的等高圆, 越小,梯度的反方向是 ...
- L0,L1,L2正则化浅析
在机器学习的概念中,我们经常听到L0,L1,L2正则化,本文对这几种正则化做简单总结. 1.概念 L0正则化的值是模型参数中非零参数的个数. L1正则化表示各个参数绝对值之和. L2正则化标识各个参数 ...
- L1 L2正则化和优化器的weight_decay参数
L1正则和L2正则的效果有什么差异?为什么? 角度一:解空间形状 通常认为L1 正则化可以产生稀疏权值矩阵,即产生一个参数稀疏的模型. 而L2 正则化可以让模型的参数取绝对值较小的数. 考虑两种正则化 ...
- L1 L2 正则化区别
文章一 文章二 机器学习中,如果参数过多,模型过于复杂,容易造成过拟合(overfit).即模型在训练样本数据上表现的很好,但在实际测试样本上表现的较差,不具备良好的泛化能力.为了避免过拟合,最常用的 ...
- L1,L2正则化理解-奥卡姆剃刀(Occam's razor)原理
L0.L1与L2范数转自:zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化.我们先简单的来理解下常用的 ...
- 正则项的原理、梯度公式、L1正则化和L2正则化的区别、应用场景
先对"L1正则化和L2正则化的区别.应用场景"给出结论,具体见后面的原理解释: L1正则化会产生更稀疏的解,因此基于L1正则化的学习方法相当于嵌入式的特征选择方法. L2正则化计算 ...
- L1正则化 L2正则化的Python 实现
上一篇文档 https://blog.csdn.net/xingzhe2001/article/details/86316712 介绍了L1 L2正则化 本文介绍L1, L2 正则化的实现 L1正则化 ...
- l1、l2正则化在pytorch框架下的实现方式
转载PyTorch训练模型添加L1/L2正则化的两种实现方式_hlld__的博客-CSDN博客_pytorch添加正则化 在使用PyTorch训练模型时,可使用三种方式添加L1/L2正则化:一种是添加 ...
最新文章
- htmlspecialchars() improvements in PHP 5.4
- 图片按钮ImageButton
- 7600和6500的一些常见问题
- 用paddleocr识别汉字_汉字设计中的度量标准(三)
- 一个自定义类型的运算符重载的例子
- JavaScript对象的创建总结
- 工作226:for循环逻辑
- 【牛客 - 181F】子序列(容斥,组合数,费马小定理)
- mt7620a上wifi中继的实现
- CSDN博客专家证书发放名单(10月已更新)
- centos 替换阿里源
- C++函数参数的缺省值
- 关于通过图注意神经网络处理多元时间序列的错误预测论文的讨论
- 目标文件夹访问被拒绝,您需要权限来执行此操作
- linux不识别ntfs分区,解决linux 不能识别ntfs分区问题(linux系统挂载移动硬盘)
- 通过Teardrop学习网络通信编程
- 湖北一公司发生闪爆事故,这套化工厂巡检系统你有吗?
- 常用工具软件-官网下载地址
- 电气比例阀外接压力传感器和PID控制器实现微正压0.1%的超高精度控制
- 电力监控系统在城市轨道交通变电所自动化中的应用