1697 字
8 分钟
矩阵和向量的范数 (Norm)
2026-04-10
无标签
TIP

Question:为什么机器学习里总在说 L1 / L2 / 正则化?

范数的定义#

从数学的角度上讲,范数是一个函数,它接受一个向量作为输入,并输出一个非负实数,表示这个向量的“大小”或“长度”。范数必须满足以下三个条件:

  1. 非负性:对于任何向量 x\mathbf{x},范数 x\|\mathbf{x}\| 都必须是非负的,即 x0\|\mathbf{x}\| \geq 0,并且只有当 x=0\mathbf{x} = \mathbf{0} 时,x=0\|\mathbf{x}\| = 0

  2. 绝对齐次性:对于任何标量 α\alpha 和任何向量 x\mathbf{x},范数必须满足 αx=αx\|\alpha \mathbf{x}\| = |\alpha| \|\mathbf{x}\|。这意味着如果你将一个向量缩放一个标量,那么它的范数也会相应地缩放。

  3. 三角不等式:对于任何两个向量 x\mathbf{x}y\mathbf{y},范数必须满足 x+yx+y\|\mathbf{x} + \mathbf{y}\| \leq \|\mathbf{x}\| + \|\mathbf{y}\|。这意味着两个向量的和的范数不会超过它们各自范数的和。

  • 范数 ≠ 客观长度

  • 范数 = 人为定义的“评价标准”

向量范数#

1-范数(曼哈顿距离,L1)#

L1范数是向量元素绝对值的和。对于一个向量 x=(x1,x2,,xn)\mathbf{x} = (x_1, x_2, \ldots, x_n),L1范数定义为:

x1=x1+x2++xn\|\mathbf{x}\|_1 = |x_1| + |x_2| + \ldots + |x_n|

2-范数(欧几里得距离,L2)#

L2范数是向量元素的平方和的平方根。对于一个向量 x=(x1,x2,,xn)\mathbf{x} = (x_1, x_2, \ldots, x_n),L2范数定义为:

x2=x12+x22++xn2\|\mathbf{x}\|_2 = \sqrt{x_1^2 + x_2^2 + \ldots + x_n^2}

p-范数(Hölder范数,或Lp范数)#

Lp范数是向量元素的p次幂和的1/p次幂。 对于一个向量 x=(x1,x2,,xn)\mathbf{x} = (x_1, x_2, \ldots, x_n),Lp范数定义为:

xp=(x1p+x2p++xnp)1p\|\mathbf{x}\|_p = \left( |x_1|^p + |x_2|^p + \ldots + |x_n|^p \right)^{\frac{1}{p}}

单位球#

所有满足:

xp=1\|\mathbf{x}\|_p = 1

的点组成的集合。对于不同的范数,单位球的形状也不同:

范数形状
L2
L1菱形
L∞正方形

alt text

加权p-范数#

普通的范数视所有维度(所有特征)同等重要。但实际处理数据时,有些维度更重要,有些则包含更多噪声。通过对角矩阵 (一个方阵中,除了主对角线(从左上角到右下角的那条线)上有数字外,其余地方全是 0) WW,我们给不同的坐标轴加上了权重。

TIP

WW 是非奇异矩阵(不一定是角阵)时,这本质上是在做一个线性变换后再量长度。在机器学习中,这常用于处理数据不均匀缩放的情况(马氏距离的基础)

xp,W=Wxp=(i=1nwixip)1p\|x\|_{p,W} = \|Wx\|_p=\left( \sum_{i=1}^n |w_i x_i|^p \right)^{\frac{1}{p}}

矩阵范数#

诱导范数#

TIP

这里的 AxAx 是用外积的角度理解的,A的列和x中的元素一一对应,即AB=秩1矩阵之和

定义:A=supx0Axx\|A\| = \sup_{x \neq 0} \frac{\|Ax\|}{\|x\|}

如果把矩阵 AA 看作一个加工机器,输入向量 xxx\|x\| 是输入的”大小”。Ax\|Ax\| 是输出的”大小”。诱导范数 A\|A\| 就是这个机器能实现的最大“放大倍数”。

关于这个理解的数学细节:

NOTE
  • sup\sup 是上确界的意思,表示在所有非零向量 xx 中,Axx\frac{\|Ax\|}{\|x\|} 的最大值。
  • 这里面的下标 (m,n)(m),(n)(m,n),(m),(n) 仅表示向量的维度,而非 Lm 或 Ln 范数。符号 (m)\|\cdot\|_{(m)}(n)\|\cdot\|_{(n)} 可以表示任何同类型的向量范数。

一个m×nm \times n的矩阵AA,输入一个nn维向量xx,输出一个mm维向量AxAx。所以在定义域(输入空间)中定义范数(n)\|\cdot\|_{(n)},在值域(输出空间)中定义范数(m)\|\cdot\|_{(m)}。诱导矩阵范数A(m,n)\|A\|_{(m,n)}是使不等式

Ax(m)Cx(n)\|Ax\|_{(m)} \leq C \|x\|_{(n)}

对于所有xx成立的最小常数CC。换句话说,A(m,n)\|A\|_{(m,n)}是矩阵AA在输入空间和输出空间的范数定义下的最大放大倍数(Axx\frac{\|Ax\|}{\|x\|} 的上确界)。

称范数 (m,n)\|\cdot\|_{(m,n)} 为由向量范数 (m)\|\cdot\|_{(m)}(n)\|\cdot\|_{(n)} 诱导的矩阵范数。

因为放大倍数是一个比值,我们干脆把输入的长度固定为 1(单位圆/单位球),看看经过矩阵 AA 变换后,这个球被拉伸得最厉害的地方有多长。

常见的诱导范数#

具体的L1,L∞推导过程L2推导过程

输入范数 n\|\|\cdot\|\|_n输出范数 m\|\|\cdot\|\|_m诱导矩阵范数 Am,n\|\|A\|\|_{m,n}数学表示
L1L1列和范数(最大列和)A1=max1jni=1maij\|\|A\|\|_1 = \max_{1 \leq j \leq n} \sum_{i=1}^m\| a_{ij}\|
L2L2谱范数(A的最大奇异值A2=σmax(A)=λ1\|\|A\|\|_2 = \sigma_{\max}(A) = \sqrt{\lambda_1} ,其中 λ1\lambda_1ATAA^TA的最大特征值
L∞L∞行和范数(最大行和)A=max1imj=1naij\|\|A\|\|_\infty = \max_{1 \leq i \leq m} \sum_{j=1}^n \| a_{ij} \|

Frobenius范数#

Frobenius范数是矩阵元素的平方和的平方根。对于一个矩阵 A=[aij]A = [a_{ij}],Frobenius范数定义为:

AF=i=1mj=1naij2\|A\|_F = \sqrt{\sum_{i=1}^m \sum_{j=1}^n a_{ij}^2}

Frobenius范数可以看作是把矩阵拉直成一个 m×nm\times n 维的长向量,然后计算这个向量的 2-范数(欧几里得长度)

Frobenius范数与向量范数的联系#

  • 向量的2-范数可以看作是一个特殊的Frobenius范数:当矩阵 AA 是一个列向量时,记作x,n×1x, n\times 1 ,Frobenius范数就退化成了这个向量的2-范数:

    xF=i=1nxi2=x2\|x\|_F = \sqrt{\sum_{i=1}^n |x_i|^2} = \|x\|_2
  • 从矩阵的列向量角度理解,每一列 a:ja_{:j} 都是一个 n×1n\times 1 向量,Frobenius范数就是所有列向量的2-范数的平方和的平方根:

    AF=j=1na:j22\|A\|_F = \sqrt{\sum_{j=1}^n \|a_{:j}\|_2^2}
  • 同理,从矩阵的行向量角度理解,每一行 ai:a_{i:} 都是一个 1×m1\times m 向量,Frobenius范数也是所有行向量的2-范数的平方和的平方根:

    AF=i=1mai:22\|A\|_F = \sqrt{\sum_{i=1}^m \|a_{i:}\|_2^2}

基本性质#

有了和向量范数(2-范数)的联系,我们可以验证Frobenius范数满足范数的三个基本性质:

  • 非负性 :AF0\|A\|_F \geq 0,并且只有当 AA 是零矩阵时,AF=0\|A\|_F = 0
  • 绝对齐次性 :对于任何标量 α\alpha 和任何矩阵 AAαAF=αAF\|\alpha A\|_F = |\alpha| \|A\|_F
  • 三角不等式 :对于任何两个同型矩阵 AABBA+BFAF+BF\|A + B\|_F \leq \|A\|_F + \|B\|_F
TIP

简要证明一下三角不等式:

(a+b)2=a2+b2+2aba2+b2\sqrt{\sum{(a+b)}^2}=\sqrt{\sum{a}^2+\sum{b}^2+2\sum{ab}}\leq \sqrt{\sum{a}^2}+\sqrt{\sum{b}^2}
  • 这玩意可以和矩阵的秩联系起来,若 aja_j 表示矩阵的第j列向量,那么 AF=j=1naj22=tr(ATA)=trAAT=Energe(A)\|A\|_F = \sqrt{\sum_{j=1}^n \|a_j\|_2^2}=\sqrt{\text{tr}(A^T A)}=\sqrt{\text{tr}AA^T}=Energe(A)

  • 矩阵范数的相容性(Compatibility)或次可乘性(Sub-multiplicativity):两个矩阵乘积的范数,总是小于或等于这两个矩阵各自范数的乘积。ABFAFBF\|\|AB\|_F \leq \|\|A\|_F \cdot \|\|B\|_F

    • 值得注意的是,Frobenius 范数还满足算子相容性:Ax2AFx2\|Ax\|_2 \leq \|A\|_F \|x\|_2这说明矩阵对向量的变换程度,也不会超过矩阵自身的 Frobenius 范数。等号右边的值远大于左边是正常的,因为这只是一个松散的上界(Upper Bound)。只有当矩阵的结构非常特殊(如秩为 1 的矩阵)时,等号才可能成立。
  • 由2推广,当 B=A1B=A^{-1} 时,可以证明:一个F范数为 ϵ\epsilon 的n阶矩阵 AA 满足 A1Fnϵ\|A^{-1}\|_F \geq \frac{\sqrt{n}}{\epsilon}

矩阵和向量的范数 (Norm)
https://biscuit0613.github.io/posts/lineralgebra/norm/
作者
Biscuit
发布于
2026-04-10
许可协议
CC BY-NC-SA 4.0