本站内容由 AI 生成,可能存在错误。如发现问题,欢迎到 GitHub Issues 反馈。

矩阵范数、内积与条件数:度量的艺术

矩阵范数、内积与条件数:度量的艺术

更新于 2026-04-23

上一篇我们建立了 SVD 这把万能工具刀:任何矩阵 A=UΣVTA = U\Sigma V^T,截断到前 kk 个奇异值就得到最佳低秩近似。我们甚至给出了截断误差的精确公式——但”最佳”是相对于什么度量而言的?“误差有多小”又该怎么量化?

这正是度量(measurement)的问题。回顾 Art. 1 分解概述 中的六类矩阵操作,前三篇文章覆盖了”分解”操作;本篇建立第二件核心工具——度量

分解会产生近似,近似需要衡量好坏。如果你不能精确地说”这个近似好到什么程度”,那分解就是盲人摸象。范数和条件数就是我们的标尺和放大镜:

  • 范数回答”这个矩阵有多大”——衡量矩阵的”大小”或”能量”
  • 内积回答”两个矩阵有多像”——衡量矩阵之间的相似性
  • 条件数回答”这个问题有多敏感”——衡量数值计算的稳定性

这些概念看似抽象,却是后续所有文章的基础语言:矩阵补全需要 nuclear 范数做凸松弛,Robust PCA 需要 nuclear + L1 范数的组合优化,spectral normalization 用 spectral 范数约束网络 Lipschitz 常数。建立这些度量工具,才能让后续的讨论从定性变为定量。

向量范数:从直觉开始

在定义矩阵范数之前,先回顾向量范数——它是矩阵范数的基础。

范数的公理

范数的三条公理1非负性‖x‖ ≥ 0‖x‖=0 ⟺ x=02齐次性‖αx‖ = |α|·‖x‖缩放 α 倍 → 范数也缩放3三角不等式‖x+y‖ ≤ ‖x‖+‖y‖"绕路不更短"这三条公理保证范数具备我们期望"距离"拥有的基本性质

范数(norm)是对”大小”的抽象度量。一个函数 :RnR\|\cdot\|: \mathbb{R}^n \to \mathbb{R} 是范数,当且仅当它满足三条公理:

  1. 非负性x0\|\mathbf{x}\| \geq 0,且 x=0    x=0\|\mathbf{x}\| = 0 \iff \mathbf{x} = \mathbf{0}
  2. 齐次性αx=αx\|\alpha \mathbf{x}\| = |\alpha| \cdot \|\mathbf{x}\|(缩放向量 α\alpha 倍,范数也缩放 α|\alpha| 倍)
  3. 三角不等式x+yx+y\|\mathbf{x} + \mathbf{y}\| \leq \|\mathbf{x}\| + \|\mathbf{y}\|

这三条公理保证了范数具备我们期望”距离”拥有的基本性质。

三种常用向量范数

三种向量范数与单位球ℓ₁ (曼哈顿)Σ|xᵢ|ML: 稀疏性 (Lasso)ℓ₂ (欧几里得)√(Σxᵢ²)ML: 旋转不变 (Ridge)ℓ∞ (切比雪夫)max|xᵢ|ML: 对抗鲁棒性‖x‖∞ ≤ ‖x‖₂ ≤ ‖x‖₁ ≤ n·‖x‖∞ (ℓ₁ 最严格,ℓ∞ 最宽松)

对于向量 x=(x1,x2,,xn)TRn\mathbf{x} = (x_1, x_2, \ldots, x_n)^T \in \mathbb{R}^n

1\ell_1 范数(曼哈顿距离):

x1=i=1nxi\|\mathbf{x}\|_1 = \sum_{i=1}^{n} |x_i|

各分量绝对值之和。几何上,1\ell_1 单位球(x1=1\|\mathbf{x}\|_1 = 1 的点集)在 2D 中是菱形——角点落在坐标轴上。这个形状直接决定了 1\ell_1 正则化产生稀疏解的能力(Lasso 回归的数学原理),详见下文单位球形状与正则化效果

2\ell_2 范数(欧几里得距离):

x2=i=1nxi2\|\mathbf{x}\|_2 = \sqrt{\sum_{i=1}^{n} x_i^2}

我们最熟悉的”长度”。2\ell_2 单位球是(高维中是球面),各方向均匀——2\ell_2 范数具有旋转不变性(Qx2=x2\|Q\mathbf{x}\|_2 = \|\mathbf{x}\|_2,其中 QQ 为正交矩阵)。这是 2\ell_2 在数学上特别好用的根本原因。

\ell_\infty 范数(切比雪夫距离):

x=max1inxi\|\mathbf{x}\|_\infty = \max_{1 \leq i \leq n} |x_i|

最大分量的绝对值。\ell_\infty 单位球是正方形(高维中是超立方体)——每个坐标独立约束。在对抗鲁棒性(adversarial robustness)中,\ell_\infty 扰动约束意味着攻击者可以改变每个像素至多 ϵ\epsilon

单位球的几何:p 越大越”胖”

这三种范数是 p\ell_p 范数 xp=(ixip)1/p\|\mathbf{x}\|_p = \left(\sum_i |x_i|^p\right)^{1/p} 的三个特例(p=1,2,p = 1, 2, \infty)。一个关键的几何事实:pp 越大,单位球越”胖”,即 \ell_\infty 单位球包含 2\ell_2 单位球,2\ell_2 单位球包含 1\ell_1 单位球。用下面的可视化亲手对比:

向量范数的单位球
满足 ‖x‖ = 1 的所有点构成的集合
x₁x₂-1-111L₁L₂L∞
L∞ L₂ L₁ — p 越大,单位球越"胖"。L₁ 的尖角落在坐标轴上,所以 L₁ 正则化天然倾向稀疏解。

对应的范数不等式为:

xx2x1nx\|\mathbf{x}\|_\infty \leq \|\mathbf{x}\|_2 \leq \|\mathbf{x}\|_1 \leq n \|\mathbf{x}\|_\infty

直觉:1\ell_1 是最”严格”的度量(要求每个分量都小),\ell_\infty 是最”宽松”的(只看最大的那个分量)。

单位球形状与正则化效果

三种范数的单位球形状不同,直接决定了它们作为正则化时的行为差异。统一框架:p\ell_p 正则化等价于约束优化 minL(w)\min \mathcal{L}(\mathbf{w}) s.t. wpt\|\mathbf{w}\|_p \leq t,几何图像是损失函数的等高线(通常是光滑的椭圆)从外向内收缩,第一次碰到约束球的点就是解。球的形状决定了切点落在哪里。

1\ell_1(Lasso):球是菱形,边是直线段,每条边上的法向量是常数。除非损失函数的梯度恰好与某条边平行(概率为零的特殊情形),切点就不会停在边的内部,而是滑到角点上——角点落在坐标轴上,意味着某些 wi=0w_i = 0,产生稀疏解。高维中效应更强:1\ell_1 球的顶点、棱、面越来越多,绝大多数切点都落在低维面上,对应更多分量为零。

2\ell_2(Ridge / weight decay):球是圆,处处光滑且旋转对称。等高线碰圆的切点没有方向偏好,所以 2\ell_2 把所有分量均匀缩小,但不会把任何分量压到恰好为零。从梯度角度看,w22/wi=2wi\partial \|\mathbf{w}\|_2^2 / \partial w_i = 2w_i——梯度与权重成正比,大的缩多、小的缩少,但永远不归零。

\ell_\infty:球是正方形(超立方体),约束 wt\|\mathbf{w}\|_\infty \leq twit|w_i| \leq t 对每个分量独立成立。惩罚项 w=maxiwi\|\mathbf{w}\|_\infty = \max_i |w_i| 的次梯度只集中在最大分量上——只惩罚最突出的那个,其他的不管。效果是把最大分量往下压,直到和次大分量齐平,然后一起压……最终驱动所有分量趋向等幅。这和 1\ell_1 恰好相反:1\ell_1 产生稀疏(能量集中在少数分量),\ell_\infty 产生反稀疏(能量均匀分散)。

范数球形状正则化效果一句话
1\ell_1菱形(角在坐标轴上)小分量归零 → 稀疏挑少数重要的
2\ell_2圆(处处光滑)均匀缩小 → 稠密但小全部压一压
\ell_\infty正方形(面平,角在对角线上)大分量被削 → 趋向等幅不许谁太突出

矩阵范数:从向量到矩阵

向量范数度量向量的”大小”,矩阵范数度量矩阵的”大小”。有两种自然的推广方式:

  1. 逐元素推广:把矩阵拉成长向量,直接用向量范数
  2. 算子推广:把矩阵看作线性变换,用它对向量的”拉伸程度”来度量

下面介绍三种核心矩阵范数,每种都从定义、等价形式、几何直觉和 ML 应用四个角度展开。

Frobenius 范数:逐元素能量

Frobenius 范数:三种等价视角逐元素√(Σᵢⱼ aᵢⱼ²)所有元素平方和开根=迹表达√tr(AᵀA)内积结构 ⟨A,A⟩=奇异值√(Σᵢ σᵢ²)各方向拉伸能量之和ML 中的角色:MSE 损失 ‖A−B‖²F/mn | 权重衰减 λ‖W‖²F | Eckart-Young 最佳近似酉不变

定义:对矩阵 ARm×nA \in \mathbb{R}^{m \times n},Frobenius 范数(记为 AF\|A\|_F)定义为所有元素平方和的平方根:

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

这就是把矩阵”拉平”成一个 mnmn 维向量后取 2\ell_2 范数——最直接的逐元素推广。

等价表达:Frobenius 范数有三个等价形式,每个揭示不同的结构:

AF=ijaij2=tr(ATA)=i=1rσi2\|A\|_F = \sqrt{\sum_{ij} a_{ij}^2} = \sqrt{\text{tr}(A^TA)} = \sqrt{\sum_{i=1}^{r} \sigma_i^2}

逐项理解:

  • 第一个等式是定义——逐元素平方和
  • 第二个等式 tr(ATA)\text{tr}(A^TA) 把 Frobenius 范数与矩阵迹(trace)联系起来。由矩阵乘法定义,(ATA)jk=i(AT)jiAik=iaijaik(A^TA)_{jk} = \sum_i (A^T)_{ji} A_{ik} = \sum_i a_{ij} a_{ik},取对角元素 j=kj = k(ATA)jj=iaij2(A^TA)_{jj} = \sum_i a_{ij}^2(即 AA 的第 jj 列与自身的内积),所以 tr(ATA)=jiaij2=ijaij2\text{tr}(A^TA) = \sum_j \sum_i a_{ij}^2 = \sum_{ij} a_{ij}^2
  • 第三个等式与奇异值联系:因为 ATAA^TA 的特征值是 σ12,,σr2\sigma_1^2, \ldots, \sigma_r^2(参见 SVD 中的推导),而矩阵的迹等于特征值之和,所以 tr(ATA)=iσi2\text{tr}(A^TA) = \sum_i \sigma_i^2

其中 r=rank(A)r = \text{rank}(A)AA 的秩,σ1σ2σr>0\sigma_1 \geq \sigma_2 \geq \cdots \geq \sigma_r > 0AA 的非零奇异值。

几何直觉AF2=iσi2\|A\|_F^2 = \sum_i \sigma_i^2 是所有奇异值的总能量。回忆 SVD 的几何图像——奇异值衡量矩阵在各个方向的拉伸程度,Frobenius 范数就是把所有方向的拉伸”打包”成一个数。

ML 中的应用

  • MSE 损失L=1mnABF2\mathcal{L} = \frac{1}{mn}\|A - B\|_F^2 就是逐元素均方误差
  • 正则化:权重衰减 λWF2\lambda\|W\|_F^2 惩罚所有权重的总能量
  • Eckart-Young 定理中的最佳近似:minrank(B)kABF=i=k+1rσi2\min_{\text{rank}(B) \leq k}\|A - B\|_F = \sqrt{\sum_{i=k+1}^{r}\sigma_i^2}——截断 SVD 是 Frobenius 范数下的最佳低秩近似

性质AF\|A\|_F 具有酉不变性(unitary invariance):对任意正交矩阵 P,QP, QPAQF=AF\|PAQ\|_F = \|A\|_F。直觉上,旋转不改变总能量——只是在不同方向间重新分配。这个性质使 Frobenius 范数在理论分析中特别好用。

Spectral 范数:最大拉伸

Spectral 范数:‖A‖₂ = max ‖Ax‖ / ‖x‖ = σ_max单位球 ‖x‖₂ = 1A像集 {Ax : ‖x‖=1}σ_maxML 角色:‖A‖₂ = 层的 Lipschitz 常数(输出变化/输入变化的最大比值)Spectral normalization (Miyato 2018):W̄ = W/‖W‖₂ 使每层 Lipschitz ≤ 1,稳定 GAN 训练

定义:矩阵的 spectral 范数(也叫算子 2-范数,记为 A2\|A\|_2)是矩阵作为线性变换的”最大拉伸倍数”:

A2=maxx2=1Ax2=σmax(A)\|A\|_2 = \max_{\|\mathbf{x}\|_2 = 1} \|A\mathbf{x}\|_2 = \sigma_{\max}(A)

逐项理解:

  • maxx2=1Ax2\max_{\|\mathbf{x}\|_2=1} \|A\mathbf{x}\|_2:在所有单位向量 x\mathbf{x} 中,找使 AxA\mathbf{x} 长度最大的那个——这衡量了 AA 作为线性映射能把向量拉伸到多长
  • σmax(A)\sigma_{\max}(A):这个最大拉伸倍数恰好等于 AA最大奇异值

为什么 A2=σmax\|A\|_2 = \sigma_{\max}?回忆 SVD 的几何意义:AA 将单位球映射为一个椭球,椭球的半轴长度就是奇异值 σ1σ2\sigma_1 \geq \sigma_2 \geq \cdots。所以最大拉伸方向的拉伸倍数正是 σ1=σmax\sigma_1 = \sigma_{\max}

算子范数的一般形式:spectral 范数是更一般的算子范数(induced norm)的特例。给定向量范数 p\|\cdot\|_p,算子 pp-范数定义为:

Ap=maxxp=1Axp\|A\|_p = \max_{\|\mathbf{x}\|_p = 1} \|A\mathbf{x}\|_p

p=2p = 2 时就是 spectral 范数。“spectral”这个名字来自它与 ATAA^TA 的谱(spectrum,即特征值集合)的关系:记 ATAA^TA 的最大特征值为 λ1(ATA)\lambda_1(A^TA),则 A2=λ1(ATA)\|A\|_2 = \sqrt{\lambda_1(A^TA)}。这和前面的 σmax\sigma_{\max} 是同一个量——回忆 SVD 的推导σi=λi(ATA)\sigma_i = \sqrt{\lambda_i(A^TA)},所以 λ1(ATA)=σ1=σmax\sqrt{\lambda_1(A^TA)} = \sigma_1 = \sigma_{\max}

ML 中的应用

  • Lipschitz 约束:如果 f(x)=Axf(\mathbf{x}) = A\mathbf{x},那么 ff 的 Lipschitz 常数就是 A2\|A\|_2。对于更复杂的网络层 f(x)=ϕ(Wx+b)f(\mathbf{x}) = \phi(W\mathbf{x} + \mathbf{b})(其中 ϕ\phi 是 1-Lipschitz 的激活函数如 ReLU),该层的 Lipschitz 常数 W2\leq \|W\|_2
  • Spectral normalization(Miyato et al., 2018):将权重矩阵归一化为 Wˉ=W/W2\bar{W} = W / \|W\|_2,使每层 Lipschitz 常数 1\leq 1,从而稳定 GAN 判别器的训练
  • Eckart-Young 定理的另一面:minrank(B)kAB2=σk+1\min_{\text{rank}(B) \leq k}\|A - B\|_2 = \sigma_{k+1}——spectral 范数下的截断误差仅取决于第一个被丢弃的奇异值

性质A2\|A\|_2 同样具有酉不变性。此外,它满足亚乘性(submultiplicativity):AB2A2B2\|AB\|_2 \leq \|A\|_2 \cdot \|B\|_2——这是 Lipschitz 常数可以逐层相乘的数学基础。

Nuclear 范数:秩的凸松弛

Nuclear 范数 = 秩的凸松弛向量世界‖σ‖₀ = 非零分量个数→ NP-hard‖σ‖₁ = Σ|σᵢ| (凸松弛)→ Lasso, 高效求解完全类比矩阵世界(对奇异值向量)rank(A) = 非零 σᵢ 个数→ NP-hard‖A‖_* = Σσᵢ (凸松弛)矩阵补全、Robust PCA对偶关系:‖A‖_* = max{⟨A,B⟩ : ‖B‖₂ ≤ 1}Nuclear ↔ Spectral 互为对偶,Frobenius 自对偶

定义:矩阵的 nuclear 范数(也叫迹范数或 Ky Fan nn-范数,记为 A\|A\|_*)是所有奇异值之和:

A=i=1rσi\|A\|_* = \sum_{i=1}^{r} \sigma_i

其中 r=rank(A)r = \text{rank}(A)σ1σr>0\sigma_1 \geq \cdots \geq \sigma_r > 0AA 的非零奇异值。

与秩的关系——凸松弛

矩阵的秩 rank(A)\text{rank}(A) 是非零奇异值的个数(即 0\ell_0 “范数”),而 nuclear 范数 A\|A\|_* 是非零奇异值的(即 1\ell_1 范数)。这个关系完全类比向量的情况:

向量矩阵(对奇异值向量)
σ0=\lVert\boldsymbol{\sigma}\rVert_0 = 非零分量个数rank(A)=\text{rank}(A) = 非零奇异值个数
σ1=iσi\lVert\boldsymbol{\sigma}\rVert_1 = \sum_i \lvert\sigma_i\rvertA=iσi\lVert A\rVert_* = \sum_i \sigma_i

在向量世界中,0\ell_0 最小化(稀疏恢复)是 NP-hard 的,但它的凸松弛 1\ell_1 最小化(Lasso/BPDN)是一个凸问题,可以高效求解——而且在很多条件下能精确恢复稀疏解。

完全类比地,在矩阵世界中:

  • 秩最小化minrank(X)\min \text{rank}(X) s.t. 约束)是 NP-hard 的
  • Nuclear 范数最小化minX\min \|X\|_* s.t. 约束)是一个凸问题——它是秩函数在谱范数单位球上的凸包(convex envelope)(见 Candès & Recht, 2009)

这个凸松弛关系是 nuclear 范数在理论上最重要的性质。

ML 中的应用

  • 矩阵补全(Netflix Prize 问题):从极少的观测条目恢复低秩矩阵,核心优化问题是 minX\min \|X\|_* s.t. Xij=MijX_{ij} = M_{ij} for observed (i,j)(i,j)
  • Robust PCA:将数据矩阵分解为低秩 + 稀疏:minL+λS1\min \|L\|_* + \lambda\|S\|_1 s.t. M=L+SM = L + S

这两个应用将在后续文章中详细展开。

性质A\|A\|_* 也是酉不变范数。它还有一个优雅的对偶表示:A=maxB21A,B\|A\|_* = \max_{\|B\|_2 \leq 1} \langle A, B \rangle(其中 A,B=tr(ATB)\langle A, B \rangle = \text{tr}(A^TB) 是矩阵内积,下文马上定义)。

三种范数的关系

三种范数的大小关系Spectral ‖A‖₂= σ_max最大拉伸(峰值)Frobenius ‖A‖_F= √(Σσᵢ²)总能量(均方)Nuclear ‖A‖_*= Σσᵢ秩的凸松弛(总量)‖A‖₂ ≤ ‖A‖_F ≤ ‖A‖_*

三种范数都可以用奇异值表示,这使得它们之间的不等式关系非常透明。设 AA 的非零奇异值为 σ1σr\sigma_1 \geq \cdots \geq \sigma_rr=rank(A)r = \text{rank}(A)):

Spectral 与 Frobenius

A2AFrA2\|A\|_2 \leq \|A\|_F \leq \sqrt{r}\,\|A\|_2

左边的不等式:A2=σmax=σ1\|A\|_2 = \sigma_{\max} = \sigma_1,而 AF=iσi2σ12=σ1\|A\|_F = \sqrt{\sum_i \sigma_i^2} \geq \sqrt{\sigma_1^2} = \sigma_1。右边的不等式:iσi2rσ12\sum_i \sigma_i^2 \leq r \cdot \sigma_1^2(每个 σiσ1\sigma_i \leq \sigma_1)。等号成立条件:左边等号当且仅当 rank(A)=1\text{rank}(A) = 1;右边等号当且仅当所有奇异值相等(σ1==σr\sigma_1 = \cdots = \sigma_r)。

Frobenius 与 Nuclear

AFArAF\|A\|_F \leq \|A\|_* \leq \sqrt{r}\,\|A\|_F

左边:由 Cauchy-Schwarz 不等式,(iσi)2riσi2\left(\sum_i \sigma_i\right)^2 \leq r \cdot \sum_i \sigma_i^2,取平方根即 AF=iσi2iσi=A\|A\|_F = \sqrt{\sum_i \sigma_i^2} \leq \sum_i \sigma_i = \|A\|_*……等等,方向反了。实际上是 AFA\|A\|_F \leq \|A\|_*,因为 (iσi2)(iσi)2\left(\sum_i \sigma_i^2\right) \leq \left(\sum_i \sigma_i\right)^2(每项 σijσj\sigma_i \leq \sum_j \sigma_j,所以 σi2σijσj\sigma_i^2 \leq \sigma_i \cdot \sum_j \sigma_j,对 ii 求和即可)。右边 ArAF\|A\|_* \leq \sqrt{r}\|A\|_F 由 Cauchy-Schwarz 得到:iσi=i1σiriσi2\sum_i \sigma_i = \sum_i 1 \cdot \sigma_i \leq \sqrt{r} \cdot \sqrt{\sum_i \sigma_i^2}

对偶关系

在矩阵范数的世界中,spectral 范数和 nuclear 范数互为对偶

A=maxB21tr(BTA),A2=maxB1tr(BTA)\|A\|_* = \max_{\|B\|_2 \leq 1} \text{tr}(B^TA), \quad \|A\|_2 = \max_{\|B\|_* \leq 1} \text{tr}(B^TA)

而 Frobenius 范数是自对偶的:AF=maxBF1tr(BTA)\|A\|_F = \max_{\|B\|_F \leq 1} \text{tr}(B^TA)

对偶关系的直觉:nuclear 范数”对偶”于 spectral 范数,就像 1\ell_1 对偶于 \ell_\infty——一个衡量”总量”(iσi\sum_i \sigma_i),另一个衡量”峰值”(maxiσi\max_i \sigma_i)。

速查表

三大矩阵范数(全部用奇异值表达)

范数符号奇异值表达角色
FrobeniusAF\lVert A\rVert_Fiσi2=tr(ATA)\sqrt{\sum_i \sigma_i^2} = \sqrt{\text{tr}(A^TA)}总能量
SpectralA2\lVert A\rVert_2σmax\sigma_{\max}最大拉伸
NuclearA\lVert A\rVert_*iσi\sum_i \sigma_i秩(0\ell_0)的凸松弛(1\ell_1

下图将三种范数统一到奇异值谱上,直观展示它们”读”奇异值的不同方式:

三种范数:奇异值的三种"读法"σᵢ0.90σ10.70σ20.45σ30.30σ40.15σ50.08σ60.03σ7‖A‖₂ = σ₁ = 0.90最大拉伸‖A‖F = √(Σσᵢ²) ≈ 1.27总能量‖A‖* = Σσᵢ = 2.61秩的凸松弛‖A‖₂ ≤ ‖A‖F ≤ ‖A‖* (峰值 ≤ 总量 ≤ 逐项求和)

向量范数与矩阵范数:拉平的桥梁

前面分别介绍了向量范数(1,2,\ell_1, \ell_2, \ell_\infty)和矩阵范数(Nuclear, Frobenius, Spectral)。你可能已经注意到一个有趣的对应:矩阵范数的奇异值表达和向量范数的 p\ell_p 公式形式上完全一样。这不是巧合——三种核心矩阵范数就是把奇异值排成向量 σ=(σ1,,σr)\boldsymbol{\sigma} = (\sigma_1, \ldots, \sigma_r) 后,分别取 1\ell_12\ell_2\ell_\infty

向量范数对奇异值向量 σ\boldsymbol{\sigma}= 矩阵范数
σ1=iσi\lVert\boldsymbol{\sigma}\rVert_1 = \sum_i \sigma_iNuclearA\lVert A\rVert_*
σ2=iσi2\lVert\boldsymbol{\sigma}\rVert_2 = \sqrt{\sum_i \sigma_i^2}FrobeniusAF\lVert A\rVert_F
σ=maxiσi\lVert\boldsymbol{\sigma}\rVert_\infty = \max_i \sigma_iSpectralA2\lVert A\rVert_2

但矩阵范数还有另一条通往向量范数的路径:逐元素拉平。把 m×nm \times n 矩阵 WW 的所有 mnmn 个元素排成一个长向量 vec(W)\text{vec}(W),则:

WF=vec(W)2,ijwij=vec(W)1\lVert W\rVert_F = \lVert\text{vec}(W)\rVert_2, \qquad \sum_{ij}|w_{ij}| = \lVert\text{vec}(W)\rVert_1

第一个等式就是 Frobenius 范数的定义本身(逐元素平方和再开方 = 拉平后的 2\ell_2)。第二个等式把逐元素绝对值之和等价于拉平后的 1\ell_1

回到正则化:矩阵权重为什么用”向量范数”?

在 ML 中,weight decay / L2 正则化的惩罚项写作 λijwij2\lambda \sum_{ij} w_{ij}^2。这个表达式作用在权重矩阵 WW 上,但看起来像向量的 2\ell_2 范数。这是合理的吗?

答案是两者完全等价——本质上是同一个量的两种看法:

λijwij2=λvec(W)22=λWF2\lambda \sum_{ij} w_{ij}^2 = \lambda \lVert\text{vec}(W)\rVert_2^2 = \lambda \lVert W\rVert_F^2

L2 正则化逐元素惩罚每个 wijw_{ij},参数在矩阵中的排列方式不影响结果。不管是 100×200100 \times 200 的权重矩阵还是拉平成 20000 维向量,惩罚值一模一样。L1 正则化同理:λijwij=λvec(W)1\lambda\sum_{ij}|w_{ij}| = \lambda\lVert\text{vec}(W)\rVert_1

这就是为什么前面单位球形状与正则化效果中的分析(菱形→稀疏、圆→均匀缩小)可以直接应用到矩阵权重上:每个 wijw_{ij} 就是那个高维向量中的一个分量,几何直觉完全不变。

但如果你想利用矩阵的结构呢? 逐元素正则化把矩阵视为”一堆标量”,完全忽略了行列之间的关联。当我们关心矩阵的全局结构——比如希望权重矩阵是低秩的——就需要真正的矩阵范数:

正则化方式惩罚项作用对象效果
L1 (Lasso)ijwij\sum_{ij}\lvert w_{ij}\rvert逐元素元素级稀疏(很多 wij=0w_{ij}=0
L2 (weight decay)ijwij2=WF2\sum_{ij} w_{ij}^2 = \lVert W\rVert_F^2逐元素均匀缩小所有元素
Nuclear normW=iσi\lVert W\rVert_* = \sum_i \sigma_i奇异值低秩1\ell_1 作用在 σ\boldsymbol{\sigma} 上→奇异值稀疏)
Spectral normW2=σmax\lVert W\rVert_2 = \sigma_{\max}奇异值约束最大拉伸 → Lipschitz 控制

注意 nuclear norm 和 L1 的类比:L1 对向量元素做 1\ell_1→元素级稀疏;nuclear norm 对奇异值做 1\ell_1→奇异值级稀疏,即低秩。这正是前面”秩的凸松弛”的精确含义。

矩阵内积

矩阵内积(Frobenius 内积)⟨A, B⟩ = tr(AᵀB) = Σᵢⱼ aᵢⱼbᵢⱼ对称性⟨A,B⟩ = ⟨B,A⟩线性性⟨αA+βB, C⟩ = α⟨A,C⟩+β⟨B,C⟩正定性⟨A,A⟩ ≥ 0与 Frobenius 范数的关系:‖A‖_F = √⟨A,A⟩ML 中出现:Taylor 展开 ⟨∇L, ΔW⟩、Nuclear 范数对偶 max⟨A,B⟩、SVD 投影 ⟨A, uᵢvᵢᵀ⟩ = σᵢ

有了范数,下一个自然的问题是:两个矩阵之间的”相似度”怎么度量?就像向量有内积 x,y=xTy\langle \mathbf{x}, \mathbf{y} \rangle = \mathbf{x}^T\mathbf{y},矩阵也有内积。

定义:矩阵内积(Frobenius 内积)定义为:

A,B=tr(ATB)=i=1mj=1naijbij\langle A, B \rangle = \text{tr}(A^TB) = \sum_{i=1}^{m}\sum_{j=1}^{n} a_{ij} b_{ij}

其中 A,BRm×nA, B \in \mathbb{R}^{m \times n}。这就是把两个矩阵逐元素相乘再求和——等价于把矩阵拉平成向量后做点积。

与 Frobenius 范数的关系

AF=A,A\|A\|_F = \sqrt{\langle A, A \rangle}

这正如向量范数 x2=x,x\|\mathbf{x}\|_2 = \sqrt{\langle \mathbf{x}, \mathbf{x} \rangle}。Frobenius 范数是由这个内积诱导出的范数。

性质

  • 对称性A,B=B,A\langle A, B \rangle = \langle B, A \rangle
  • 线性性αA+βB,C=αA,C+βB,C\langle \alpha A + \beta B, C \rangle = \alpha \langle A, C \rangle + \beta \langle B, C \rangle
  • 正定性A,A0\langle A, A \rangle \geq 0,等号当且仅当 A=0A = 0
  • Cauchy-Schwarz 不等式A,BAFBF|\langle A, B \rangle| \leq \|A\|_F \|B\|_F

在 ML 中的出现:矩阵内积出现在很多地方,虽然不总是以 tr(ATB)\text{tr}(A^TB) 的形式出现:

  • 矩阵 Taylor 展开中:L(W+ΔW)L(W)+WL,ΔW+\mathcal{L}(W + \Delta W) \approx \mathcal{L}(W) + \langle \nabla_W \mathcal{L}, \Delta W \rangle + \cdots
  • nuclear 范数的对偶定义:A=maxB21A,B\|A\|_* = \max_{\|B\|_2 \leq 1} \langle A, B \rangle
  • SVD 外积展开:A,uiviT=σi\langle A, \mathbf{u}_i\mathbf{v}_i^T \rangle = \sigma_i——矩阵在第 ii 个秩一方向上的”投影”

条件数:系统敏感性的度量

从一个例子开始

条件数:误差放大倍数Ax = b输入 b 有扰动 δbδx = A⁻¹δb输出扰动‖δx‖/‖x‖ ≤ κ(A)·‖δb‖/‖b‖相对误差最多放大 κ 倍κ(A) = σ_max / σ_min = ‖A‖₂ · ‖A⁻¹‖₂κ ≈ 1–10良态κ ≈ 10³–10⁶病态κ = ∞奇异实际:双精度下结果精度 ≈ 16 − log₁₀(κ) 位有效数字

考虑线性方程组 Ax=bA\mathbf{x} = \mathbf{b}。假设 b\mathbf{b} 有微小的测量误差 δb\delta\mathbf{b},解变成 x+δx\mathbf{x} + \delta\mathbf{x},其中 A(x+δx)=b+δbA(\mathbf{x} + \delta\mathbf{x}) = \mathbf{b} + \delta\mathbf{b}

关键问题:b\mathbf{b} 的微小扰动会导致 x\mathbf{x} 的多大变化?

对两个线性系统相减:Aδx=δbA \cdot \delta\mathbf{x} = \delta\mathbf{b},所以 δx=A1δb\delta\mathbf{x} = A^{-1}\delta\mathbf{b}。取范数:

δxA1δb\|\delta\mathbf{x}\| \leq \|A^{-1}\| \cdot \|\delta\mathbf{b}\|

同时 b=AxAx\|\mathbf{b}\| = \|A\mathbf{x}\| \leq \|A\| \cdot \|\mathbf{x}\|,即 1/xA/b1/\|\mathbf{x}\| \leq \|A\|/\|\mathbf{b}\|。两式合并:

δxxAA1δbb\frac{\|\delta\mathbf{x}\|}{\|\mathbf{x}\|} \leq \|A\| \cdot \|A^{-1}\| \cdot \frac{\|\delta\mathbf{b}\|}{\|\mathbf{b}\|}

这里 AA1\|A\| \cdot \|A^{-1}\| 这个乘积就是条件数——它精确地量化了输入的相对误差如何被放大为输出的相对误差。

定义

条件数(condition number):对可逆矩阵 AA,定义

κ(A)=AA1\kappa(A) = \|A\| \cdot \|A^{-1}\|

当使用 2\ell_2 范数(spectral 范数)时:

条件数

κ(A)=σmaxσmin\kappa(A) = \frac{\sigma_{\max}}{\sigma_{\min}}

κ1\kappa \approx 1(良态),κ1\kappa \gg 1(病态)。正交矩阵 κ(Q)=1\kappa(Q) = 1

逐项理解:

  • σmax(A)\sigma_{\max}(A)AA 的最大奇异值,即 AA 能把输入向量最大拉伸多少倍
  • σmin(A)\sigma_{\min}(A)AA 的最小非零奇异值,即 AA 能把输入向量最少拉伸多少倍
  • κ(A)\kappa(A):最大拉伸与最小拉伸的比值——衡量 AA 在不同方向上拉伸的”不均匀程度”

几何直觉AA 把单位球映射成椭球(SVD 的几何图像)。κ(A)\kappa(A) 是椭球最长半轴与最短半轴的比值。如果 κ\kappa 很大,椭球很”扁”——在短轴方向上微小的扰动会被 A1A^{-1} 放大成大的变化。

条件数 κ(A) = σ_max / σ_min 的几何含义良态 κ ≈ 1.3σ₁σ₂椭球近似圆形 — 各方向拉伸均匀病态 κ ≈ 10σ₁σ₂椭球极扁 — 短轴方向微扰被极度放大κ 越大 → 椭球越扁 → 数值解越不可靠

良态 vs. 病态

良态 vs. 病态:椭球的"扁度"良态 κ ≈ 1.5接近圆形 → 各方向误差均匀vs病态 κ ≈ 27极扁 → 短轴方向误差被放大κ=1 完美(正交矩阵)| κ~10³ 病态 | κ=∞ 奇异(不可逆)
条件数含义直觉
κ(A)=1\kappa(A) = 1最佳:AA 是正交矩阵(旋转/反射)椭球退化为球——各方向拉伸相同
κ(A)1\kappa(A) \sim 11010良态(well-conditioned)椭球接近球形
κ(A)103\kappa(A) \sim 10^310610^6病态(ill-conditioned)椭球很扁——求解不稳定
κ(A)=\kappa(A) = \infty奇异矩阵(σmin=0\sigma_{\min} = 0椭球退化——某方向完全消失

实际影响:在有限精度浮点运算中,求解 Ax=bA\mathbf{x} = \mathbf{b} 时,结果 x^\hat{\mathbf{x}} 的相对误差大约是(见 Higham, 2020):

x^xxκ(A)ϵmachine\frac{\|\hat{\mathbf{x}} - \mathbf{x}\|}{\|\mathbf{x}\|} \lesssim \kappa(A) \cdot \epsilon_{\text{machine}}

其中 ϵmachine1016\epsilon_{\text{machine}} \approx 10^{-16}(双精度浮点)。如果 κ(A)=1012\kappa(A) = 10^{12},你只能指望结果有 1612=416 - 12 = 4 位有效数字。

条件数与 ML

条件数在 ML 中不经常被直接计算,但它隐含地影响训练的稳定性:

  • Hessian 矩阵的条件数κ(H)\kappa(H) 大意味着损失曲面在不同方向上曲率差异大——梯度下降需要极小的步长才能在高曲率方向上不发散,同时在低曲率方向上收敛极慢。这正是需要 Adam、L-BFGS 等二阶优化器的原因
  • 特征缩放(feature scaling):对数据矩阵 XX 做标准化(各列均值为 0、方差为 1),实际上是在减小 XTXX^TX 的条件数,从而改善梯度下降的收敛速度
  • 预条件(preconditioning):在 Ax=bAx = b 两边左乘 P1P^{-1} 使 P1AP^{-1}A 的条件数更小,是大规模数值计算中的标准技巧

数值例子

用一个具体的 2×22 \times 2 矩阵把前面的概念串起来。取:

A=[3113]A = \begin{bmatrix} 3 & 1 \\ 1 & 3 \end{bmatrix}

第一步:奇异值

AA 是对称矩阵,所以奇异值就是特征值的绝对值。特征值:

det(AλI)=(3λ)21=λ26λ+8=(λ4)(λ2)=0\det(A - \lambda I) = (3-\lambda)^2 - 1 = \lambda^2 - 6\lambda + 8 = (\lambda - 4)(\lambda - 2) = 0

λ1=4,λ2=2\lambda_1 = 4, \quad \lambda_2 = 2

因为两个特征值都为正(AA 是正定矩阵),奇异值 == 特征值:σ1=4\sigma_1 = 4σ2=2\sigma_2 = 2

第二步:三种范数

Frobenius 范数

AF=32+12+12+32=9+1+1+9=20=254.472\|A\|_F = \sqrt{3^2 + 1^2 + 1^2 + 3^2} = \sqrt{9 + 1 + 1 + 9} = \sqrt{20} = 2\sqrt{5} \approx 4.472

用奇异值验证:σ12+σ22=16+4=20=25\sqrt{\sigma_1^2 + \sigma_2^2} = \sqrt{16 + 4} = \sqrt{20} = 2\sqrt{5}

Spectral 范数

A2=σmax=4\|A\|_2 = \sigma_{\max} = 4

Nuclear 范数

A=σ1+σ2=4+2=6\|A\|_* = \sigma_1 + \sigma_2 = 4 + 2 = 6

验证不等式:A2=4AF=4.472A=6\|A\|_2 = 4 \leq \|A\|_F = 4.472 \leq \|A\|_* = 6

验证 AFrA2\|A\|_F \leq \sqrt{r}\|A\|_24.4722×4=5.6574.472 \leq \sqrt{2} \times 4 = 5.657

第三步:矩阵内积

B=[1001]B = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix}(单位矩阵),计算:

A,B=tr(ATB)=tr(A)=3+3=6\langle A, B \rangle = \text{tr}(A^TB) = \text{tr}(A) = 3 + 3 = 6

直觉:A,I=tr(A)\langle A, I \rangle = \text{tr}(A) 是矩阵对角线元素之和——矩阵在”单位方向”上的投影。

第四步:条件数

κ(A)=σmaxσmin=42=2\kappa(A) = \frac{\sigma_{\max}}{\sigma_{\min}} = \frac{4}{2} = 2

条件数为 2,这是一个良态矩阵。解 Ax=bA\mathbf{x} = \mathbf{b} 时,b\mathbf{b} 的 1% 误差最多导致 x\mathbf{x} 的 2% 误差。

对比一个病态矩阵:取 A=[312.9991]A' = \begin{bmatrix} 3 & 1 \\ 2.999 & 1 \end{bmatrix}

det(A)=3×11×2.999=0.001\det(A') = 3 \times 1 - 1 \times 2.999 = 0.001

这个矩阵几乎奇异(行列式接近 0)。它的奇异值大约为 σ14.243\sigma_1 \approx 4.243σ20.000236\sigma_2 \approx 0.000236,所以 κ(A)18000\kappa(A') \approx 18000。同样 1% 的输入误差,输出误差可达 180 倍——几乎不可能得到有意义的数值解。

总结与展望

本文建立了矩阵度量的完整工具箱。回顾关键要点:

  • Frobenius 范数 AF=iσi2\|A\|_F = \sqrt{\sum_i \sigma_i^2}:总能量度量,ML 中最常用(MSE、正则化、Eckart-Young)
  • Spectral 范数 A2=σmax\|A\|_2 = \sigma_{\max}:最大拉伸度量,控制 Lipschitz 常数和训练稳定性
  • Nuclear 范数 A=iσi\|A\|_* = \sum_i \sigma_i:秩的凸松弛,矩阵补全和 Robust PCA 的理论基石
  • 矩阵内积 A,B=tr(ATB)\langle A, B \rangle = \text{tr}(A^TB):矩阵相似度,连接 Frobenius 范数与迹运算
  • 条件数 κ(A)=σmax/σmin\kappa(A) = \sigma_{\max}/\sigma_{\min}:系统敏感性的放大倍数,决定数值求解的可靠性
  • 三种范数都是酉不变的(只依赖奇异值),且有清晰的大小关系:A2AFA\|A\|_2 \leq \|A\|_F \leq \|A\|_*

注意到一个关键的主题:所有三种范数都可以用奇异值表达。这不是巧合——SVD 是矩阵分析的”自然坐标系”,范数在这个坐标系下取最简形式。这再次印证了 Art. 3 SVD 中 SVD 的核心地位。

有了度量工具,我们可以定量地回答”近似有多好”这个问题。但 ML 中的矩阵不只被分解和度量——它们还被优化。当损失函数包含矩阵参数时,我们需要对矩阵求导。下一篇将建立工具链的第三件——矩阵微积分,从标量对矩阵的求导开始,通向反向传播和 Hessian 分析。