1、什么是L1正则&L2正则:
2、两者的区别是什么
- L1正则是指在损失函数中加入向量权值w的绝对值之和,即各个元素的绝对值之和,L2正则是在损失函数中加入权值向量w的平方和。
- L1的功能是使权重稀疏(可以进行变量选择),而L2的功能是使权重平滑。
3、L1正则为什么可以得到稀疏解?
- 解空间形状
也就是说:L2正则化相当于为参数定义了一个圆形的解空间,而L1正则化为参数定义了一个菱形的解空间。L1“棱角分明”的解空间显然更容易与目标函数等高线在脚点碰撞。从而产生稀疏解。事实上,为什么他们会在坐标轴上相切是一个特别复杂的问题,我在某个暑期学校上问过一个研究这个课题的教授,他笑笑说:这是一个好问题,事实上证明起来非常复杂,而且还能够证明越高维的情况他们越容易相切。
- 函数叠加
为了直观,我们考虑一维的情况:横轴是参数的值,纵轴是损失函数,加入正则项之后,损失函数图的变化如下:
在加入了L1正则化之后,最小值在红点处,对应的w是0。而加入了L2正则后,最小值在黄点处,对应的w不为0。
这是因为L1正则使得目标函数变为L(w)+C|w|,单对正则化部分求导,原点左边是-C,右边是C,因此,只要原目标函数求导|L'(w)|<C,那么带L1正则项的目标函数在原点左边部分始终递减,在原点右边部分始终递增,最小值点自然会出现在原点处。而加入L2正则后,目标函数变为L(w)+Cw^2,只要原目标函数在原点处的导数不为0,那么带L2正则项的目标函数在原点处的导数就不为0,那么最小值就不会在原点。因此L2正则只有见效w绝对值的作用,但并不能产生稀疏解。
- 贝叶斯先验
从贝叶斯角度来看,L1正则化相当于对模型参数w引入了拉普拉斯先验,L2正则化相当于引入了高斯先验。而这两种分布的形状如下: