机器学习

机器学习中的谱图理论

特征值与特征向量把一团节点和边变成学习算法可以使用的坐标。这正是聚类、降维以及现代图神经网络背后的线性代数。

阅读需要 12 分钟 更新时间:2026年6月 高级水平
LGT
Learn Graph Theory Team
Expert Operations Research Engineers

1. 什么是谱图理论?

谱图理论通过表示图的矩阵的特征值与特征向量来研究图。我们不再逐个推敲顶点和边,而是把整张图编码成一个矩阵,并从该矩阵的(即其特征值的集合)中读出它的结构。它是一座桥梁,把离散的组合对象与连续而高度成熟的线性代数机器连接起来。

正是这座桥让机器学习如此重视它。现实数据绝大多数是关系型的:社交网络、分子、引文图、道路地图、图像的像素,以及词语的共现。然而大多数学习算法期望整齐的数值向量作为输入。谱方法通过把图转化为坐标来化解这一矛盾,这是一种可以聚类、嵌入并送入神经网络的几何。

这一领域在纯数学中根基深厚(Fiedler、Chung 等人的工作),但已成为一套实用工具。正如 Daniel Spielman 在他广为使用的耶鲁讲义中所言,谱揭示了"一张图连接得有多好、它是否有良好的簇,以及信息如何在其中扩散"。这三个问题正是无监督学习的核心。

2. 从图到矩阵:拉普拉斯矩阵

三个矩阵描述一张有 n 个顶点的图。邻接矩阵 A 在顶点 ij 之间有边时,于 (i, j) 处取 1。度矩阵 D 是对角矩阵,存放每个顶点的度。主角是图的拉普拉斯矩阵

L = D − A

拉普拉斯矩阵是对称且半正定的,每一行之和为零,并且其行为如同物理学中拉普拉斯算子的离散版本,它衡量图上的信号从一个节点到相邻节点变化了多少。这一直觉体现在其二次型 xᵀLx = Σ (xᵢ − xⱼ)² 中,对每条边求和:当相连顶点取值相近时它很小,取值相异时它很大。

由一条桥边连接的两个三角形组成的图,旁边是其 6×6 拉普拉斯矩阵,对角线上是顶点的度,非对角线上的 −1 标记边。
图 1。一张小图及其拉普拉斯矩阵 L = D − A。对角线存放每个顶点的度;每条边在非对角线上贡献一个 −1。

实践中通常更倾向使用归一化拉普拉斯矩阵,它针对不均衡的度进行重新缩放。对称版本为 L_sym = I − D^(−1/2) A D^(−1/2),随机游走版本为 L_rw = I − D^(−1) A。归一化可防止高度数的枢纽节点主导谱,而大多数机器学习方案,无论是谱聚类还是图神经网络,都建立在这些归一化形式之上。

3. 图的谱:作为结构的特征值

由于拉普拉斯矩阵是对称且半正定的,它的所有特征值都是实数且非负。我们将它们排序为 0 = λ₁ ≤ λ₂ ≤ … ≤ λₙ。这个有序列表就是图的,而它的信息量惊人。

六个拉普拉斯特征值 0、0.44、3、3、3 和 4.56 的柱状图,第二个特征值被高亮为 Fiedler 值,在下一个特征值之前有明显的谱间隙。
图 2。图 1 中图的谱。较小的 Fiedler 值(0.44)之后是跃升到 3.0 的大间隙,这是两个松散连接社区的标志。

λ₂λ₃ 的跃升称为谱间隙,间隙越大,越强烈地暗示图具有清晰的簇结构。对应 λ₂ 的特征向量,Fiedler 向量,为每个顶点赋予一个数,其符号告诉你它落在割的哪一侧。著名的 Cheeger 不等式使之严格化,用 λ₂ 界定图的最稀疏割。仅凭一个数,谱就回答了:这些数据是一团,还是若干团?

4. 谱聚类

谱聚类是机器学习中的旗舰应用,它直接源自上一节。配方很短:

  1. 从数据构建相似度图,通常是 k 近邻图,或连接邻近点的高斯(RBF)核。
  2. 构造归一化拉普拉斯矩阵,并计算其最小的 k 个特征向量
  3. 把这些特征向量按列堆叠,为每个点赋予新的 k 维坐标,即谱嵌入
  4. 在该嵌入空间中运行普通的 k-means
两三角形图,其节点被着色为两个簇,旁边是一条数轴,按 Fiedler 向量值放置每个节点,两个簇分别落在零的两侧。
图 3。仅凭 Fiedler 向量就能把图分成两个簇:节点 A、B、C 落在负侧,D、E、F 落在正侧。

既然已有 k-means,何必费此周折?因为 k-means 只能切出圆形、凸形的团块,而谱聚类能够还原任意形状的簇,经典的"两个交错的月牙"或同心圆环会让 k-means 彻底失效。从数学上看,它是归一化割问题的一个可处理的松弛,而该问题的精确形式是 NP 难的;特征向量给出最佳的连续近似。该方法因 Shi 与 Malik 用于图像分割的 Normalized Cuts(2000)以及 Ng、Jordan 与 Weiss(2002)而广为人知,而 Ulrike von Luxburg 2007 年的教程至今仍是权威的实用指南。

一个经典的演示是"双月牙"(two moons)数据集,两个相互交错的月牙形状。朴素的 k-means 会从正中间一刀切下去,结果失败,因为这两个月牙不是线性可分的。谱聚类在邻域图上工作,沿着每个月牙的弧线延展,能正确地还原出两个簇。同样的优势也出现在同心圆环上,以及任何簇彼此连通却并不紧凑的数据上。

亲眼看谱如何运作

构建一张图,实时观察它的拉普拉斯矩阵、特征值与 Fiedler 向量如何更新,并精确看到谱如何把一个网络划分为簇。

打开可视化工具

5. 流形学习与拉普拉斯特征映射

切割图的那些特征向量同样可以把高维数据"压平"。这正是 拉普拉斯特征映射(Laplacian Eigenmaps)的思想,由 Mikhail Belkin 与 Partha Niyogi 于 2003 年提出。其前提,流形假设,认为现实中的高维数据(人脸、笔迹、基因表达)实际上位于嵌入该空间的、维度低得多的弯曲曲面之上。

拉普拉斯特征映射通过构建邻域图,再选取低维坐标 y 使 Σ wᵢⱼ ‖yᵢ − yⱼ‖² 最小,从而还原该曲面,让原空间中相近的点在嵌入中仍然相近。其解再一次是图拉普拉斯矩阵的最小的非平凡特征向量。与只能找到线性投影的 PCA 不同,这是真正非线性的降维,并与扩散映射以及 scikit-learn 中的谱嵌入密切相关。它是可视化以及分类前预处理的主力工具。

值得把这些方法与流行的可视化工具 t-SNE 和 UMAP 区分开来。后者同样基于图、在精神上也保持邻域关系,但它们优化的是一个概率目标,而不是直接求解拉普拉斯特征向量。当你想要一个快速、确定性、且具有清晰线性代数解释的嵌入时,拉普拉斯特征映射依然很有吸引力。

6. 谱图神经网络

谱图理论也是深度学习一整个分支的理论基础。关键思想是图傅里叶变换:把定义在顶点上的信号投影到拉普拉斯矩阵的特征向量上,所起的作用与经典傅里叶变换对时间序列的作用相同。特征值充当频率,而"过滤"图信号意味着重新加权其谱分量。

Bruna 等人于 2014 年以此方式定义了图上首个谱卷积。它能用,但完整的特征分解代价为 O(n³),且滤波器不具局部性。两项改进让这一思想变得实用:

这一层优雅的结构,归一化拉普拉斯矩阵的直系后裔,正是当今 GNN 在推荐系统、欺诈检测、交通预测以及药物与材料发现中应用的动力来源。

一个实用的注意事项:纯谱滤波器被绑定在单一固定的图上,因为图一旦改变,特征向量也随之改变。这正是该领域大量转向空间消息传递网络的原因,后者可以泛化到不同规模的图。即便如此,谱视角仍然是理解图卷积究竟对信号做了什么的最清晰的透镜。

7. 工具与何时使用谱方法

你很少需要亲手实现线性代数。成熟、可信的库覆盖了整条流水线:

几条实用经验:始终使用归一化的拉普拉斯矩阵;使用稀疏特征求解器,只索取所需的最小特征向量;并用特征间隙启发式来选择簇数,在排序后的谱中寻找最大的跃升。当数据天然是图、当簇非凸、或当你需要一个有原则的低维嵌入时,就该求助于谱方法。当簇明显是圆形且数据已向量化时,朴素的 k-means 可能更快且同样好用。谱图理论并不取代你的工具箱,它赋予它几何。

一览:如何选择方法

方法需要什么优势典型用途
k-means特征向量简单且快速圆形簇、快速基线
谱聚类相似度图能找到非凸的簇社区发现、图像分割
拉普拉斯特征映射邻域图非线性嵌入可视化、预处理
谱图神经网络(GCN / ChebNet)图 + 节点特征从结构与特征中学习节点分类、推荐

常见问题

用简单的话说,图的拉普拉斯矩阵是什么?

拉普拉斯矩阵是矩阵 L = D − A,其中 D 在对角线上存放顶点的度,A 是邻接矩阵。它衡量信号从每个节点到其邻居变化了多少,其特征值与特征向量揭示图的连通性与簇结构。

为什么第二小的特征值(Fiedler 值)很重要?

Fiedler 值,即代数连通度,衡量一张图连接得有多好。接近零的值意味着图几乎分裂为两个分量,对应的 Fiedler 向量则指明如何进行这种划分,这正是谱聚类的基础。

谱聚类与 k-means 有何不同?

k-means 只能在原始特征空间中找到圆形、凸形的簇。谱聚类先用拉普拉斯特征向量对数据重新嵌入,因此能够还原任意形状的簇,例如嵌套的圆环或交错的月牙,然后再在这个新空间中应用 k-means。

图神经网络基于谱图理论吗?

谱图神经网络是的。图傅里叶变换以拉普拉斯特征向量作为频率基;ChebNet 用切比雪夫多项式逼近谱滤波器,而广受欢迎的 Kipf 与 Welling 的 GCN 是该谱构造的一阶简化。

进一步探索

把图变成几何

阅读拉普拉斯矩阵是一回事;亲眼看着特征向量把一个网络切成簇会让你豁然开朗。交互式地构建你自己的图并探索它们的谱。

打开可视化工具