为什么 L1 正则化能做特征选择而 L2 正则化不能

Posted zhb2000

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么 L1 正则化能做特征选择而 L2 正则化不能相关的知识,希望对你有一定的参考价值。

假设我们的模型只有一个参数 \\(w\\),损失函数为 \\(L(w)\\),加入 L1 和 L2 正则化后的损失函数分别记为 \\(J_1(w), J_2(w)\\)

\\[\\begingathered J_1(w) = L(w) + \\lambda |w| \\\\ J_2(w) = L(w) + \\lambda w^2 \\endgathered \\]

原损失函数 \\(L\\)\\(w = 0\\) 处的导数记为 \\(L\'(0)\\),那么 \\(J_1\\)\\(w = 0\\) 处的左、右导数为:

\\[\\begingathered J_-\'(0) = L\'(0) - \\lambda \\\\ J_+\'(0) = L\'(0) + \\lambda \\\\ \\endgathered \\]

\\(\\lambda > |L\'(0)|\\) 时,\\(w = 0\\) 处的左导数 \\(L\'(0) - \\lambda < 0\\)、右导数 \\(L\'(0) + \\lambda > 0\\),此时 \\(w = 0\\)\\(J_1\\) 的一个极小值点。

也就是说,即使 \\(L\\) 不在 \\(w = 0\\) 处取得极小值(\\(L\'(0) \\neq 0\\)),我们也能够通过调节 \\(\\lambda\\) 将损失函数的极小值点“转移”到 \\(w = 0\\)

再来看 L2 正则化时的情况,\\(J_2\\)\\(w = 0\\) 处的导数为:

\\[J_2\'(0) = [L\'(w) + 2 \\lambda w]_w = 0 = L\'(0) \\]

由此可见,如果 \\(L\\) 不在 \\(w = 0\\) 处取得极小值(\\(L\'(0) \\neq 0\\)),那么加入 L2 正则项后仍然不可能在 \\(w = 0\\) 处取得极小值。

总结:L1 正则化能将损失函数的极小值点“转移”到 \\(w = 0\\) 处,而 L2 正则化无论如何设置 \\(\\lambda\\) 都达不到这样的效果。

相关资料:

以上是关于为什么 L1 正则化能做特征选择而 L2 正则化不能的主要内容,如果未能解决你的问题,请参考以下文章

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

L1正则化和L2正则化(从解空间角度)

L1正则化和L2正则化(从解空间角度)

L1/L2正则化方法

正则化项L1和L2

L1,L2正则化本质