[算法面试]_01_L1和L2正则化,为什么L1正则化更容易导致稀疏?

本人今年参加了很多面试,也有幸拿到了一些大厂的offer,整理了众多面试资料,后续还会分享众多面试资料。
整理成了面试系列,由于时间有限,每天整理一点,后续会陆续分享出来,感兴趣的朋友可关注+收藏

同时,也欢迎查看开发面试经验合集:
Java、Android面试高频系列文章合集

1. L1和L2正则化

这篇讲得非常好:https://zhuanlan.zhihu.com/p/376000306
两者是用来控制模型复杂度和防止过拟合的常见手段,其公式如下:
在这里插入图片描述
其中L1正则化是加上参数的绝对值的和,而L2正则化是加上参数的平方和。

(1)L1正则化
L1正则化通过向损失函数添加参数的绝对值之和来惩罚模型的复杂度。L1正则化倾向于使一些参数变为0,从而可以用于特征选择,即自动减少不重要的特征。这使得模型更具稀疏性,有助于降低特征维度和模型复杂度。

(2)L2正则化
L2正则化通过向损失函数添加参数的平方之和来惩罚模型的复杂度。与L1正则化不同,L2正则化不会强制使参数变为零,但会让参数逐渐趋近于零。L2正则化会使各参数相对更加平滑,提高模型的稳定性。

2. 为什么L1正则化会导致稀疏呢?

对公式求导,就可以看0附近的导数是否导致0是其邻域内的极值点,如下所示:
在这里插入图片描述
在这里插入图片描述
上面的推导表明,对于L1,0的邻域内,存在某种条件,使得导数先负后正,即函数先减后增,所以0是极值点。而条件是:原损失函数J在某参数为0处的导数在(−a/n,a/n)范围内。这个条件,说直白一点就是有没有某特征对损失函数影响不大。

而L2在0处的导数,就等于J在0处的导数。只有当原始优化问题的最优解本身就是稀疏解的时候,才会使得该参数为0,而这个显然不常见。

基于此当极值点是wi=0时,在反向传播时就会更倾向于将将wi优化至0.

  • 11
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值