为什么 L1 正则化能做特征选择而 L2 正则化不能
Posted zhb2000
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么 L1 正则化能做特征选择而 L2 正则化不能相关的知识,希望对你有一定的参考价值。
假设我们的模型只有一个参数 \\(w\\),损失函数为 \\(L(w)\\),加入 L1 和 L2 正则化后的损失函数分别记为 \\(J_1(w), J_2(w)\\):
原损失函数 \\(L\\) 在 \\(w = 0\\) 处的导数记为 \\(L\'(0)\\),那么 \\(J_1\\) 在 \\(w = 0\\) 处的左、右导数为:
当 \\(\\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\\) 处的导数为:
由此可见,如果 \\(L\\) 不在 \\(w = 0\\) 处取得极小值(\\(L\'(0) \\neq 0\\)),那么加入 L2 正则项后仍然不可能在 \\(w = 0\\) 处取得极小值。
总结:L1 正则化能将损失函数的极小值点“转移”到 \\(w = 0\\) 处,而 L2 正则化无论如何设置 \\(\\lambda\\) 都达不到这样的效果。
相关资料:
以上是关于为什么 L1 正则化能做特征选择而 L2 正则化不能的主要内容,如果未能解决你的问题,请参考以下文章