正则化方法小结

来自:https://mp.weixin.qq.com/s/CDMBQPgzcrjbZ_sX01q2hQ

在算法中使用正则化的目的是防止模型出现过拟合。

提到正则化,想到L1范数和L2范数。在这之前,先看LP范数是什么。

LP范数

范数简单理解为向量空间中的距离,距离定义很抽象,只要满足非负、自反、三角不等式就可以称之为距离。

LP范数不是一个范数,而是一组范数,定义为:

p的范围[1, +∞]。p在(0,1)范围内定义的并不是范数,因为违反了三角不等式。

根据p的变化,范数也有着不同的变化,借用一个经典的有关p范数的变化图如下:

上图表示了p在(0,+∞)变化时,单位球(unit ball)的变化情况。

p范数下定义的单位球都是凸集,但是当0<p<1时,该定义下的单位球不是凸集(0<p<1不是范数)。

剩下当p = 0时,即L0范数啥玩意?

L0范数表示向量中非0元素的个数,公式表示如下:

我们可以通过最小化L0范数,来寻找最少最优的稀疏特征项。但不幸的是,L0范数的最优化问题是一个NP-hard问题(L0范数是非凸的)。因此,在实际应用中我们经常对L0进行凸松弛,理论上有证明,L1范数是L0范数的最优凸近似,因此通常使用L1范数来代替优化L0范数。

L1范数

L1范数就是当p = 1时,数学形式:

通过上式得出,L1范数就是向量各元素的绝对值之和,也被称为是“稀疏规则算子”(Lassoregularization)。

那么问题来了,为什么稀疏化?

最直接的两个:

  1. 特征选择
  2. 可解释性

L2范数

L2范数就是欧几里得距离,公式:

L2范数有很多名称,有人把它的回归叫“岭回归”(Ridge Regression),也有人叫它“权值衰减”(Weight Decay)。以L2范数作为正则项可以得到稠密解,即每个特征对应的参数w都很小,接近于0但是不为0;此外,L2范数作为正则化项,可以防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。

L1范数与L2范数的区别

猜你喜欢

转载自www.cnblogs.com/keye/p/10220206.html