L1相较于L2的稀疏性
在机器学习中,常见的正则化项有L1(
(本文部分内容和图片引用自:https://www.zhihu.com/question/37096933?sort=created)
什么是稀疏性
相信大家都听过一个名词——稀疏矩阵,在矩阵中,若数值为0的元素数目远远多于非0元素的数目时,则称该矩阵为稀疏矩阵;与之相反,若非0元素数目占大多数时,则称该矩阵为稠密矩阵.
在矩阵中,如果矩阵元素0的数目非常多,则可以称之为稀疏矩阵。同理,L1的稀疏性,指的就是在加了L1正则项后,模型的解
为何L1相较于L2能够得到稀疏解
首先,用几张图片来大致解释一下L1的稀疏性。
假设,我们有个Loss函数,
可以发现极小值是在图中的绿色点处,
在分别加了L1正则项和L2正则项后,他们的曲线图如下:
其中蓝色的是加了L2正则项的loss曲线(
观察图中曲线可以发现,加了L2正则项后,极小值处的解变小了,这说明正则项起到了效果,但是最优解是接近0但不等于0的值,因此不是稀疏解。而加了L1正则项后,极小值的解变为了0,因此L1相较于L2具有稀疏性。
事实上,两种正则化能不能把最优的w变成 0,取决于原先的loss函数在 0 点处的导数。如果本来导数不为 0,那么施加 L2 后导数依然不为 0,最优的 w 也不会变成 0。而施加 L1 时,只要 L1 项的系数
那么为何只要
下面从理论的角度来分析一下:
对于
当
当
故,只要