正则化方法 (Regularization) 是机器学习领域中一种非常重要的技巧,它主要用来对权重系数加以约束限制,进而防止过拟合。数学上来讲,正则化即为在目标函数中加入对权值系数的约束。L1正则化与L2正则化形式上的区别在于范数的阶。这两种正则化的主要区别在于以下几点:
解的唯一性:L2正则化具有唯一解,而L1正则化没有唯一解。
图一:本图阐释了L1正则化和L2正则化解的唯一性,其中绿色的是L2正则化约束,其余三条是L1正则化约束。
内嵌特征选择:L1具有内嵌的特征选择特性,而L2没有。L1正则化会得到稀疏的系数解,即少数权重系数非零,多数权重系数经过L1正则约束值为零。L2正则约束不会产生稀疏的系数解,因此不具特征选择特性。
稀疏性:即只有少数权重系数非零,L1正则化具有稀疏性,它会使得多数权重系数为零,或者少数比较大的权重系数(见图二)。
计算复杂度:L1正则化没有解析解,而L2正则化具有解析解。这使得L2正则化计算复杂度更低。对于非稀疏的情形,L1正则化计算复杂度较高。
图二:本图中给出了L1正则化和L2正则化的效果,L2正则化会使得权重系数缩减,L1正则化会使得权重系数具有稀疏性。L2计算复杂度更低,速度较快,而L1速度较慢。
图三、图四给出了L1和L2正则化的图形阐释。
最后讨论下应用正则化的场景:
1. 变量较多或者样本量少于变量数的情形;
2. 特征集合具有比较高的共线性;
3. 寻求稀疏解(比如估计模型参数时的嵌入式特征选择);
4. 为了解释或寻求高维数据集中变量组合;
参考资料:
https://www.quora.com/What-is-the-difference-between-L1-and-L2-regularization#
http://www.chioka.in/differences-between-l1-and-l2-as-loss-function-and-regularization/
https://www.quora.com/How-do-you-decide-to-regularize-between-L1-L2-or-best-greedy-subset-selection
http://stats.stackexchange.com/questions/4272/when-to-use-regularization-methods-for-regression
http://cseweb.ucsd.edu/~elkan/254spring05/Hammon.pdf