在机器学习中,我们经常使用被称为范数(norm)的函数衡量向量大小。形式上,
Lp
范数的定义如下:
||x||p=(∑i|xi|p)1p
其中 p∈R , p≥1 。
范数(包括 Lp 范数)是将向量映射到非负值的函数。直观上说,向量 x 的范数衡量从原点到点
f(x)=0⇒x=0f(x+y)≥f(x)+f(y)(三角不等式)∀α∈R,f(αx)=|α|f(x)
当p=2时, L2 范数被称为 欧几里得范数(Euclidean norm)。它表示从原点出发到向量 x 确定的点的欧几里得距离。
平方 L2 范数在数学和计算上都比 L2 范数本身更方便。例如,平方 L2 范数对 x 中每个元素的导数只取决于对应的元素,而
||x||1=∑i|xi|
当机器学习问题中零和非零元素之间的差异非常重要时,通常会使用 L1 范数。每当 x 中某个元素从
有时候我们会统计向量中非零元素的个数来衡量向量的大小。有些书籍将这种函数称为“ L0 范数”,但是这个术语在数学意义上是不对的。向量的非零元素的数目不是范数,因为对向量缩放 α 倍不会改变该向量非零元素的数目。因此, L1 范数经常作为表示非零元素数目的替代函数。
另外一个经常在机器学习中出现的范数是 L∞ 范数,也被称为 最大范数(max norm)。这个范数表示向量中具有最大幅值的元素的绝对值:
||x||∞=maxi|xi|
有时候我们可能也希望衡量矩阵的大小。在深度学习中,最常见的做法是使用 Frobenius范数(Frobenius norm),
||A||F=∑i,jA2i,j−−−−−−√
其类似于向量的 L2 范数。
两个向量的 点积(dot product)可以用范数来表示。具体地,
xTy=||x||2||y||2cosθ
其中 θ 表示 x 和