正则化方法小结

摘要:
提到正则化,想到L1范数和L2范数。p在(0,1)范围内定义的并不是范数,因为违反了三角不等式。因此,在实际应用中我们经常对L0进行凸松弛,理论上有证明,L1范数是L0范数的最优凸近似,因此通常使用L1范数来代替优化L0范数。L1范数与L2范数的区别如图,蓝色圆圈表示问题可能的解范围,橘色圆圈表示正则项可能的解范围。L1范数相当于加入了一个Laplacean先验。

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

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

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

LP范数

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

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

正则化方法小结第1张

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

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

正则化方法小结第2张

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

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

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

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

正则化方法小结第3张

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

L1范数

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

正则化方法小结第4张

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

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

最直接的两个:

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

L2范数

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

正则化方法小结第5张

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

L1范数与L2范数的区别

正则化方法小结第6张

如图,蓝色圆圈表示问题可能的解范围,橘色圆圈表示正则项可能的解范围。而整个目标函数(原问题+正则项)有解当且仅当两个解范围相切。从图看出,由于L2范数解范围是圆,所以相切的点有很大可能不在坐标轴上,而由于L1范数是菱形(顶点是凸出来的),其相切的点更可能在坐标轴上,而坐标轴上的点有一个特点,其只有一个坐标分量不为0,其他坐标分量为0,即稀疏的。所以有如下结论,L1范数可以导致稀疏解,L2范数导致稠密解。

从贝叶斯先验的角度看,当训练一个模型时,仅依靠当前的训练数据集是不够的,为了实现更好的泛化能力,往往需要加入先验项,而加入正则项相当于加入了一种先验。

  1. L1范数相当于加入了一个Laplacean先验。
  2. L2范数相当于加入了一个Gaussian先验。

更详细的L1范数和L2范数区别,点击《L1和L2正则化解释》

免责声明:文章转载自《正则化方法小结》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇php:// 访问各个输入/输出流Matlab step方法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

机器学习(二十一)— 特征工程、特征选择、归一化方法

  特征工程:特征选择,特征表达和特征预处理。 1、特征选择   特征选择也被称为变量选择和属性选择,它能够自动地选择数据中目标问题最为相关的属性。是在模型构建时中选择相关特征子集的过程。   特征选择与降维不同。虽说这两种方法都是要减少数据集中的特征数量,但降维相当于对所有特征进行了重新组合,而特征选择仅仅是保留或丢弃某些特征,而不改变特征本身。 降维常...

欠拟合、过拟合及解决方法

一、欠拟合     首先欠拟合就是模型没有很好的捕捉到数据特征,不能够很好的拟合数据,如下面的例子:         左图表示size和prize关系的数据,中间的图就是出现欠拟合的的模型,不能够很好的拟合数据,如果在中间的多项式上再加一个二项式,就可以很好的拟合数据了,如右图所示。         解决方法: 1、添加其它的特征项,有时候模型欠拟合是数...

YOLO v4分析

YOLO v4分析 YOLO v4 的作者共有三位:Alexey Bochkovskiy、Chien-Yao Wang 和 Hong-Yuan Mark Liao。其中一作 Alexey Bochkovskiy 是位俄罗斯开发者,此前曾做出 YOLO 的 windows 版本。那么,YOLOv4 性能如何呢? 在实际研究中,有很多特性可以提高卷积神经网络(...

盲去模糊之模型与算法

  写这篇博客的缘由:   对于专利《基于边缘自适应的高效图像盲去模糊方法》,是关于图像处理方面的,平时写代码和分析问题时一套一套的,很长时间不讲突然要向别人说就磕磕巴巴的也说不清楚。遂有了要认真思考,并陈述总结自己所学的想法。虽然以后并不定做盲去模糊方面的东西,但所学总有相通。遂写下这篇文章描述整体思路。 背景:拍照过程中相机抖动、离焦、散焦或目标物体...

范数与距离

范数与距离 目录 范数与距离 距离的概念 范数的概念 向量范数与矩阵范数的理解 范数的分类 1.L-P范数 2.L0范数 3.L1范数 4.L2范数 距离的分类1.欧氏距离——对应L2范数 距离的概念 给定一个集合(V),在(V)上定义一种新的运算:距离:(V imes V ightarrow R,forall x,y in V,)在(...

Numpy入门学习之(二)linalg库----向量范数、矩阵范数、行列式、矩阵逆、幂

转自:https://blog.csdn.net/qq_30138291/article/details/76327051   老师课堂总结,请勿转载 Numpy中的核心线性代数工具 numpy.linalg模块包含线性代数的函数。使用这个模块,我们可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。 求解矩阵的范数 在实数域中,数的大小和两个数之间的...