[DL Note] 线性代数:范数
Contents [show]
1. 向量的范数
1.1. L2 范数
向量 v 的长度(或称为L2 范数、欧几里得范数)是非负数 ‖v‖2,定义为
‖v‖2=√v⋅v=√v21+v22+⋯+v2n=√∑iv2i
如果 v 是 R2 中的向量,比如 v=[ab],可以用 v 表示平面上的几何点 (a,b),此时 ‖v‖ 等于平面内原点到 v 的线段长度。类似地,如果 v 是 R3 中的向量,则 v 表示三维空间中的一个点,‖v‖ 等于空间内原点到 v 的线段长度。
两个向量的点积可以用范数来表示,例如
uTv=‖u‖2‖v‖2cosθ
其中 θ 为 u 和 v 的夹角。
长度为 1 的向量称为单位向量。如果把一个非零向量除以其自身的长度,即乘以 1‖v‖,就可以得到一个单位向量,即 u=v‖v‖。这种把向量 v 化成单位向量 u 的过程,称为向量 v 的单位化,此时 u 和 v 方向一致。
相比 L2 范数本身,L2 范数的平方
‖v‖22=v⋅v=∑iv2i
在求导计算上更加方便。对于任意向量 v,其 L2 范数的平方对于 v 中任意元素的导数只与该元素有关;而 L2 范数由于经过开方,其关于 v 中任意元素的导数都与整个向量有关。
L2 范数的平方在远点附近增长很慢,在机器学习应用中,如果需要区分恰好是零的元素和很接近零的非零元素,则可以使用 L1 范数。
1.2. L1 范数
L1 范数的定义为
‖v‖1=∑i|vi|
L1 范数在各个位置斜率相同,且形式简单。在机器学习应用中,如果零和非零元素之间的差异很重要,则通常会使用 L1 范数。
1.3. Lp 范数
更一般地,向量 v 的 Lp 范数定义为
‖v‖p=(∑i|vi|p)1p
范数将向量映射到一个非负值,具有如下性质:
- ‖x‖=0⇒x=0
- ‖x+y‖≤‖x‖+‖y‖(三角不等式)
- 对 ∀c∈R,有 ‖cv‖=|c|‖v‖
1.4. 其他范数
如果我们只统计向量中非零元素的个数,则得到所谓的“L0 范数”。确切来讲,L0 范数并不是范数,它不满足 1.3 中的性质 3。L1 范数经常作为 L0 范数的替代。
最大范数 L∞ 定义为向量中具有最大绝对值的元素的绝对值,即
‖v‖∞=maxi|xi|
2. 矩阵的范数
类似有向量的 L2 范数,矩阵的 Frobenius 范数定义为
‖A‖F=√∑i,jA2i,j
即矩阵元素的平方和再开平方。