L1范数和L2范数的区别

L1范数和L2范数的区别

@(deepLearning)

范数 norm

范数是衡量某个向量空间(或矩阵)中的每个向量以长度或大小。
xp:=(i=1nxip)1p\left \| x\right \|_p := \left( \sum_{i=1}^{n}\left|x_i\right|^p\right)^{\frac{1}{p}}

  • L0范数:向量中非0的元素的个数。
  • L1范数:向量各元素的绝对值之和。也称为稀疏规则化算子(Lasso regularization),是L0范数的最优凸近似。
  • L2范数:向量各元素的平方和的开方值。

参数空间(parameter space)

θΘ\theta\in\ThetaΘ\Theta表示θ\theta的取值范围,那称Θ\Theta为参数空间。

任何规则化算子,如果它在wi=0w_i =0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。

question?

  • 参数稀疏有什么好处?(L1范数可以实现稀疏)
    \quad 1)特征选择(Feature Selection):实现特征的自动选择,保留下重要的参数,大多数参数置为0,可以简化模型。
    \quad 2)可解释性:使得模型获得更好的解释性(起作用的参数不多,大部分参数都为0)。
  • 为什么参数值越小代表模型越简单吗?
    \quad因为越复杂的模型,越会对所有的样本进行拟合,甚至包括一些异常样本点,这就容易造成在较小的区间里预测值产生较大的波动,这种较大的波动也反映了在这个区间里的导数很大,而只有较大的参数值才能产生较大的导数。因此复杂的模型,其参数值会比较大。
  • 为什么L2范数可以防止过拟合(overfitting)?
    \quad让规则项W2||W||^2最小,可以使得WW中每一个参数都很小,接近于0,限制了参数的空间,降低了模型的复杂度,提升了模型的泛化能力。越小的参数说明模型越简单,越不容易产生过拟合。

1)假设给定的问题只有两个参数。Lasso:β1+β2s|\beta_1 |+|\beta_2|\le s,Ridge:β12+β22s\beta_1^2+\beta_2^2\le s
L1范数和L2范数的区别

  • Lasso约束函数域在每个轴上都有尖角,因此椭圆经常和约束函数域相交。发生这种情况时,其中一个系数就会等于 0。在高维度时(参数远大于2),许多系数估计值可能同时为 0。
    所以**Lasso可以选择特征,产生稀疏模型**。
  • Ridge岭回归的约束函数域没有尖角,所以这个交点一般不会产生在一个坐标轴上,也就是说岭回归的系数估计全都是非零的。所以模型的解释性很弱。如果大部分特征都能起作用,而且起的作用很平均,那么使用岭回归也许更合适。

2)下降速度:(L1的下降速度比L2的下降速度要快)
L1范数和L2范数的区别


总结

L1范数会趋向于产生少量的特征,而其他的特征都是0,而L2范数会选择更多的特征,这些特征都会接近于0。