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的可能性更大;

拉普拉斯分布

高斯分布


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

被折叠的 条评论
为什么被折叠?



