MATH ML Learning Lab
15 / 09
第 6 步 · 把前两章接成一个环

拉普拉斯算子 · 平均与曲率Laplacian

拉普拉斯 = 散度(梯度)。它衡量「该点和邻居差多少」—— 这一个度量同时统治着图像锐化、图卷积、谱聚类和热扩散。

18 分钟
阅读 + 实操
4 个
交互演示
中级
难度

拉普拉斯算子 · 交互演示

信号阶跃
∇²f
该点 − 邻居均值
① 一维二阶差分:曲线(上)与 f[i−1] − 2f[i] + f[i+1](下)。左键点选采样点
平坦处二阶差分为零;阶跃的两侧一正一负(这就是「边缘」);峰顶为负、谷底为正。下方的红条 = ∇²f > 0(低于邻域平均),蓝条 = ∇²f < 0(高于平均)。
② 图像锐化:原图 / ∇² 图 / 原图 − k∇²。拖动滑块调 k
锐化强度 k 0.80
只有 ∇² 非零的地方(即边缘)才会被改动;平坦区域 ∇² = 0,被减去的也是 0。这就是「锐化 = 减去拉普拉斯」的直观含义。
③ 图上热扩散:节点颜色 = 温度 u,迭代 u ← u − αLu 让温度逐渐均匀
步长 α 0.10
初始只有节点 0 和 4 是高温。热沿着边流动,颜色逐渐趋同 —— 因为 L 半正定,u ← u − αLu 只会把差异抹平,不会放大。收敛快慢由 λ₂(Fiedler 值)决定。
④ 图拉普拉斯矩阵 L = D − A 的热力图(对角 = 度数,非对角 = 负的边权)
这一版用的是上面的 8 节点环图加两条弦。二次型 fᵀLf = ½Σᵢⱼ wᵢⱼ(fᵢ − fⱼ)² 在这里恒 ≥ 0 —— 它度量的是把这条 f 铺到图上有多「不平滑」。

为什么学这步?

第 7 步给出 ∇(标量场 → 向量场),第 14 步给出 ∇·(向量场 → 标量场)。把它们串起来 ∇² = ∇·∇,就得到一个「标量场 → 标量场」的二阶算子。它度量局部曲率,也正是卷积核、图神经网络、谱聚类与扩散模型共享的那块地基。

📌 发生了什么

  • ∇² = ∇·∇,二阶算子
  • = 该点与邻域平均之差
  • 图上形式 L = D − A,半正定

⚠️ 常见陷阱

  • Δ 是拉普拉斯算子,不是「增量」
  • 图形学卷积核常差一个负号,须声明约定
  • 归一化后特征值在 [0,2],谱结论别混用

本章小结

  • ∇² = ∇·(∇f)(回指第 7、14 步)
  • fᵀLf 度量不平滑程度
  • 热方程 ∂u/∂t = −Lu 抹平差异

📐 为什么它等于「与邻域平均之差」

把二阶差分稍微改写一下就看清了:f[i−1] − 2f[i] + f[i+1] 可以写成 2 ×(邻居平均 − 本点)。也就是说,拉普拉斯就是「本点低于(或高于)周围多少」的度量(差一个常数因子)。

于是符号有了明确含义:∇²f > 0 表示本点低于邻域平均(谷),∇²f < 0 表示高于平均(峰),∇²f = 0 表示恰好等于邻域平均。推广到球面平均后,∇²f = 0 的函数就叫调和函数。

热方程直接受益于此:∂u/∂t = α∇²u 说的是「高于邻域的点降温、低于邻域的点升温」,结果就是差异被抹平、越来越平滑 —— 这正是演示 ③ 看到的画面。

🎛 连续 → 离散 → 图

同一条公式有三副面孔。理解了前两行的对应关系,图上那一行就不再突兀。

设定 ∇² 的形式 性质
连续(2D)∂²f/∂x² + ∂²f/∂y²二阶、线性、旋转不变
网格(五点)f[i±1], f[j±1] 的加权和 − 4f[i,j]核 [0 1 0; 1 −4 1; 0 1 0]
L = D − A;(Lf)ᵢ = Σⱼ wᵢⱼ(fⱼ − fᵢ)对称、半正定、行和为 0

💡 图上那行里,Σⱼ wᵢⱼ(fⱼ − fᵢ) 与一维的二阶差分是同一件事:把「本点」换成 fᵢ,把「左右邻居」换成所有邻居。

🔗 它在 ML 里出现在哪

这是数学轨道里落点最多的一章 —— 因为「和邻居差多少」在图数据上无处不在:

  • 谱聚类:用 L 的前 k 个特征向量把节点嵌到低维,再在嵌入空间里跑 KMeans。λ₂ 越小(Fiedler 值),图越容易被切开 —— 接着 ML 第 9 步 · K-Means 的流程。
  • GCN 图卷积:邻域聚合 H′ = σ(ÂHW) 里的 Â 就是 L_sym 的一阶近似 —— ∇² 在图上最朴素的化身。
  • 图像处理:以 [0 1 0; 1 −4 1; 0 1 0] 做边缘检测;用「原图 − k∇²」做锐化(演示 ②)。卷积核在这里就是空间上的差分算子,接 ML 第 12 步 · CNN
  • 扩散模型与 PINN:前向加噪对应热方程式的平滑(与 第 14 步的 Fokker–Planck 一同出现);物理信息网络直接把 ∇²u − f = 0 写进损失,用 第 7 步的自动微分求 ∇²。
  • 对比 PCA:L 的特征向量是「图上最平滑的分量」,而 ML 第 11 步 · PCA 的最大特征向量是「方差最大的方向」—— 一个求最小、一个求最大,别记混。

💻 图拉普拉斯与热扩散

本页的矩阵与热扩散都来自这段(引擎 DW.graphlap):

// 组合拉普拉斯 L = D − A
function combinationLaplacian(n, edges) {
  // 对角 = 度数,非对角 = −边权;行和恒为 0
}
// 一步热扩散:u ← u − αLu
function heatStep(u, L, alpha) {
  const Lu = laplacianApply(L, u);
  return u.map((v, i) => v - alpha * Lu[i]);
}
// 稳定性:显式欧拉要求 α·λ_max < 2(组合式下 λ_max ≤ 2·d_max)

📚 参考文献与延伸阅读

  • Strang, Computational Science and Engineering / MIT 18.06 — 拉普拉斯矩阵与图的谱
  • von Luxburg (2007), A Tutorial on Spectral Clustering — 谱聚类的标准入门综述
  • Kipf & Welling (2017), Semi-Supervised Classification with Graph Convolutional Networks — L_sym 到 GCN 的那一步近似
  • 回顾 → 第 7 步 · 梯度(∇f)与 第 14 步 · 散度(∇·F):本章的 ∇² = ∇·(∇f) 就是这两步的复合。到这里,三章的算子阶梯闭合成环。

📝 课后练习

检验你的理解——答对为止