之前看过很多L1正则和L2正则分析的文章,也看了很多比较二者区别的文章,但始终没能总结成体系,写这篇文章的目的就是想总结一下关于L1正则和L2正则的分析。
正则化方法 (Regularization) 是机器学习领域中一种非常重要的技巧,它主要用来对权重系数加以约束限制,进而防止过拟合。数学上来讲,正则化即为在目标函数中加入对权值系数的约束。
首先说说使用正则化的场景:
-
变量较多或者样本量少于变量数的情形;
-
特征集合具有比较高的共线性;
-
寻求稀疏解(比如估计模型参数时的嵌入式特征选择);
-
为了解释或寻求高维数据集中变量组合;
正则化的作用在于:
1)保证模型尽可能的简单,避免过拟合。
2)约束模型特性,加入一些先验知识,例如稀疏、低秩等。
说到正则化的作用,先要搞清楚两个问题
1)实现参数的稀疏有什么好处吗?
一个好处是可以简化模型,避免过拟合。因为一个模型中真正重要的参数可能并不多,如果考虑所有的参数起作用,那么可以对训练数据可以预测的很好,但是对测试数据就只能呵呵了。另一个好处是参数变少可以使整个模型获得更好的可解释性。
2)参数值越小代表模型越简单吗?
是的。为什么参数越小,说明模型越简单呢,这是因为越复杂的模型,越是会尝试对所有的样本进行拟合,甚至包括一些异常样本点,这就容易造成在较小的区间里预测值产生较大的波动,这种较大的波动也反映了在这个区间里的导数很大,