谱聚类(Spectral Clustering)的图拉普拉斯矩阵视角与聚类过程
字数 1944 2025-11-09 06:13:46

谱聚类(Spectral Clustering)的图拉普拉斯矩阵视角与聚类过程

谱聚类是一种基于图论的聚类方法,特别适合处理非凸分布或复杂形状的数据集。其核心思想是将数据点视为图的节点,利用图的拉普拉斯矩阵(Laplacian Matrix)的特征向量对数据进行低维嵌入,再使用传统聚类算法(如K-means)进行划分。下面逐步讲解其原理与实现步骤。


1. 问题描述

目标:给定数据集 \(X = \{x_1, x_2, ..., x_n\}\),将其划分为 \(k\) 个簇。
挑战:传统聚类算法(如K-means)假设簇是凸形的,但实际数据可能分布复杂(如同心圆状)。谱聚类通过图拉普拉斯矩阵的谱(特征值)性质,将数据映射到低维空间,使复杂结构变得线性可分。


2. 构建相似度图

将每个数据点视为图的节点,边表示点之间的相似度。常用方法:

  • 全连接图:所有节点两两相连,边权重由高斯核函数计算:

\[ w_{ij} = \exp\left(-\frac{\|x_i - x_j\|^2}{2\sigma^2}\right) \]

其中 \(\sigma\) 控制相似度衰减速度。

  • k近邻图:仅保留每个节点的k个最近邻的边。
  • ε-邻域图:仅连接距离小于ε的节点。

相似度矩阵 \(W\)\(n \times n\) 的对称矩阵,元素 \(w_{ij}\) 表示节点 \(i\)\(j\) 的边权重。


3. 计算图拉普拉斯矩阵

拉普拉斯矩阵是谱聚类的核心,常见形式:

  1. 未归一化拉普拉斯矩阵

\[ L = D - W \]

其中 \(D\) 是度矩阵(对角矩阵),\(D_{ii} = \sum_j w_{ij}\) 表示节点 \(i\) 的度。

  1. 归一化拉普拉斯矩阵(更常用):
    • 对称归一化

\[ L_{\text{sym}} = D^{-1/2} L D^{-1/2} = I - D^{-1/2} W D^{-1/2} \]

  • 随机游走归一化

\[ L_{\text{rw}} = D^{-1} L = I - D^{-1} W \]

关键性质

  • 拉普拉斯矩阵的特征值非负,最小特征值为0,对应特征向量为全1向量。
  • 特征值的数量等于图中连通分量的数量,最小非零特征值对应的特征向量能揭示簇结构。

4. 特征分解与低维嵌入

对拉普拉斯矩阵进行特征分解:

  1. 计算 \(L\)(或 \(L_{\text{sym}}\)\(L_{\text{rw}}\))的前 \(k\) 个最小特征值对应的特征向量。
  2. 将这些特征向量按列排列,形成矩阵 \(U \in \mathbb{R}^{n \times k}\)

\[ U = [u_1, u_2, ..., u_k] \]

其中 \(u_i\) 是第 \(i\) 小的特征值对应的特征向量。
3. 矩阵 \(U\) 的每一行对应原始数据点在低维空间(谱空间)的嵌入表示。

为什么有效
拉普拉斯矩阵的特征向量能将数据点映射到一种“松弛的切割空间”,使得原本复杂的簇边界在低维空间中变得线性可分。


5. 聚类低维嵌入

将矩阵 \(U\) 的每一行视为一个 \(k\) 维向量,使用K-means算法对这些向量进行聚类:

  • 输入:\(n\) 个低维向量(对应原始 \(n\) 个数据点)。
  • 输出:\(k\) 个簇标签。

示例:若 \(k=2\),则提取前2个特征向量,数据点被映射到二维平面,K-means直接划分平面上的点。


6. 算法步骤总结

  1. 输入:数据点集 \(X\),簇数 \(k\),相似度参数(如高斯核的 \(\sigma\))。
  2. 构建相似度矩阵 \(W\)
  3. 计算度矩阵 \(D\) 和拉普拉斯矩阵 \(L\)
  4. 计算 \(L\) 的前 \(k\) 个最小特征值对应的特征向量
  5. 形成特征向量矩阵 \(U\),每一行是一个数据点的低维表示。
  6. \(U\) 的行向量运行K-means,得到簇划分。
  7. 输出:每个数据点的簇标签。

7. 关键点说明

  • 参数选择:高斯核的 \(\sigma\) 影响相似度度量,通常通过启发式方法(如最近邻距离的中位数)选择。
  • 归一化的作用:归一化拉普拉斯矩阵能避免度大的节点主导聚类结果,提升对噪声的鲁棒性。
  • 复杂度:特征分解是计算瓶颈(\(O(n^3)\)),适合中小规模数据集。

通过以上步骤,谱聚类将非线性可分问题转化为线性可分问题,成为处理复杂结构数据的强大工具。

谱聚类(Spectral Clustering)的图拉普拉斯矩阵视角与聚类过程 谱聚类是一种基于图论的聚类方法,特别适合处理非凸分布或复杂形状的数据集。其核心思想是将数据点视为图的节点,利用图的拉普拉斯矩阵(Laplacian Matrix)的特征向量对数据进行低维嵌入,再使用传统聚类算法(如K-means)进行划分。下面逐步讲解其原理与实现步骤。 1. 问题描述 目标 :给定数据集 \( X = \{x_ 1, x_ 2, ..., x_ n\} \),将其划分为 \( k \) 个簇。 挑战 :传统聚类算法(如K-means)假设簇是凸形的,但实际数据可能分布复杂(如同心圆状)。谱聚类通过图拉普拉斯矩阵的谱(特征值)性质,将数据映射到低维空间,使复杂结构变得线性可分。 2. 构建相似度图 将每个数据点视为图的节点,边表示点之间的相似度。常用方法: 全连接图 :所有节点两两相连,边权重由高斯核函数计算: \[ w_ {ij} = \exp\left(-\frac{\|x_ i - x_ j\|^2}{2\sigma^2}\right) \] 其中 \( \sigma \) 控制相似度衰减速度。 k近邻图 :仅保留每个节点的k个最近邻的边。 ε-邻域图 :仅连接距离小于ε的节点。 相似度矩阵 \( W \) :\( n \times n \) 的对称矩阵,元素 \( w_ {ij} \) 表示节点 \( i \) 和 \( j \) 的边权重。 3. 计算图拉普拉斯矩阵 拉普拉斯矩阵是谱聚类的核心,常见形式: 未归一化拉普拉斯矩阵 : \[ L = D - W \] 其中 \( D \) 是度矩阵(对角矩阵),\( D_ {ii} = \sum_ j w_ {ij} \) 表示节点 \( i \) 的度。 归一化拉普拉斯矩阵 (更常用): 对称归一化 : \[ L_ {\text{sym}} = D^{-1/2} L D^{-1/2} = I - D^{-1/2} W D^{-1/2} \] 随机游走归一化 : \[ L_ {\text{rw}} = D^{-1} L = I - D^{-1} W \] 关键性质 : 拉普拉斯矩阵的特征值非负,最小特征值为0,对应特征向量为全1向量。 特征值的数量等于图中连通分量的数量,最小非零特征值对应的特征向量能揭示簇结构。 4. 特征分解与低维嵌入 对拉普拉斯矩阵进行特征分解: 计算 \( L \)(或 \( L_ {\text{sym}} \)、\( L_ {\text{rw}} \))的前 \( k \) 个最小特征值对应的特征向量。 将这些特征向量按列排列,形成矩阵 \( U \in \mathbb{R}^{n \times k} \): \[ U = [ u_ 1, u_ 2, ..., u_ k ] \] 其中 \( u_ i \) 是第 \( i \) 小的特征值对应的特征向量。 矩阵 \( U \) 的每一行对应原始数据点在低维空间(谱空间)的嵌入表示。 为什么有效 ? 拉普拉斯矩阵的特征向量能将数据点映射到一种“松弛的切割空间”,使得原本复杂的簇边界在低维空间中变得线性可分。 5. 聚类低维嵌入 将矩阵 \( U \) 的每一行视为一个 \( k \) 维向量,使用K-means算法对这些向量进行聚类: 输入:\( n \) 个低维向量(对应原始 \( n \) 个数据点)。 输出:\( k \) 个簇标签。 示例 :若 \( k=2 \),则提取前2个特征向量,数据点被映射到二维平面,K-means直接划分平面上的点。 6. 算法步骤总结 输入 :数据点集 \( X \),簇数 \( k \),相似度参数(如高斯核的 \( \sigma \))。 构建相似度矩阵 \( W \) 。 计算度矩阵 \( D \) 和拉普拉斯矩阵 \( L \)。 计算 \( L \) 的前 \( k \) 个最小特征值对应的特征向量 。 形成特征向量矩阵 \( U \) ,每一行是一个数据点的低维表示。 对 \( U \) 的行向量运行K-means ,得到簇划分。 输出 :每个数据点的簇标签。 7. 关键点说明 参数选择 :高斯核的 \( \sigma \) 影响相似度度量,通常通过启发式方法(如最近邻距离的中位数)选择。 归一化的作用 :归一化拉普拉斯矩阵能避免度大的节点主导聚类结果,提升对噪声的鲁棒性。 复杂度 :特征分解是计算瓶颈(\( O(n^3) \)),适合中小规模数据集。 通过以上步骤,谱聚类将非线性可分问题转化为线性可分问题,成为处理复杂结构数据的强大工具。