正则化-L0,L1,L2

本文详细介绍了L0、L1、L2正则化的概念、作用和原理,揭示了它们在防止过拟合、提高模型泛化能力方面的差异。L1正则化倾向于产生稀疏模型,适合特征选择;L2正则化则使参数尽量小,但不会产生稀疏性。正则化通过结构风险最小化策略平衡经验风险和模型复杂度。


1、什么是L0、L1、L2正则化;

2、正则化的作用;

3、正则化的原理;

4、L1,L2正则化有什么不同;

 

1、什么是L0、L1、L2正则化;

L0正则化

L0范数指的是向量中非零元素的个数;

L0正则化就是限制非零元素的个数在一定的范围,这很明显会带来稀疏。一般而言,用L0范数实现稀疏是一个NP-hard问题,因此人们一般使用L1正则化来对模型进行稀疏约束。

L1正则项

 $L= L_{0} +\alpha \sum_{j=0}^{M}\left | \omega _{j} \right |$

 L2正则项

$L= L_{0} +\alpha \sum_{j=0}^{M}\omega _{j}^{2}$

 

2、正则化的作用;

防止过拟合,提高泛化能力;

1)稀疏性,减少模型参数个数,让模型参数变成0,相当于对模型进行一次特征选择;

2)让模型参数变小,让模型参数在整个模型中的作用变小;

深度学习中可通过Dropout 和 Batch Normalization;

过拟合的原因就是模型训练时过多得考虑训练数据的情况(过犹不及)导致模型过于复杂,这就说明模型的参数过多,导致模型的泛化能力不强。

 

3、正则化的原理;

 

实现结构风险最小化策略,即选择经验风险和模型复杂度同时较小的模型;

经验风险+正则化项

$\underset{f\in F}{min}\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda J(\omega )$

让$\omega  _{j}$ 变小;

1)简化模型;

2)模型曲线越平滑,更不容易出现过拟合;

 

无法预先判断哪一项是最高阶,因而,缩小所有项;

$J(\theta )=\frac{1}{2m}\sum_{i=1}^{N}L(y_{i},f(x_{i}))+\lambda\sum_{j=1}^{M}\omega  _{j}^{2}$

当$\lambda$过大,会导致$\omega  _{j}$全部接近于0,使得$h_{\theta }(x)=\omega _{0}$

 

 

 

 4、L1,L2正则化有什么不同;

L1正则项,倾向于使模型中有很多参数为0,稀疏模型,对有用特征进行特征选择;

L2正则项,倾向于让模型中的参数尽可能的小;

 

原理:

1)解的限制:

双||是范数的意思啊。

 为啥带正则项和带约束条件是等价的呢;

$\begin{matrix}min\sum_{i=1}^{N}(y_{i}-w^{T}x_{i})^{2}\\ s.t. \left \| \omega \right \|^{2}\leq m\end{matrix}$

求解带约束条件的凸优化问题,

其拉格朗日函数:

$\sum_{i=1}^{N}(y_{i}-w^{T}x_{i})^{2}+\lambda( \left \| \omega \right \|^{2}- m)$

若$\lambda$和w是原问题和对偶问题的最优解;

根据充分必要的KKT条件,满足:

$$\begin{matrix}\frac{\partial \sum_{i=1}^{N}(y_{i}-w^{T}x_{i})^{2}+\lambda( \left \| \omega \right \|^{2}- m)}{\partial w}=0\\ \lambda \geq 0\end{matrix}$$

第一个式子是带L2正则项的优化问题的最优解条件;

第二个式子是正则参数条件;

L1相当于为参数定义了一个菱形的解空间;

L2相当于为参数定义了一个圆的解空间;

 

 

 

 如上图所示,黑色图形表示正则项可能的解范围,彩色等值线的表示原问题解的等值曲线(即以最小的权为经验风险的最小值,一圈一圈往外,经验风险变大)。而整个目标函数(原问题+正则项)的解是原问题+正则项的和最小。从上图可以很容易地看出,由于L2范数解范围是圆,所以相交的点有很大可能不在坐标轴上,而由于L1范数是菱形(顶点是凸出来的),其相交的点更可能在坐标轴上,而坐标轴上的点有一个特点,其只有一个坐标分量不为零,其他坐标分量为零,即是稀疏的。所以有如下结论,L1范数可以导致稀疏解,L2范数导致稠密解。

求满足解范围的最小损失函数的问题,因此是相交的一点;

本身w的值就会随$\lambda $的变化而变化的;

2)函数叠加

L1正则化:

 $L= L_{0} +\alpha \sum_{j=0}^{M}\left | \omega _{j} \right |$

$\frac{\partial L}{\partial w}=\frac{\partial L_{0}}{\partial w}+\lambda sign(\omega )$

原:$\omega =\omega -\eta  \frac{\partial L_{0}}{\partial w}$

L1:$\omega =\omega -\eta  \frac{\partial L_{0}}{\partial w}-\eta \lambda sign(\omega ) $

sign表示取符号,相当于w每次都要向0的方向更靠近一点;

L2正则化

$L= L_{0} +\alpha \sum_{j=0}^{M}\omega _{j}^{2}$

$\frac{\partial L}{\partial w}=\frac{\partial L_{0}}{\partial w}+\lambda \omega $

原:$\omega =\omega -\eta  \frac{\partial L_{0}}{\partial w}$

L2:$\omega =\omega -\eta \frac{\partial L_{0}}{\partial w}-\eta \lambda \omega=\omega(1-\eta \lambda) -\eta \frac{\partial L_{0}}{\partial w}$

相当于加正则化后,每次迭代都会给$\omega  _{j}$乘以接近1,但小于1的值,使得w的绝对值更小;

当w较大时,L2的斜率大于L1,L2正则化权重衰减地比L1正则化快;

当w较小时,L2的斜率小于L1,L1正则化权重衰减地比L2正则化快。

因此L1正则化最终会导致模型保留了重要的大权重连接,不重要的小权重都被衰减为0,产生了稀疏。

而L2正则化可以通过限制权重大小让模型变得简单,但却不会导致稀疏。

 

目标函数为凸函数的情况下,局部最优解即为全局最优解;一般导数为0的地方为最值;

对加入L1正则项后的目标函数求导,正则项部分产生的导数在原点左边的部分是-$\lambda $,右边为$\lambda $,因此当原目标函数的导数的绝对值小于$\lambda $时,原点左边部分始终递减,原点右边部分始终递增,所以0的地方为最小值。L1的原点导数不为0,原点感觉是不可导的;

L2正则项在原点处的导数为0,只要目标函数在原点处导数不为0,那么最小值点就不会在原点,L2只有减小w绝对值的作用,对解空间稀疏性没有贡献;

3)贝叶斯先验

 L1正则化相当于对模型参数w引入了拉普拉斯先验;

L2正则化相当于对模型参数w引入了高斯先验;

拉普拉斯先验使参数为0的可能性更大,高斯使参数接近0的可能性更大;

拉普拉斯分布

高斯分布

 

 

转载于:https://www.cnblogs.com/danniX/p/10735781.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值