机器学习中正则化项L1和L2

机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1-norm和ℓ2-norm,中文称作 L1正则化 和 L2正则化,或者 L1范数 和 L2范数。


 他们的作用:

  • L1正则化
  • 可以产生稀疏权值矩阵,即产生一个稀疏模型,可以用于  特征选择
  • L1的作用主要是使得一些不重要的 特征变为0 ,
  • L2正则化
  • 可以防止模型过拟合(overfitting);一定程度上,L1也可以防止过拟合
  • L2的作用主要是将一些参数过大的参数拉近的靠近0

为了便于可视化,我们考虑两维的情况,在(w1, w2)平面上可以画出目标函数的等高线,而约束条件则成为平面上半径为C的一个 norm ball 。等高线与 norm ball 首次相交的地方就是最优解:

       可以看到,L1-ball 与L2-ball 的不同就在于L1在和每个坐标轴相交的地方都有“角”出现,而目标函数的测地线除非位置摆得非常好,大部分时候都会在角的地方相交。注意到在角的位置就会产生稀疏性,例如图中的相交点就有w1=0,而更高维的时候(想象一下三维的L1-ball 是什么样的?)除了角点以外,还有很多边的轮廓也是既有很大的概率成为第一次相交的地方,又会产生稀疏性。

       相比之下,L2-ball 就没有这样的性质,因为没有角,所以第一次相交的地方出现在具有稀疏性的位置的概率就变得非常小了。这就从直观上来解释了为什么L1-regularization 能产生稀疏性,而L2-regularization 不行的原因了。

       因此,一句话总结就是:L1会趋向于产生少量的特征,而其他的特征都是0,而L2会选择更多的特征,这些特征都会接近于0。Lasso在特征选择时候非常有用,而Ridge就只是一种规则化而已。
 

为什么正则化能够降低过拟合 · 神经网络与深度学习
https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap3/c3s5ss2.html

正则化 · 神经网络与深度学习
https://hit-scir.gitbooks.io/neural-networks-and-deep-learning-zh_cn/content/chap3/c3s5ss1.html

正则化方法:L1和L2 regularization、数据集扩增、dropout_网络_wepon的专栏-CSDN博客
https://blog.csdn.net/u012162613/article/details/44261657

发布了241 篇原创文章 · 获赞 54 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/txpp520/article/details/105586595