前面通过学习大致知道了L1和L2正则化的作用:
L1正则化:会使权重中的某些值在训练过程中变为0,从而达到使网络稀疏化的效果
L2正则化:极小的概率会使权重变为0,但是同样能够使权重相比他拟合数据集后应该成为的值变得更小,从而减小过拟合的风险,所以从这个角度来看,L1正则化同样具有一定的防止过拟合的效果,毕竟都已经稀疏了。
那么我们就从L1和L2的公式来看一下为什么L1具有稀疏化的作用:
L1:
L2:
分别使Loss对w进行求导,假如第一项Loss对w的导数为a,则
L2:
由L2正则化的损失函数对wj的导数可以看出,如果导数为0时, , 因此当该导数最小的时候不会是w = 0的时候,除非a = 0,那这样我们还需要训练啥,损失值导数都为0了, 换句话说,当损失函数最小的时候,L2正则化的w不会是0,也就达不到稀疏的效果
L1:
假如当w < 0时,也就是第一个公式值小于0, 而当w > 0时,第二个公式值大于0,那也就是说,w = 0处梯度的值为0, 此时梯度最小,达到训练效果。当然并不是所有的wj都会满足 前面的条件,所以不会所有的w都会变成0,也就是稀疏矩阵咯