L0
L0范数指的是向量中非零元素的个数,L0正则化就是限制非零元素的个数在一定的范围,这很明显会带来稀疏。一般而言,用L0范数实现稀疏是一个NP-hard问题,因此人们一般使用L1正则化来对模型进行稀疏约束。
L1和L2
L2
L1
|w| < C
稀疏性
参考:https://blog.csdn.net/red_stone1/article/details/80755144
另外一种解释:
假设费用函数L与某个参数w的关系如图所示:
则最优的 w在绿点处,w非零。
现在施加 L2 regularization,新的费用函数(L+λw²)如图中蓝线所示:
最优的 x 在黄点处,x 的绝对值减小了,但依然非零。
而如果施加 L1 regularization,则新的费用函数(L+λ|w|)如图中粉线所示:
最优的w就变成了 0。这里利用的就是绝对值函数的尖峰。两种regularization能不能把最优的w变成0,取决于原先的费用函数在 0 点处的导数。如果本来导数不为 0,那么施加 L2 regularization 后导数依然不为 0,最优的 x 也不会变成 0。而施加 L1 regularization 时,只要 regularization 项的系数 C 大于原先费用函数在 0 点处的导数的绝对值,x = 0 就会变成一个极小值点。上面只分析了一个参数 x。事实上 L1 regularization 会使得许多参数的最优值变成 0,这样模型就稀疏了。
参考:https://www.zhihu.com/question/37096933/answer/70426653