首先我们看一下在机器学习中的损失函数
上述公式中的第二项就是正则项
我们为什么要使用正则化?
我们对梯度下降的式子进行推导一下:
故: θj:=θj−[1m∑i=1n(hθ(x(i))−y(i))2+2λθj]
由上可以看出,当正则项系数 λ 很大时,对参数的惩罚也将很大,导致在梯度更新后对应的 θj 值很小。由此可以使得对某些参数最终接近于 0 。而正则项系数 λ 即为模型复杂度的惩罚项,当其很大时,模型复杂度将变小,也就是模型将更为简单,不会使得对数据过于拟合。
从结构风险最小化角度来说,就是在经验风险最小化的基础上(即训练误差最小化),尽可能采用简单的模型,以此提高泛化预测精度。
使用正则化,我们通常用L1正则化和L2正则化,那么它们有什么区别呢?
- L1是模型各个参数的绝对值之和。
- L2是模型各个参数的平方和的开方值。
- L1会趋向于产生少量的特征,而其他的特征都是零,因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为零,产生稀疏权重矩阵。
- L2会选择更多的特征,这些特征都会接近于零,最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是零,当最小化‖w‖时,就会使每一项趋近于零。