L1范数
作用:使解变为一个稀疏解,降低过拟合。
- 为什么会参产生稀疏解
参考https://zhuanlan.zhihu.com/p/129024068
因为在0处可能是极小点(可能性受惩罚系数影响),因此容易收敛到极小点,也就是0处,产生稀疏。
- 为什么稀疏解可以降低过拟合
在特征很多,或者模型很复杂,但训练数据很少时,程序很容易因为训练过度而过拟合,通过稀疏,参数中为0的位非常多,这些位对应的特征是不起作用的,起作用的只有少数非0位的特征。起到了特征选择的作用,去除了一些无用特征或噪声特征。
L2范数
作用:同样有降低过拟合的作用,并使导数曲线更平滑。
- 如何降低过拟合
限制多项式中某些分量的影响,从而降低对数据扰动的敏感。
- 为什么参数会变小(为什么会获得很小的参数解)
参考了https://blog.csdn.net/jinping_shi/article/details/52433975
每次迭代,参数都会先乘以一个小于1的系数,因此会不断衰减。
有关L1、L2的讨论
惩罚系数:
L1:系数越大,得到的解越稀疏
L2:系数越大,得到的解越小,但不稀疏。
原因:L1在损失函数的导数中会产生减一个常数,一直迭代会减到0,因此会稀疏.而L2中,会多乘一个小于1的因子,因此会平滑,但不会变0.