向量的尺子:范数是什么,又有什么用?

创建时间:2026-07-22 更新时间:2026-07-22 阅读次数:1004 次

想象一下,你手中有一根箭,不仅知道它指向哪里,还想知道它有多长。在数学和计算机的世界里,测量向量“长度”或“大小”的工具,就叫范数

简单说,向量的范数是一个函数,它给每个向量打一个非负的分数,分数越高,代表向量在这个定义下的“尺寸”越大。

1. 范数的三条“铁律”

不是随便一个函数都能叫范数。一个合法的范数 $ \lVert \cdot \rVert $ 必须满足三个条件:

  • 非负性:向量的长度不能为负,只有零向量长度才为零。即 $\lVert \mathbf{x} \rVert \ge 0$,且 $\lVert \mathbf{x} \rVert = 0$ 当且仅当 $\mathbf{x} = \mathbf{0}$。
  • 齐次性:把向量沿直线拉伸 $k$ 倍,其长度也按 $|k|$ 的倍数拉伸。即 $\lVert k\mathbf{x} \rVert = |k| \cdot \lVert \mathbf{x} \rVert$。
  • 三角不等式:两点之间线段最短,走折线总是更远。即 $\lVert \mathbf{x} + \mathbf{y} \rVert \le \lVert \mathbf{x} \rVert + \lVert \mathbf{y} \rVert$。

这三条规则构成了“长度”这个概念最本质的内核。

2. 经典的 $L_p$ 范数家族

我们最常用的是 $L_p$ 范数,它有一个统一的计算公式。对于向量 $\mathbf{x} = (x_1, x_2, \ldots, x_n)$,其 $L_p$ 范数定义为:

$$ \lVert \mathbf{x} \rVert_p = \left( \sum_{i=1}^{n} |x_i|^p \right)^{1/p} $$

这里的 $p$ 是一个大于等于 1 的实数。改变 $p$ 的值,就像换了一把不同刻度的尺子。

$L_1$ 范数:曼哈顿距离

当 $p=1$ 时,称为 $L_1$ 范数,又叫“曼哈顿范数”。它就是向量所有元素绝对值之和:

$$ \lVert \mathbf{x} \rVert_1 = |x_1| + |x_2| + \ldots + |x_n| $$

想象你在曼哈顿的棋盘式街道中,从 A 点到 B 点,你不能直线穿过大楼,只能沿街道水平或垂直移动。$L_1$ 范数测量的就是这种“折线”距离。

它的一大特点是容易产生稀疏性。在机器学习中,给损失函数加上 $L_1$ 范数惩罚项(Lasso 回归),会迫使很多不重要的模型参数直接变为 0,从而自动完成特征选择,让模型变得简洁。

$L_2$ 范数:欧氏距离

当 $p=2$ 时,这就是我们最熟悉的“欧几里得范数”,也是初高中学的直线距离:

$$ \lVert \mathbf{x} \rVert_2 = \sqrt{x_1^2 + x_2^2 + \ldots + x_n^2} $$

它测量的是点到原点的直线距离,完全符合我们的几何直觉。在物理中,一个粒子的速度矢量大小就是 $L_2$ 范数。

在机器学习中,给损失函数加上 $L_2$ 范数惩罚项(岭回归),它会将所有参数都往零的方向压缩,但通常不会精确为零。这能有效防止模型过拟合,且求解过程稳定光滑,应用极广。

$L_\infty$ 范数:切比雪夫距离

当 $p$ 趋近于无穷大时,就得到了 $L_\infty$ 范数。它等于向量中绝对值最大的那个元素的值:

$$ \lVert \mathbf{x} \rVert_\infty = \max(|x_1|, |x_2|, \ldots, |x_n|) $$

这就像国际象棋中的国王,从一个格子走到另一个格子所需的最少步数,完全取决于横、纵坐标差值中最大的那一个。在工程中,如果我们关心一个信号的最大偏差,看的就是它的 $L_\infty$ 范数。

3. 范数的作用:不止于测量长度

如果范数只是测量长度,那它还不够重要。它的真正威力,在于作为工具去解决各类问题。

衡量误差与优化目标 在机器学习、数据拟合中,我们通常希望模型的预测值 $\hat{y}$ 与真实值 $y$ 之间的误差尽可能小。这个“误差”就是一个向量 $\mathbf{e} = y - \hat{y}$。我们选择不同的范数来测量它:

  • 用 $\lVert \mathbf{e} \rVert_2^2$ 作为损失函数,就是我们最常用的“最小二乘法”。它对大误差惩罚极重,会拼命照顾到所有点,但对异常值敏感。
  • 用 $\lVert \mathbf{e} \rVert_1$ 作为损失函数,对异常值(离群点)更鲁棒,因为它的惩罚是线性的,不会像平方那样放大异常值的影响。

正则化,对抗过拟合 这是范数在机器学习中最闪耀的应用之一。一个复杂的模型很容易死记硬背训练数据,导致在新数据上表现糟糕,这就是过拟合。应对方法是把模型参数向量的范数作为惩罚项,加到损失函数里,强迫参数变小、模型变简单。就像前面介绍的,$L_1$ 范数惩罚带来稀疏解,$L_2$ 范数惩罚带来平滑压缩解。

定义空间与收敛性 在更底层的数学分析里,向量的集合构成了一个空间。给这个空间装备了范数,就变成了一个“赋范空间”。有了范数,我们就能严格地谈论两个向量有多接近,什么叫做一个向量序列收敛到零。这是所有现代数值计算和算法收敛性证明的基石。

总而言之,向量的范数是抽象的“尺寸”概念的严谨数学表达。它不仅是几何中的尺子,更是数据科学中控制误差、抑制噪声、塑造模型形态的核心思想。下次看到“范数”这个词,不妨想想:它不过是在用一把特别的尺子,丈量高维空间中的奥秘罢了。

本教程共19节,当前为第7节!
本教程最新修订时间为:2026-07-22 00:39:56