L0、L1及L2范数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了L0、L1及L2范数相关的知识,希望对你有一定的参考价值。

参考技术A 监督类学习问题其实就是在 规则化参数同时最小化误差 。最小化误差目的是让模型拟合训练数据,而规则化参数的目的是防止模型过分拟合训练数据。

对于L0范数,其优化问题为:

如果我们用L0范数来规则化一个参数矩阵W的话,就是希望W的大部分元素都是0。换句话说,让 参数W是稀疏 的。

在实际应用中,由于L0范数本身不容易有一个好的数学表示形式,给出上面问题的形式化表示是一个很难的问题,故被人认为是一个NP难问题。所以在实际情况中,L0的最优问题会被放宽到L1或L2下的最优化。

L1范数有很多的名字,例如我们熟悉的 曼哈顿距离 、 最小绝对误差 等。使用 L1范数可以度量两个向量间的差异,如绝对误差和 (Sum of Absolute Difference):

对于L1范数,它的优化问题如下: 

由于L1范数的天然性质,对L1优化的解是一个稀疏解,因此 L1范数也被叫做稀疏规则算子 。 通过L1可以实现特征的稀疏,去掉一些没有信息的特征 ,例如在对用户的电影爱好做分类的时候,用户有100个特征,可能只有十几个特征是对分类有用的,大部分特征如身高体重等可能都是无用的,利用L1范数就可以过滤掉。

L1范数是L0范数的最优凸近似。任何的规则化算子,如果他在Wi=0的地方不可微,并且可以分解为一个“求和”的形式,那么这个规则化算子就可以实现稀疏。W的L1范数是绝对值,|w|在w=0处是不可微。

        虽然L0可以实现稀疏,但是实际中会使用L1取代L0 。因为L0范数很难优化求解,L1范数是L0范数的最优凸近似,它比L0范数要容易优化求解。

二、L2范数

L2范数,又叫“岭回归”(Ridge Regression)、“权值衰减”(weight decay)。这用的很多吧,它的作用是 改善过拟合 。过拟合是:模型训练时候的误差很小,但是测试误差很大,也就是说模型复杂到可以拟合到所有训练数据,但在预测新的数据的时候,结果很差。

L2范数是指向量中各元素的平方和然后开根。

像L1范数一样, L2也可以度量两个向量间的差异,如平方差和 (Sum of Squared Difference): 

对于L2范数,它的优化问题如下: 

我们让L2范数的规则项||W||2最小,可以使得W的每个元素都很小,都接近于0。而越小的参数说明模型越简单,越简单的模型则越不容易产生过拟合现象。提高模型泛化能力。

三、L1范数和L2范数的差别

一个是绝对值最小,一个是平方最小:

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

L1最优化问题的解是稀疏性的,其倾向于选择很少的一些非常大的值和很多的insignificant的小值。而L2最优化则更多的非常少的特别大的值,却又很多相对小的值,但其仍然对 最优化解有significant的贡献。 但从最优化问题解的平滑性来看, L1范数的最优解相对于L2范数要少 ,但其往往是最优解,而 L2的解很多,但更多的倾向于某种局部最优解 。由于L1范数并没有平滑的函数表示,起初L1最优化问题解决起来非常困难,但随着计算机技术的到来,利用很多凸优化算法使得L1最优化成为可能。

CS231n课程笔记翻译:图像分类笔记(上)

L0范数本身是特征选择的最直接最理想的方案,但如前所述,其不可分,且很难优化,因此实际应用中我们使用L1来得到L0的最优凸近似。L2相对于L1具有更为平滑的特性,在模型预测中,往往比L1具有更好的预测特性。当遇到两个对预测有帮助的特征时,L1倾向于选择一个更大的特征。而L2更倾向把两者结合起来。

常见的一些范数及其应用场景,如L0,L1,L2,L∞,Frobenius范数

            范数(Norm)是具有度量性质的函数,它经常使用来衡量矢量函数的长度或大小,是泛函分析中的一个基本概念。在赋范线性空间中,p范数定义如下

技术分享图片
其中 其中 p∈R, p≥1.
范数具有3个性质,即
①非负性;
②齐次性;
③三角不等式。
在机器学习中,我们会遇到一些范数。本文中,将对这些范数给出介绍。
L^0 范数 有时候我们会统计向量中非零元素的个数来衡量向量的大小。有些学者将之称为“L^0范数”,但是这个术语不符合严格的数学定义。因此,L^1范数经常用作表示非零元素数目的替代函数。
L^1 范数 ║x║_1=│x_1│+│x_2│+…+│x^n│。
L^2 范数 ║x║_2=(│x_1│^2+│x_2│^2+…+│xn│^2)^{1/2}。
L^∞-范数 ║x║
∞=max(│x_1│,│x_2│,…,│x_n│)。
其中2-范数就是通常意义下的距离。
上述几种范数都是p范数的推导式,但是在机器学习中还有一类范数有些矩阵范数不可以由矢量范数来诱导,比如常用的Frobenius范数,其形式为
║A║F= (∑∑ a{ij}^2)^{1/2} (A全部元素平方和的平方根)。
容易验证F-范数是相容的,但当 min{m,n}>1 时 F-范数不能由向量范数诱导 (||E{11}+E{22}||_F=2>1)。
可以证明任一种矩阵范数总有与之相容的向量范数。

以上是关于L0、L1及L2范数的主要内容,如果未能解决你的问题,请参考以下文章

『教程』L0L1与L2范数_简化理解

L0,L1,L2范数及其应用

范数规则化L0L1与L2范数

机器学习中的范数规则化之L0L1与L2范数

机器学习中的范数规则化之L0L1与L2范数

paper 126: 机器学习中的范数规则化之L0L1与L2范数