机器学习数学基础 120 章

范数与距离

层级:A|必学

1. 为什么“大小”和“远近”需要正式规则

机器学习要衡量预测误差、参数规模、样本相似性和扰动大小。范数给单个向量定义大小,距离给两个对象定义远近。选择不同范数会改变最近邻、聚类、正则化和鲁棒性的几何结构。

2. 范数的定义条件

向量范数 x\|\boldsymbol x\| 必须满足:

  1. 非负性:x0\|x\|\ge0,且 x=0\|x\|=0 当且仅当 x=0x=0
  2. 绝对齐次性:cx=cx\|c x\|=|c|\|x\|
  3. 三角不等式:x+yx+y\|x+y\|\le\|x\|+\|y\|

它是绝对值在高维的推广。并非任何“聚合分量大小”的公式都是范数。

3. Lp 范数

p1p\ge1

xp=(j=1dxjp)1/p.\|\boldsymbol x\|_p =\left(\sum_{j=1}^{d}|x_j|^p\right)^{1/p}.

L1 范数

x1=jxj.\|\boldsymbol x\|_1=\sum_j|x_j|.

x=(3,4)x=(3,-4),L1 范数为 7。几何上像沿城市街区横竖行走,故相关距离称 Manhattan 距离。L1 正则化倾向产生精确为零的参数。

L2 范数

x2=jxj2.\|\boldsymbol x\|_2=\sqrt{\sum_jx_j^2}.

同一向量 L2 范数为 5。它是 Euclidean 长度,旋转坐标系后不变。平方 L2 范数 x22\|x\|_2^2 方便求导,但严格说平方范数本身不是范数,因为不满足绝对齐次性与三角不等式。

L∞ 范数

x=maxjxj.\|\boldsymbol x\|_\infty=\max_j|x_j|.

它只看最大绝对分量,例中为 4。对抗扰动中 δϵ\|\delta\|_\infty\le\epsilon 表示每个特征变化都不超过 ϵ\epsilon

“L0 范数”

x0=#{j:xj0}\|\boldsymbol x\|_0=\#\{j:x_j\ne0\}

统计非零分量数。它不是真正的范数,但习惯上这样称呼。直接最小化 L0 常是组合优化难题,L1 是常见凸替代。

4. 不同范数之间的比较

有限维空间中,范数在收敛意义上等价,但数值和几何不同。例如对 dd 维向量:

xx2x1dx2.\|x\|_\infty\le\|x\|_2\le\|x\|_1 \le\sqrt d\|x\|_2.

维度越高,界中的 d\sqrt d 越重要。所谓“等价”不表示算法结果完全相同。

5. 从范数得到距离

dp(x,y)=xyp.d_p(\boldsymbol x,\boldsymbol y) =\|\boldsymbol x-\boldsymbol y\|_p.

严格距离度量满足:

  1. 非负与同一性:d(x,y)0d(x,y)\ge0,且 d(x,y)=0x=yd(x,y)=0\Leftrightarrow x=y
  2. 对称:d(x,y)=d(y,x)d(x,y)=d(y,x)
  3. 三角不等式:d(x,z)d(x,y)+d(y,z)d(x,z)\le d(x,y)+d(y,z)

相似度不一定是距离。例如余弦相似度越大表示越近,而距离通常越小表示越近。

6. 单位球的形状

二维中 xp1\|x\|_p\le1 的边界:

  • L1:菱形;
  • L2:圆;
  • L∞:正方形。

L1 球的尖角落在坐标轴上。当损失等高线首次接触 L1 约束边界时,更容易碰到这些尖角,因此若干坐标精确为零。这是 Lasso 稀疏性的几何直觉。

7. 矩阵范数

Frobenius 范数

AF=i,jaij2=tr(ATA).\|\boldsymbol A\|_F =\sqrt{\sum_{i,j}a_{ij}^2} =\sqrt{\operatorname{tr}(\boldsymbol A^T\boldsymbol A)}.

相当于把矩阵所有元素摊平后取 L2 范数。低秩近似和神经网络权重衰减常见。

谱范数

A2=maxx0Ax2x2,\|\boldsymbol A\|_2 =\max_{\boldsymbol x\ne0} \frac{\|\boldsymbol A\boldsymbol x\|_2}{\|\boldsymbol x\|_2},

等于最大奇异值,表示矩阵最多能把向量长度放大多少。它与稳定性、Lipschitz 常数和条件数有关。

8. Mahalanobis 距离

给定正定矩阵 M\boldsymbol M

dM(x,y)=(xy)TM(xy).d_M(\boldsymbol x,\boldsymbol y) =\sqrt{(\boldsymbol x-\boldsymbol y)^T \boldsymbol M(\boldsymbol x-\boldsymbol y)}.

M=IM=I,就是 Euclidean 距离。常取 M=Σ1M=\Sigma^{-1},用协方差修正尺度和相关性:高方差方向上的同样位移被视为较不异常,强相关方向也不重复计数。

协方差不可逆时需要伪逆、正则化或降维。

9. 机器学习中的用途

  • kNN 与 k-means:距离决定邻居和簇;
  • 回归:yXw22\|y-Xw\|_2^2 是平方误差;
  • 正则化:λw1\lambda\|w\|_1λw22\lambda\|w\|_2^2
  • SVM:最大化与 w2\|w\|_2 相关的间隔;
  • 鲁棒性:限制输入扰动范数;
  • 矩阵低秩:最小化 Frobenius 重构误差或核范数。

10. 特征尺度与距离失真

若一个特征单位为元,另一个为年,Euclidean 距离会偏向数值范围大的特征。常见处理:

  • 标准化为零均值、单位标准差;
  • 按业务意义设定权重;
  • 使用 Mahalanobis 距离;
  • 对类别与混合数据使用专门距离。

距离不是数据天然自带的真理,而是模型设计的一部分。

易错点

  1. x22\|x\|_2^2 不是范数,虽然常作为损失。
  2. L0 习惯称“范数”,实际不满足范数公理。
  3. “距离小”是否表示语义相似取决于特征表示。
  4. 未标准化数据上的距离可能主要反映单位。
  5. 矩阵的 A2\|A\|_2 通常指谱范数,不是逐元素平方和。

常见问答

Q1:L1 为什么比 L2 更鲁棒于离群误差?

误差放大时,绝对值线性增长,平方误差二次增长。单个极大误差会对 L2 目标产生更强影响。

Q2:高维里最近邻为什么可能失效?

许多分布下,最近与最远距离的相对差会缩小,有限样本极其稀疏。需要更好的表示、降维或任务相关度量。

Q3:能把所有相似度直接变成距离吗?

可构造数值变换,但不一定满足距离公理。使用依赖三角不等式的索引算法前要验证。

练习

  1. x=(1,2,2)x=(1,-2,2),求 L1、L2、L∞ 与“L0”。
  2. x=(1,2)x=(1,2)y=(4,2)y=(4,-2) 的 L1 与 L2 距离。
  3. 判断平方 Euclidean 距离是否满足三角不等式;用数轴上的 0、1、2 检查。
  4. 计算矩阵 [1220]\begin{bmatrix}1&-2\\2&0\end{bmatrix} 的 Frobenius 范数。
  5. 解释 L1 约束为什么容易得到坐标为零的解。

答案与提示

  1. 5,3,2,35,3,2,3
  2. 7755
  3. 不满足:d2(0,2)=4>1+1d^2(0,2)=4>1+1
  4. 33
  5. 二维 L1 球有位于坐标轴上的尖角,等高线常在尖角首次接触边界。