MathLabs

拓扑学

度量空间

度量空间为集合配备满足三条公理的距离函数;完备度量空间上的压缩映射总有唯一不动点(巴拿赫定理),这正是PageRank、迭代求解器和分形图像压缩背后的引擎。

直观不用尺子测量距离

GPS使用直线距离,出租车司机使用街道网格距离,拼写检查器使用单词间的"编辑距离"。这三者都是合法的距离概念,因为它们遵循相同的三条常识规则:距离永不为负,且仅当两点重合时为零;从 AA 到 BB 的距离等于从 BB 到 AA 的距离;绕道经过 CC 永远不会比从 AA 直接到 BB 更短。度量空间正是配备了满足这三条规则的距离函数的集合。

直线 T(x) = 0.5x + 1 与对角线 y = x 在不动点 x = 2 处相交的图像,展示压缩映射迭代。
R\mathbb{R} 上的映射 T(x)=0.5x+1T(x) = 0.5x + 1(取 d(x,y)=∣x−y∣d(x,y)=|x-y|)是比率 q=0.5q=0.5 的压缩映射:它总能把任意两点间的距离减半。拖动滑块,观察任何起始点都会迭代收敛到同一个不动点 x∗=2x^* = 2。

大学三条公理

定义: 度量空间

集合 XX 上的度量是满足以下条件的函数 d:X×X→Rd: X \times X \to \mathbb{R}(对所有 x,y,z∈Xx,y,z \in X):(M1)正定性 d(x,y)≥0, d(x,y)=0  ⟺  x=yd(x,y) \ge 0,\ d(x,y)=0 \iff x=y;(M2)对称性 d(x,y)=d(y,x)d(x,y) = d(y,x);(M3)三角不等式 d(x,z)≤d(x,y)+d(y,z)d(x,z) \le d(x,y) + d(y,z)。二元组 (X,d)(X,d) 称为度量空间。

d(x,y)≥0,d(x,y)=0  ⟺  x=yd(x,y)=d(y,x)d(x,z)≤d(x,y)+d(y,z)d(x,y) \ge 0,\quad d(x,y)=0 \iff x=y \qquad d(x,y)=d(y,x) \qquad d(x,z) \le d(x,y)+d(y,z)

最重要的两族例子如下。在 Rn\mathbb{R}^n 上,**ℓp\ell_p 度量**为 p≥1p \ge 1 时的 dp(x,y)=(∑i=1n∣xi−yi∣p)1/pd_p(x,y) = \left(\sum_{i=1}^n |x_i - y_i|^p\right)^{1/p}(p=2p=2 给出通常的欧氏距离,p=1p=1 给出"出租车"距离,p→∞p\to\infty 给出坐标差的最大值)。在连续函数空间 C([a,b])C([a,b]) 上,上确界度量为 d∞(f,g)=sup⁡t∈[a,b]∣f(t)−g(t)∣d_\infty(f,g) = \sup_{t \in [a,b]} |f(t) - g(t)|:两个函数接近,意味着它们的图像在 [a,b][a,b] 上任何一点的间隔都不大。

dp(x,y)=(∑i=1n∣xi−yi∣p)1/pd∞(f,g)=sup⁡t∈[a,b]∣f(t)−g(t)∣d_p(x,y) = \left(\sum_{i=1}^n |x_i - y_i|^p\right)^{1/p} \qquad d_\infty(f,g) = \sup_{t \in [a,b]} |f(t) - g(t)|
Rn\mathbb{R}^n 上度量的比较
度量公式单位球的形状典型用途
ℓ1\ell_1(出租车)∑∣xi−yi∣\sum |x_i-y_i|菱形稀疏恢复、城市街区
ℓ2\ell_2(欧氏)∑(xi−yi)2\sqrt{\sum (x_i-y_i)^2}圆盘物理距离、主成分分析
ℓ∞\ell_\infty(切比雪夫)max⁡i∣xi−yi∣\max_i |x_i-y_i|正方形最坏情况误差界

大学球、完备性与压缩映射

开球 B(x0,r)={x∈X:d(x,x0)<r}B(x_0, r) = \{x \in X : d(x, x_0) < r\} 是与中心距离小于 rr 的点的集合。数列 (xn)(x_n) 称为柯西列,若 ∀ε>0 ∃N ∀m,n>N: d(xm,xn)<ε\forall \varepsilon > 0\ \exists N\ \forall m,n > N:\ d(x_m,x_n) < \varepsilon:其项最终会彼此任意接近(未必接近某个固定的极限点)。度量空间称为完备的,若每个柯西列都收敛于 XX 中的一点。带任意 ℓp\ell_p 度量的 Rn\mathbb{R}^n 是完备的;带 d(x,y)=∣x−y∣d(x,y)=|x-y| 的 Q\mathbb{Q} 则不是,因为缺少 2\sqrt{2} 这个点。

大学定理

在度量空间中,对所有 x,y,zx,y,z,有 ∣d(x,z)−d(y,z)∣≤d(x,y)|d(x,z) - d(y,z)| \le d(x,y)。

为什么成立?

它说明距离函数本身对每个变量都是利普希茨连续的(常数为1),这正是能安全地对距离取极限的原因。

证明

第一步 — 两次应用三角不等式。由(M3),d(x,z)≤d(x,y)+d(y,z)d(x,z) \le d(x,y) + d(y,z),整理得 d(x,z)−d(y,z)≤d(x,y)d(x,z) - d(y,z) \le d(x,y)。在同一公理中交换 xx 与 yy 的角色,得 d(y,z)≤d(y,x)+d(x,z)=d(x,y)+d(x,z)d(y,z) \le d(y,x) + d(x,z) = d(x,y) + d(x,z)(利用对称性 d(y,x)=d(x,y)d(y,x)=d(x,y)),整理得 d(y,z)−d(x,z)≤d(x,y)d(y,z) - d(x,z) \le d(x,y),即 −(d(x,z)−d(y,z))≤d(x,y)-(d(x,z)-d(y,z)) \le d(x,y)。

第二步 — 合并两个界。这两个不等式同时说明 d(x,z)−d(y,z)≤d(x,y)d(x,z)-d(y,z) \le d(x,y) 与 −(d(x,z)−d(y,z))≤d(x,y)-(d(x,z)-d(y,z)) \le d(x,y),根据绝对值的定义,这恰好就是命题 ∣d(x,z)−d(y,z)∣≤d(x,y)|d(x,z)-d(y,z)| \le d(x,y):实数 uu 满足 ∣u∣≤c|u| \le c 当且仅当 u≤cu \le c 与 −u≤c-u \le c 同时成立。

设 (X,d)(X,d) 为完备度量空间,T:X→XT: X \to X 为压缩映射:存在固定的 0≤q<10 \le q < 1,使对所有 x,y∈Xx,y \in X 有 d(T(x),T(y))≤q d(x,y)d(T(x), T(y)) \le q\, d(x,y)。则 TT 恰有一个不动点 x∗∈Xx^* \in X(即 T(x∗)=x∗T(x^*)=x^*),且从任意 x0∈Xx_0 \in X 出发,迭代序列 xn+1=T(xn)x_{n+1}=T(x_n) 收敛到 x∗x^*,并具有显式误差界 d(xn,x∗)≤qn1−q d(x1,x0)d(x_n, x^*) \le \dfrac{q^n}{1-q}\, d(x_1, x_0)。

为什么成立?

它把存在性与唯一性问题(这个方程恰好有一个解吗?)转化为一个保证收敛的机械计算过程,并给出达到任意目标精度所需迭代次数的可预先计算的界。

证明

第一步 — 迭代序列是柯西列。固定 x0∈Xx_0 \in X,令 xn=Tn(x0)x_n = T^n(x_0)。反复应用压缩性质,d(xn+1,xn)=d(T(xn),T(xn−1))≤q d(xn,xn−1)≤⋯≤qn d(x1,x0)d(x_{n+1},x_n) = d(T(x_n),T(x_{n-1})) \le q\,d(x_n,x_{n-1}) \le \dots \le q^n\,d(x_1,x_0)。对 m>nm > n,沿路径 xn,xn+1,…,xmx_n, x_{n+1}, \dots, x_m 应用三角不等式相连:d(xm,xn)≤∑k=nm−1d(xk+1,xk)≤∑k=nm−1qk d(x1,x0)≤d(x1,x0)∑k=n∞qk=d(x1,x0) qn1−qd(x_m,x_n) \le \sum_{k=n}^{m-1} d(x_{k+1},x_k) \le \sum_{k=n}^{m-1} q^k\,d(x_1,x_0) \le d(x_1,x_0)\sum_{k=n}^{\infty} q^k = d(x_1,x_0)\,\dfrac{q^n}{1-q},其中利用了 0≤q<10 \le q < 1 时的几何级数公式。当 n→∞n \to \infty 时 qn→0q^n \to 0,故此尾项界趋于0:(xn)(x_n) 是柯西列。

第二步 — 完备性给出极限,连续性使其成为不动点。由于 XX 完备,柯西列 (xn)(x_n) 收敛于某个 x∗∈Xx^* \in X。压缩不等式 d(T(x),T(y))≤q d(x,y)d(T(x),T(y)) \le q\,d(x,y) 说明 TT 是(利普希茨)连续的,因此 T(x∗)=T(lim⁡nxn)=lim⁡nT(xn)=lim⁡nxn+1=x∗T(x^*) = T(\lim_n x_n) = \lim_n T(x_n) = \lim_n x_{n+1} = x^*。故 x∗x^* 是不动点。

第三步 — 唯一性。设 x∗x^* 与 y∗y^* 都是不动点。则 d(x∗,y∗)=d(T(x∗),T(y∗))≤q d(x∗,y∗)d(x^*,y^*) = d(T(x^*),T(y^*)) \le q\,d(x^*,y^*),故 (1−q) d(x∗,y∗)≤0(1-q)\,d(x^*,y^*) \le 0。因 1−q>01-q>0,这迫使 d(x∗,y∗)=0d(x^*,y^*)=0,即 x∗=y∗x^*=y^*。

第四步 — 误差界。在第一步的估计 d(xm,xn)≤qn1−q d(x1,x0)d(x_m,x_n) \le \dfrac{q^n}{1-q}\,d(x_1,x_0) 中令 m→∞m \to \infty,并利用 dd 的连续性,恰好得到 d(xn,x∗)≤qn1−q d(x1,x0)d(x_n,x^*) \le \dfrac{q^n}{1-q}\,d(x_1,x_0):第 nn 步后到真实不动点的距离按几何速度缩小,且该界可以在运行任何一次迭代之前就计算出来。

大学实际应用与典型例题

Google的PageRank通过反复将一个概率向量作用于网页链接矩阵来计算其主特征向量——这个幂迭代正是概率分布上 ℓ1\ell_1 度量下的压缩映射。迭代线性求解器(雅可比法、高斯–赛德尔法)把 Ax=bAx=b 改写为不动点映射 x↦Cx+dx \mapsto Cx+d,当 AA 对角占优时它在上确界度量下是压缩映射。分形(IFS)图像压缩把图像表示为配备上确界/豪斯多夫度量的图像空间上某压缩映射的唯一不动点,因此解压缩只需迭代该映射。

例题: 作为概率向量上压缩映射的PageRank

一个2页面的小型网络具有链接矩阵 M=(0.10.90.90.1)M = \begin{pmatrix} 0.1 & 0.9 \\ 0.9 & 0.1 \end{pmatrix}(每列以阻尼系数重新分配排名)。从 r0=(1,0)r_0 = (1,0) 出发,用 ℓ1\ell_1 度量 d(x,y)=∣x1−y1∣+∣x2−y2∣d(x,y)=|x_1-y_1|+|x_2-y_2| 计算 r1=Mr0r_1 = Mr_0 与 r2=Mr1r_2 = Mr_1,并验证当 q=0.8q=0.8 时 d(r1,r2)≤q d(r0,r1)d(r_1,r_2) \le q\,d(r_0,r_1)。

解答

第一步 — 计算 r1r_1。r1=Mr0=(0.1⋅1+0.9⋅0, 0.9⋅1+0.1⋅0)=(0.1,0.9)r_1 = M r_0 = (0.1 \cdot 1 + 0.9 \cdot 0,\ 0.9 \cdot 1 + 0.1 \cdot 0) = (0.1, 0.9)。

第二步 — 计算 r2r_2。r2=Mr1=(0.1(0.1)+0.9(0.9), 0.9(0.1)+0.1(0.9))=(0.01+0.81, 0.09+0.09)=(0.82,0.18)r_2 = M r_1 = (0.1(0.1)+0.9(0.9),\ 0.9(0.1)+0.1(0.9)) = (0.01+0.81,\ 0.09+0.09) = (0.82, 0.18)。

第三步 — 计算距离并验证压缩比。d(r0,r1)=∣1−0.1∣+∣0−0.9∣=0.9+0.9=1.8d(r_0,r_1) = |1-0.1|+|0-0.9| = 0.9+0.9=1.8。d(r1,r2)=∣0.1−0.82∣+∣0.9−0.18∣=0.72+0.72=1.44d(r_1,r_2)=|0.1-0.82|+|0.9-0.18|=0.72+0.72=1.44。确实 1.44=0.8×1.81.44 = 0.8 \times 1.8,恰好符合 q=0.8q=0.8(阻尼系数使 MM 的行/列和偏移0.5正好产生此比率),证实迭代是压缩的,并将收敛到稳态排名向量 (0.5,0.5)(0.5,0.5)。

例题: 达到目标压缩精度需要多少次迭代?

某分形图像压缩解码器在图像空间的上确界度量下应用比率 q=0.6q=0.6 的压缩映射 TT,前两次迭代满足 d(x1,x0)=100d(x_1,x_0)=100(像素强度单位)。利用误差界 d(xn,x∗)≤qn1−q d(x1,x0)d(x_n, x^*) \le \dfrac{q^n}{1-q}\, d(x_1, x_0),求保证 d(xn,x∗)<1d(x_n,x^*) < 1 的最小 nn。

解答

第一步 — 列出需要求解的不等式。需要 qn1−q d(x1,x0)<1\dfrac{q^n}{1-q}\,d(x_1,x_0) < 1,即 0.6n0.4×100<1\dfrac{0.6^n}{0.4} \times 100 < 1,即 0.6n<0.0040.6^n < 0.004。

第二步 — 取对数。nln⁡(0.6)<ln⁡(0.004)n \ln(0.6) < \ln(0.004)。由于 ln⁡(0.6)≈−0.5108\ln(0.6) \approx -0.5108 为负,两边相除时不等号方向翻转:n>ln⁡(0.004)ln⁡(0.6)=−5.521−0.5108≈10.81n > \dfrac{\ln(0.004)}{\ln(0.6)} = \dfrac{-5.521}{-0.5108} \approx 10.81。

第三步 — 向上取整到最小整数。n=11n = 11 次迭代即可保证 d(xn,x∗)<1d(x_n,x^*) < 1 个像素强度单位,而这个数字在运行任何迭代之前就已知——这正是图像压缩编解码器中先验误差界的实用价值所在。

R\mathbb{R} 上 d(x,y)=(x−y)2d(x,y) = (x-y)^2 哪条性质不成立?

用 ℓ2\ell_2 度量,R3\mathbb{R}^3 中 d((1,2,2),(4,6,2))d((1,2,2),(4,6,2)) 等于多少?

同一问题的迭代求解器压缩比为 q=0.9q=0.9 而非 q=0.1q=0.1,会发生什么?

哪组条件保证巴拿赫不动点定理适用?

参考文献

  1. Walter Rudin (1976). Principles of Mathematical Analysis
  2. James Munkres (2000). Topology
  3. Shaojie Bai, J. Zico Kolter, Vladlen Koltun (2019). Deep Equilibrium Models · arXiv:1909.01377