[关闭]
@wuxin1994 2017-10-05T12:49:33.000000Z 字数 1292 阅读 1417

范数

math


什么是范数

范数是一种强化了的距离概念。他在定义上比距离多了一条数乘的运算法则。
数学上,范数包括向量范数和矩阵范数。向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。一种非严密的解释就是,对应向量范数,向量空间中的向量都是有大小的,这个大小如何度量,就是用范数来度量的,不同的范数都可以来度量这个大小。对于矩阵范数,已知AX=B,可以将向量X变化为B,而矩阵范数就是来度量这个变化大小的。

L-P范数

L-P范数不是一个范数,而是一组范数。定义如下:

L0范数

上式中,当p=0时,就是L0范数。L0范数并不是一个真正的范数,它主要用来度量向量中非零元素的个数。L-0的定义为:


其优化问题为:

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

L-1范数

L1范数是我们经常见到的一种范数,它的定义如下:


表示向量x中非零元素的绝对值之和。
L1范数有许多别称,比如曼哈顿距离,最小绝对误差等等。使用L1范数可以度量两个向量间的差异,如绝对误差和(Sum of Absolute Difference):

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

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

L2范数

我们来度量欧式距离的就是一种L2范数,它的定义如下:


表示向量元素的平方和再开平方。
L2也可以用来度量两个向量之间的差异,如平方差和(Sum of Squared Difference):

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

L2范数通常会被用来做优化目标的正则化项,防止模型为了迎合训练集而过于复杂造成过拟合的情况,从而提高模型的泛化能力。

L-∞范数

当P=∞时,也就是L-∞范数,它主要被用来度量向量元素的最大值。用上面的L-P定义可以得到的L∞的定义为:


通常情况下,大家用的都是:

来表示L-∞范数。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注