L1和L2正则化。L1为什么能产生稀疏值,L2更平滑

时间:2022-12-19 23:09:58

参考博客:https://zhuanlan.zhihu.com/p/35356992

     https://zhuanlan.zhihu.com/p/25707761

     https://www.zhihu.com/question/37096933/answer/70426653

  首先正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化的值会越大。

  正则化是结构风险最小化的一种策略实现,在经验风险最小化的基础上(也就是训练误差最小化),尽可能采用简单的模型,以此提高泛化预测精度。

  经验风险较小的模型可能较复杂,这时会使正则化项变大。正则化的作用就是选择经验风险和模型复杂度同时较小的模型。

  同时也符合奥卡姆剃刀原理:在所有可能选择的模型中,能够很好解释数据并且十分简单才是好的模型。通过降低模型的复杂度,得到更小的泛化误差,降低过拟合程度。

L1和L2正则化。L1为什么能产生稀疏值,L2更平滑

h(w)是目标函数  f(w)是没有加正则化的目标函数  c|w|是L1正则项,要是0点成为最可能的点,因为在0点处不可导,但是只需让0点左右的导数异号即可。

L1和L2正则化。L1为什么能产生稀疏值,L2更平滑

最终解的:

L1和L2正则化。L1为什么能产生稀疏值,L2更平滑,所以只要满足这个条件,0点都是最值点。

两种 regularization 能不能把最优的 w变成 0,取决于原先的损失函数在 0 点处的导数。
如果本来导数不为 0,那么施加 L2 regularization 后导数依然不为 0,最优的 x 也不会变成 0。
而施加 L1 regularization 时,只要 regularization 项的系数 C 大于原先损失函数在 0 点处的导数的绝对值,x = 0 就会变成一个极小值点。

上面只分析了一个参数 w。事实上 L1 regularization 会使得许多参数的最优值变成 0,这样模型就稀疏了。


作者:王赟 Maigo
链接:https://www.zhihu.com/question/37096933/answer/70426653
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

 

 

  、