TFS-2023《Local-Global Fuzzy Clustering With Anchor Graph》
核心思想
论文的核心思想是提出一种名为 LGFCA (Local-Global Fuzzy Clustering with Anchor Graph) 的新型聚类算法,旨在解决传统基于锚点(anchor-based)的谱聚类方法中存在的两个关键问题:
- 信息丢失问题:传统方法(如谱聚类)通常将问题分解为“子空间学习”和“离散化后处理”两个独立步骤。后处理(如K-means)会丢失子空间学习阶段获得的连续信息,导致性能下降。
- 局部-全局结构失衡问题:锚点图(anchor graph)擅长捕捉数据的局部邻域结构,但往往忽略了样本间和锚点间的全局差异性,难以形成判别力强的、分离度高的聚类结构。
LGFCA的创新之处在于将模糊聚类(Fuzzy Clustering)、锚点图构建和全局结构正则化三者有机结合。它通过一个统一的优化框架,同时完成子空间学习和模糊聚类,无需后处理步骤。其核心是引入一个“图散度正则化项”(graph divergence regularization term),在保持局部结构的同时,最大化不同簇在模糊潜在空间中的方差,从而增强全局判别性。
目标函数
LGFCA的目标函数旨在最小化局部图损失,同时最大化全局散度。其最终形式如下:
minF,GTr([GF]TLs[GF])−λTr([GF]THn+m[GF]) \min_{\mathbf{F},\mathbf{G}} \text{Tr} \left( \begin{bmatrix} \mathbf{G} \\ \mathbf{F} \end{bmatrix}^T \mathbf{L}_s \begin{bmatrix} \mathbf{G} \\ \mathbf{F} \end{bmatrix} \right) - \lambda \text{Tr} \left( \begin{bmatrix} \mathbf{G} \\ \mathbf{F} \end{bmatrix}^T \mathbf{H}_{n+m} \begin{bmatrix} \mathbf{G} \\ \mathbf{F} \end{bmatrix} \right) F,GminTr([GF]TLs[GF])−λTr([GF]THn+m[GF])
约束条件为:
F1c=1n,F≥0;G1c=1m,G≥0
\mathbf{F}\mathbf{1}_c = \mathbf{1}_n, \quad \mathbf{F} \geq 0; \quad \mathbf{G}\mathbf{1}_c = \mathbf{1}_m, \quad \mathbf{G} \geq 0
F1c=1n,F≥0;G1c=1m,G≥0
其中:
- F∈Rn×c\mathbf{F} \in \mathbb{R}^{n \times c}F∈Rn×c 和 G∈Rm×c\mathbf{G} \in \mathbb{R}^{m \times c}G∈Rm×c 分别是样本和锚点的模糊指示矩阵(即隶属度矩阵)。矩阵中的元素 fikf_{ik}fik 表示第 iii 个样本属于第 kkk 个簇的隶属度,gjkg_{jk}gjk 表示第 jjj 个锚点属于第 kkk 个簇的隶属度。
- Ls=D−S\mathbf{L}_s = \mathbf{D} - \mathbf{S}Ls=D−S 是锚点图的拉普拉斯矩阵。
- S=BDz−1BT\mathbf{S} = \mathbf{B}\mathbf{D}_z^{-1}\mathbf{B}^TS=BDz−1BT 是样本的相似度矩阵,由锚点图 B∈Rn×m\mathbf{B} \in \mathbb{R}^{n \times m}B∈Rn×m 构建。
- Hn+m=In+m−1n+m1n+m1n+mT\mathbf{H}_{n+m} = \mathbf{I}_{n+m} - \frac{1}{n+m}\mathbf{1}_{n+m}\mathbf{1}_{n+m}^THn+m=In+m−n+m11n+m1n+mT 是中心化矩阵。
- λ\lambdaλ 是一个权衡参数,用于平衡局部结构学习和全局结构学习。
- 约束条件 F1c=1n,F≥0\mathbf{F}\mathbf{1}_c = \mathbf{1}_n, \mathbf{F} \geq 0F1c=1n,F≥0 和 G1c=1m,G≥0\mathbf{G}\mathbf{1}_c = \mathbf{1}_m, \mathbf{G} \geq 0G1c=1m,G≥0 是模糊约束,确保每个样本/锚点对所有簇的隶属度之和为1,且隶属度非负。
目标函数的物理意义:
- 第一项 Tr(YTLsY)\text{Tr}(\mathbf{Y}^T \mathbf{L}_s \mathbf{Y})Tr(YTLsY):其中 Y=[F;G]T\mathbf{Y} = [\mathbf{F}; \mathbf{G}]^TY=[F;G]T。这一项是传统的图拉普拉斯平滑项,旨在最小化相连样本/锚点在潜在空间中的距离,从而保持数据的局部几何结构。
- 第二项 −λTr(YTHn+mY)-\lambda \text{Tr}(\mathbf{Y}^T \mathbf{H}_{n+m} \mathbf{Y})−λTr(YTHn+mY):这是论文提出的图散度正则化项。由于前面有负号,最大化这一项等价于最小化目标函数。Tr(YTHn+mY)\text{Tr}(\mathbf{Y}^T \mathbf{H}_{n+m} \mathbf{Y})Tr(YTHn+mY) 本质上是 Y\mathbf{Y}Y 中所有行向量(即所有样本和锚点的表示)的总方差。最大化这个方差,意味着迫使不同簇的表示尽可能分离,从而增强了聚类结果的判别性,避免了所有点坍缩到同一个位置的“平凡解”。
目标函数详细的优化过程
论文采用坐标下降法(Coordinate Descent)来优化目标函数。这是一个迭代过程,每次更新 Y\mathbf{Y}Y 中的一个行向量 yi\mathbf{y}_iyi (对应一个样本或一个锚点),而固定其他所有行向量。
-
目标函数重写:
首先,将目标函数中的矩阵 Ls−λHn+m\mathbf{L}_s - \lambda \mathbf{H}_{n+m}Ls−λHn+m 合并为一个新的矩阵 Lm=Dm−Sm\mathbf{L}_m = \mathbf{D}_m - \mathbf{S}_mLm=Dm−Sm。然后,目标函数可以等价地写成一个加权平方和的形式:
minF,G∈Ω∑i=1n+m∑j=1n+m∥yi−yj∥22mij \min_{\mathbf{F},\mathbf{G} \in \Omega} \sum_{i=1}^{n+m} \sum_{j=1}^{n+m} \|\mathbf{y}_i - \mathbf{y}_j\|_2^2 m_{ij} F,G∈Ωmini=1∑n+mj=1∑n+m∥yi−yj∥22mij
其中,mijm_{ij}mij 是一个根据 B\mathbf{B}B 和 λ\lambdaλ 计算出的权重系数。 -
分离变量:
由于目标函数是关于各个 yi\mathbf{y}_iyi 的加权平方和,我们可以将关于 yi\mathbf{y}_iyi 的部分单独分离出来:
minyi∑j=1,j≠in+m∥yi−yj∥22mij \min_{\mathbf{y}_i} \sum_{j=1, j\neq i}^{n+m} \|\mathbf{y}_i - \mathbf{y}_j\|_2^2 m_{ij} yiminj=1,j=i∑n+m∥yi−yj∥22mij
这可以进一步简化为:
minyiωi∥yi−yˉi∥22 \min_{\mathbf{y}_i} \omega_i \|\mathbf{y}_i - \bar{\mathbf{y}}_i\|_2^2 yiminωi∥yi−yˉi∥22
其中,ωi=∑j=1,j≠in+mmij\omega_i = \sum_{j=1, j\neq i}^{n+m} m_{ij}ωi=∑j=1,j=in+mmij 是一个标量权重,yˉi=∑j=1,j≠in+mmijyj∑j=1,j≠in+mmij\bar{\mathbf{y}}_i = \frac{\sum_{j=1, j\neq i}^{n+m} m_{ij} \mathbf{y}_j}{\sum_{j=1, j\neq i}^{n+m} m_{ij}}yˉi=∑j=1,j=in+mmij∑j=1,j=in+mmijyj 是一个关于其他所有点的加权平均向量。 -
求解子问题:
现在问题转化为求解一个带约束的二次规划问题:
minyiσ∥yi−yˉi∥22s.t.yiT1c=1,yi≥0 \min_{\mathbf{y}_i} \sigma \|\mathbf{y}_i - \bar{\mathbf{y}}_i\|_2^2 \quad \text{s.t.} \quad \mathbf{y}_i^T \mathbf{1}_c = 1, \quad \mathbf{y}_i \geq 0 yiminσ∥yi−yˉi∥22s.t.yiT1c=1,yi≥0
其中 σ=ωi\sigma = \omega_iσ=ωi。- 情况一 (σ>0\sigma > 0σ>0):这是一个凸优化问题,目标是最小化 yi\mathbf{y}_iyi 与 yˉi\bar{\mathbf{y}}_iyˉi 的距离。论文引用了文献[47]中的一个高效算法(时间复杂度为 O(clogc)O(c \log c)O(clogc))来求解这个带 simplex 约束的问题。
- 情况二 (σ<0\sigma < 0σ<0):此时目标函数变为最大化 ∥yi−yˉi∥22\|\mathbf{y}_i - \bar{\mathbf{y}}_i\|_2^2∥yi−yˉi∥22。在 simplex 约束下,最优解是将 yi\mathbf{y}_iyi 的所有概率质量分配给 yˉi\bar{\mathbf{y}}_iyˉi 中值最小的那个维度,即 yi=[0,...,0,1,0,...,0]\mathbf{y}_i = [0, ..., 0, 1, 0, ..., 0]yi=[0,...,0,1,0,...,0],其中1的位置对应 yˉi\bar{\mathbf{y}}_iyˉi 的最小元素索引。这一步的时间复杂度为 O(c)O(c)O(c)。
-
迭代更新:
算法按顺序(或随机顺序)遍历所有 n+mn+mn+m 个行向量 yi\mathbf{y}_iyi,根据上述方法更新每一个向量。重复此过程,直到目标函数值的变化小于预设阈值(如 10−410^{-4}10−4)或达到最大迭代次数。
主要的贡献点
论文作者明确指出了以下三个主要贡献:
- 统一的模糊潜在空间:对指示矩阵施加模糊约束(F1c=1n,F≥0\mathbf{F}\mathbf{1}_c = \mathbf{1}_n, \mathbf{F} \geq 0F1c=1n,F≥0),使其同时作为子空间学习的低维表示和模糊聚类的隶属度矩阵。这使得子空间学习和聚类可以在一步内协同完成,避免了传统方法中因分离步骤而导致的信息丢失。
- 新颖的图散度正则化项:提出图散度正则化项 −λTr(YTHn+mY)-\lambda \text{Tr}(\mathbf{Y}^T \mathbf{H}_{n+m} \mathbf{Y})−λTr(YTHn+mY)。该正则项有两个关键作用:(a) 避免优化过程中出现所有点重合的“平凡解”;(b) 通过最大化潜在表示的全局方差,增强不同簇之间的判别性,从而在保持局部结构的同时,学习到更清晰、分离度更高的全局聚类结构。
- 高效的坐标下降优化:摒弃了传统的特征值分解和后处理步骤,设计了一种坐标下降法来交替优化目标函数。实验证明,经过优化后,模糊指示矩阵 F\mathbf{F}F 中的元素会自然地趋向于离散值(0或1),从而可以直接从中读取聚类标签,无需任何额外的离散化操作。
算法的实现过程
LGFCA算法的完整实现过程如下:
输入:数据矩阵 X∈Rn×d\mathbf{X} \in \mathbb{R}^{n \times d}X∈Rn×d,聚类数 ccc,锚点数 mmm,每个样本的最近锚点数 kkk,正则化参数 λ\lambdaλ。
输出:样本的预测标签。
步骤:
-
生成锚点:使用 K-means++ 算法在原始数据集 X\mathbf{X}X 上运行,生成 mmm 个锚点 Z∈Rm×d\mathbf{Z} \in \mathbb{R}^{m \times d}Z∈Rm×d。K-means++ 能提供比随机选择或标准K-means更好的初始中心点。
-
构建初始锚点图 B\mathbf{B}B:
- 对于每个样本 xi\mathbf{x}_ixi,计算其与所有 mmm 个锚点 zj\mathbf{z}_jzj 的欧氏距离平方 hij=∥xi−zj∥22h_{ij} = \|\mathbf{x}_i - \mathbf{z}_j\|_2^2hij=∥xi−zj∥22。
- 对于每个 xi\mathbf{x}_ixi,根据公式求解其对应的锚点权重向量 bi\mathbf{b}_ibi:
bij∗={hi,k+1−hijkhi,k+1−∑r=1khirif j≤k0if j>k b_{ij}^* = \begin{cases} \frac{h_{i,k+1} - h_{ij}}{k h_{i,k+1} - \sum_{r=1}^{k} h_{ir}} & \text{if } j \leq k \\ 0 & \text{if } j > k \end{cases} bij∗={khi,k+1−∑r=1khirhi,k+1−hij0if j≤kif j>k
该公式确保了 bi\mathbf{b}_ibi 中只有与其最近的 kkk 个锚点相关的权重非零,并且权重之和为1 (biT1m=1\mathbf{b}_i^T \mathbf{1}_m = 1biT1m=1) 且非负 (bi≥0\mathbf{b}_i \geq 0bi≥0)。这一步是参数自适应的,无需手动调整稀疏性参数 η\etaη。
-
初始化模糊指示矩阵 Y\mathbf{Y}Y:
- 将 Y=[F;G]T∈R(n+m)×c\mathbf{Y} = [\mathbf{F}; \mathbf{G}]^T \in \mathbb{R}^{(n+m) \times c}Y=[F;G]T∈R(n+m)×c 初始化为一个随机非负矩阵。
- 对 Y\mathbf{Y}Y 的每一行进行归一化,使其满足模糊约束:对于第 iii 行 yi\mathbf{y}_iyi,执行 yi=yi/(∑j=1cyij)\mathbf{y}_i = \mathbf{y}_i / (\sum_{j=1}^{c} y_{ij})yi=yi/(∑j=1cyij),确保 yiT1c=1\mathbf{y}_i^T \mathbf{1}_c = 1yiT1c=1。
-
迭代优化:
- While 目标函数未收敛(例如,连续两次迭代的目标函数值变化小于 10−410^{-4}10−4):
- For i=1i = 1i=1 到 n+mn+mn+m(遍历所有样本和锚点):
- 根据当前的 Y\mathbf{Y}Y(固定除 yi\mathbf{y}_iyi 外的所有行),计算加权平均向量 yˉi\bar{\mathbf{y}}_iyˉi 和权重 ωi\omega_iωi。
- 根据 ωi\omega_iωi 的符号,使用对应的方法更新 yi\mathbf{y}_iyi:
- 若 ωi>0\omega_i > 0ωi>0,使用文献[47]的算法求解 min∥yi−yˉi∥22\min \|\mathbf{y}_i - \bar{\mathbf{y}}_i\|_2^2min∥yi−yˉi∥22。
- 若 ωi<0\omega_i < 0ωi<0,将 yi\mathbf{y}_iyi 设置为one-hot向量,1的位置对应 yˉi\bar{\mathbf{y}}_iyˉi 中最小元素的索引。
- End For
- For i=1i = 1i=1 到 n+mn+mn+m(遍历所有样本和锚点):
- End While
- While 目标函数未收敛(例如,连续两次迭代的目标函数值变化小于 10−410^{-4}10−4):
-
获取聚类标签:
- 优化完成后,从 Y\mathbf{Y}Y 中提取样本的模糊指示矩阵 F\mathbf{F}F。
- 对于第 iii 个样本,其预测的聚类标签为其隶属度向量 fi\mathbf{f}_ifi 中最大值所对应的簇索引:
labeli=argmaxk=1,2,...,cfik \text{label}_i = \arg\max_{k=1,2,...,c} f_{ik} labeli=argk=1,2,...,cmaxfik - 由于优化过程的特性,F\mathbf{F}F 中的元素通常已非常接近0或1,因此可以直接得到清晰的硬聚类结果。
通过以上步骤,LGFCA算法高效地实现了局部-全局结构感知的模糊聚类,并直接输出最终的聚类标签。