赞
踩
线性模型常用来处理回归和分类任务,为了防止模型处于过拟合状态,需要用L1正则化和L2正则化降低模型的复杂度,很多线性回归模型正则化的文章会提到L1是通过稀疏参数(减少参数的数量)来降低复杂度,L2是通过减小参数值的大小来降低复杂度。下面我们从梯度角度进行分析。
L1正则化的损失函数为:
上式可知,当w大于0时,更新的参数w变小;当w小于0时,更新的参数w变大;所以,L1正则化容易使参数变为0,即特征稀疏化。
L2正则化的损失函数为:
由上式可知,正则化的更新参数相比于未含正则项的更新参数多了
η
λ
n
w
\frac{\eta \lambda }{n}w
nηλw项,当w趋向于0时,参数减小的非常缓慢,因此L2正则化使参数减小到很小的范围,但不为0。
更小的权值w,从某种意义上说,表示网络的复杂度更低,对数据的拟合刚刚好(这个法则也叫做奥卡姆剃刀)。
L0范数是指向量中非0的元素的个数。如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。
个人理解一是因为L0范数很难优化求解(NP难问题),二是L1范数是L0范数的最优凸近似,而且它比L0范数要容易优化求解。所以尽管L1范数和L0范数都可以实现稀疏,但L1因具有比L0更好的优化求解特性而被广泛应用。
L1在优化的时候,w在更新的时候,更偏向于收敛到0。也就是L1会趋向于产生少量的特征,而其他的特征都是0,使用L1可以得到稀疏的权值;所以L1适用于特征之间有关联的情况。
而L2在收敛的时候更偏向于收敛到到很小的参数,但一般不会是0。也就是L2会选择更多的特征,这些特征都会接近于0,使用L2可以得到平滑的权值;所以L2适用于特征之间没有关联的情况。
这个是什么缘由呢?其实就是,L2的求导后为一阶函数,对于大的w参数,惩罚作用大,对于小的w参数,惩罚作用小,很难惩罚到0,实际上起到了把大参数和小参数趋向于平均的作用;L1求导后为常数,无论对于大小参数,其惩罚作用一样,所以可以把小参数惩罚到0。
Lasso回归的损失函数在0处不可导,因此不能直接使用梯度下降法进行求解。可以使用坐标轴下降法,即在各个坐标轴方向上进行下降。坐标轴下降法和梯度下降法具有同样的思想,都是沿着某个方向不断迭代,但是梯度下降法是沿着当前点的负梯度方向进行参数更新,而坐标轴下降法是沿着坐标轴的方向。
坐标轴下降法的数学依据为:
因为参数的稀疏,在一定程度上实现了特征的选择。一般而言,大部分特征对模型是没有贡献的。这些没有用的特征虽然可以减少训练集上的误差,但是对测试集的样本,反而会产生干扰。稀疏参数的引入,可以将那些无用的特征的权重置为0.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。