L1和l2正则化项,又叫惩罚项,是为了限制模型的参数,防止模型过拟合而加在损失函数后面的一项
在前面的逻辑回归的目标函数中也加了L2正则,就是为了防止参数太大,防止过拟合。
两者的区别
1.L1是模型各个参数的绝对值之和。
L2是模型各个参数的平方和的开方值。
2.L1会趋向于产生少量的特征,而其他的特征都是0.
因为最优的参数值很大概率出现在坐标轴上,这样就会导致某一维的权重为0 ,产生稀疏权重矩阵
L2会选择更多的特征,这些特征都会接近于0。
最优的参数值很小概率出现在坐标轴上,因此每一维的参数都不会是0。当最小化||w||时,就会使每一项趋近于0
大家应该都会有一些疑问?
为什么要参数越小,模型越简单
因为在前面我们讲过,根据逻辑回归的目标函数的求解,想要达到最好的效果,那么w值会变得很大,甚至无穷大,也就是对每一个样本点都进去采集,这就会造成在较小的区间中产生较大的波动,这个较大的波动也会反映在这个区间的导数比较大。只有越大的参数才可能产生较大的导数。因此参数越小,模型就越简单
实现参数的稀疏有什么好处
为参数的稀疏,在一定程度上实现了特征的选择。一般而言,大部分特征对模型是没有贡献的。这些没有用的特征虽然可以减少训练集上的误差,但是对测试集的样本,反而会产生干扰。稀疏参数的引入,可以将那些无用的特征的权重置为0.
为什么L1正则会使大部分参数为0呢?
看下图所示,L1正则是菱形等高线,而在坐标轴和目标函数的相交才是最优值,其他等高线都是0而L2正则是一个椭圆形,很少有最优解出现在坐标轴,所以参数可能会趋向很小,但是不会为0.
image.png
在实际使用中,如果特征是高维稀疏的内,则使用L1正则;如果特征是低维稠密的,则使用L2正则
也可以添加两个的组合版
image.png
网友评论