在机器学习 & 深度学习中常常用到范数,那么范数到底是干什么用的呢?
其实范数的主要作用是衡量一个向量的大小,就是将向量映射到非负值的函数。直观讲就是:向量
x
x
x 的范数衡量 从原点到点
x
x
x 的距离。
形式上,
L
p
L^p
Lp 范数定义为:
∥
x
∥
p
=
(
∑
i
∣
x
i
∣
p
)
1
p
\Vert x \Vert_p = \Biggl( \sum_i { \vert x_i \vert }^p \Biggr)^{\frac1p}
∥x∥p=(i∑∣xi∣p)p1
1、欧几里得范数 – L 2 L^2 L2范数
当 p = 2 p=2 p=2 时,我们称之为 L 2 L^2 L2 范数,也称为 欧几里得范数;常化简为 ∥ x ∥ \Vert x \Vert ∥x∥
它表示从原点出发 到向量 x x x 确定的点 的欧几里得距离。
2、平方 L 2 L^2 L2 范数
平方 L 2 L^2 L2 范数也常常用来衡量向量的大小,可以见的 平方 L 2 L^2 L2 范数相比 L 2 L^2 L2 范数没有开方,因此可以简单的通过点积 x T ⋅ x x^T \cdot x xT⋅x 计算
3、 L 1 L^1 L1 范数
L
1
L^1
L1 范数可以简化为
∥
x
∥
1
=
∑
i
∣
x
i
∣
\Vert x \Vert _1 = \sum_i {\vert x_i \vert}
∥x∥1=i∑∣xi∣
当机器学习问题中 零和非零元素之间的差异非常重要时,通常会使用 L 1 L^1 L1 范数。 L 1 L^1 L1 范数经常作为表示非零元素数目的替代函数。
4、 L ∞ L^\infty L∞ 最大范数
这个范数表示向量中最大幅值的元素的绝对值
∥ x ∥ ∞ = max i ∣ x i ∣ \Vert x \Vert_\infty = \max_i {\vert x_i \vert} ∥x∥∞=imax∣xi∣
5、Frobenius 范数 – F范数
Frobenius 范数 与上述范数不同,Frobenius 范数是一个衡量 矩阵大小的范数,在深度学习中使用较多。
∥ A ∥ F = ∑ i , j a i , j 2 \Vert A \Vert _F = \sqrt{ \sum_{i,j}{a_{i,j}^2}} ∥A∥F=i,j∑ai,j2
即:矩阵 A A A 全部元素平方和的平方根。