2. 核心思想
这篇论文的核心思想是解决传统非负矩阵分解(NMF)在聚类任务中一个关键问题:分解得到的聚类中心(centroids)往往会偏离数据的真实流形(manifold)结构,尤其是在处理具有复杂几何结构的数据集时,这会严重影响聚类性能。
为了解决这个问题,MPNMF提出了以下核心策略:
- 引入流形峰(Manifold Peaks, MPs): 首先识别出数据流形上的关键点——流形峰(MPs)。这些点被认为是数据流形的“骨干”(backbone),能够较好地表征流形的主要结构,同时排除了噪声和离群点的干扰。
- 基于MPs构建聚类中心: 不是让NMF直接学习聚类中心,而是强制要求每个聚类中心必须是附近流形峰(nearby MPs)的锥组合(conic combination)。锥组合意味着组合系数是非负的,但不要求像凸组合那样和为1。这使得聚类中心能够被约束在由MPs张成的空间内,从而更有可能落在原始数据流形上。
- 利用广义图平滑正则化(Generalized Graph Smoothness Regularization): 引入一种新的正则化方法来指导图的构建。具体来说,它同时考虑了MPs之间的流形距离和它们在构建聚类中心时的权重分布相似性,确保邻近的MPs在构建不同聚类中心时具有相似的权重分布,进一步促使聚类中心位于流形上。
- 稀疏性约束: 对每个聚类中心仅由少量(附近的)MPs组合而成施加稀疏性约束,增强了聚类中心构建的局部性。
3. 目标函数
MPNMF的目标函数(公式15)旨在最小化数据重构误差,同时引入上述约束:
minZ,V,Y12∥X−PZVT∥F2+α2⟨QP,ZZT⟩+β2⟨QY,VVT⟩ \min_{Z, V, Y} \frac{1}{2}\|X - PZV^T\|_F^2 + \frac{\alpha}{2} \langle Q_P, ZZ^T \rangle + \frac{\beta}{2} \langle Q_Y, VV^T \rangle Z,V,Ymin21∥X−PZVT∥F2+2α⟨QP,ZZT⟩+2β⟨QY,VVT⟩
s.t. Z≥0,V≥0,∀j∥zj∥0≤τz,∀i∥vi∥0≤τv,YTY=I \text{s.t. } Z \geq 0, V \geq 0, \forall j \|z_j\|_0 \leq \tau_z, \forall i \|v_i\|_0 \leq \tau_v, Y^TY = I s.t. Z≥0,V≥0,∀j∥zj∥0≤τz,∀i∥vi∥0≤τv,YTY=I
其中:
- X∈R+m×nX \in \mathbb{R}^{m \times n}_+X∈R+m×n 是输入的非负数据矩阵(mmm个特征,nnn个样本)。
- P∈Rm×pP \in \mathbb{R}^{m \times p}P∈Rm×p 是选出的ppp个流形峰(MPs)组成的矩阵。
- Z∈R+p×rZ \in \mathbb{R}^{p \times r}_+Z∈R+p×r 是MPs的锥组合权重矩阵,zjz_jzj是第jjj个聚类中心(列)的组合权重向量,rrr是聚类中心的数量。
- V∈R+n×rV \in \mathbb{R}^{n \times r}_+V∈R+n×r 是系数矩阵,viv_ivi是第iii个数据样本(行)与聚类中心的关联向量。
- Y∈Rn×cY \in \mathbb{R}^{n \times c}Y∈Rn×c 是最终的聚类指示矩阵(ccc个簇),满足正交性约束 YTY=IY^TY = IYTY=I。
- ∥⋅∥F\| \cdot \|_F∥⋅∥F 是Frobenius范数。
- ⟨A,B⟩=tr(ATB)\langle A, B \rangle = \text{tr}(A^TB)⟨A,B⟩=tr(ATB) 是矩阵内积。
- QP=[12(dg(p)(i,j))2]p×pQ_P = [\frac{1}{2}(d_{g}^{(p)}(i,j))^2]_{p \times p}QP=[21(dg(p)(i,j))2]p×p,其中 dg(p)(i,j)d_{g}^{(p)}(i,j)dg(p)(i,j) 是第iii个和第jjj个MPs之间的测地距离。这一项 ⟨QP,ZZT⟩\langle Q_P, ZZ^T \rangle⟨QP,ZZT⟩ 是作用于MPs的广义图平滑正则化,鼓励邻近MPs具有相似的组合权重。
- QY=[12∥yi−yj∥2]n×nQ_Y = [\frac{1}{2}\|y_i - y_j\|^2]_{n \times n}QY=[21∥yi−yj∥2]n×n,其中 yiy_iyi 是第iii个样本的聚类指示向量。这一项 ⟨QY,VVT⟩\langle Q_Y, VV^T \rangle⟨QY,VVT⟩ 是作用于数据样本的广义图平滑正则化,鼓励关联相似聚类中心的样本属于相似的簇。
- α,β\alpha, \betaα,β 是正则化参数,控制正则化项的强度。
- τz,τv\tau_z, \tau_vτz,τv 是稀疏性参数,分别限制每个聚类中心使用的MPs数量和每个数据样本关联的聚类中心数量。
- Z≥0,V≥0Z \geq 0, V \geq 0Z≥0,V≥0 是非负约束。
4. 目标函数的优化过程
该问题是一个非凸优化问题。论文通过交替迭代的方式优化变量 ZZZ, VVV, 和 YYY。
更新 ZZZ (固定 V,YV, YV,Y):
- 优化问题(公式25):
minZJ(Z)=12∥X−PZVT∥F2+α2⟨QP,ZZT⟩s.t. Z≥0,∀j∥zj∥0≤τz \min_{Z} J(Z)= \frac{1}{2}\|X - PZV^T\|_F^2 + \frac{\alpha}{2} \langle Q_P, ZZ^T \rangle \quad \text{s.t. } Z \geq 0, \forall j \|z_j\|_0 \leq \tau_z ZminJ(Z)=21∥X−PZVT∥F2+2α⟨QP,ZZT⟩s.t. Z≥0,∀j∥zj∥0≤τz - 梯度计算:∇J(Z)=−PTXV+PTPZVTV+αQPZ\nabla J(Z) = -P^TXV + P^TPZV^TV + \alpha Q_P Z∇J(Z)=−PTXV+PTPZVTV+αQPZ
- 优化方法:将矩阵问题向量化,转化为一个带有组l0l_0l0范数约束的二次正则化非负最小二乘(Quadratic Regularized Group l0l_0l0-NNLS)问题(公式27)。
- 解决方案:论文推导了一个通用的求解此类问题的迭代近端梯度定理(Theorem 2),并将其应用于更新 ZZZ(见Algorithm 2)。具体更新步骤为:
Z←P+,τz[Z−η∇J(Z)] Z \leftarrow P_{+, \tau_z}[Z - \eta \nabla J(Z)] Z←P+,τz[Z−η∇J(Z)]
其中 η\etaη 是步长,P+,τz[⋅]P_{+, \tau_z}[\cdot]P+,τz[⋅] 是一个投影算子,它对矩阵的每一列独立操作,将每个列向量投影到非负且 l0l_0l0 范数不超过 τz\tau_zτz 的空间(即保留最大的 τz\tau_zτz 个正值,其余置零,并保持非负性)。
- 优化问题(公式25):
更新 VVV (固定 Z,YZ, YZ,Y):
- 优化问题(公式29):
minVO(V)=12∥X−PZVT∥F2+β2⟨QY,VVT⟩s.t. V≥0,∀i∥vi∥0≤τv \min_{V} O(V)= \frac{1}{2}\|X - PZV^T\|_F^2 + \frac{\beta}{2} \langle Q_Y, VV^T \rangle \quad \text{s.t. } V \geq 0, \forall i \|v_i\|_0 \leq \tau_v VminO(V)=21∥X−PZVT∥F2+2β⟨QY,VVT⟩s.t. V≥0,∀i∥vi∥0≤τv - 梯度计算:∇O(V)=−XTPZ+VZTPTPZ+βQYV\nabla O(V) = -X^TPZ + VZ^TP^TPZ + \beta Q_Y V∇O(V)=−XTPZ+VZTPTPZ+βQYV
- 优化方法:同样向量化并转化为Group l0l_0l0-NNLS问题(公式30)。
- 解决方案:应用Theorem 2进行更新(见Algorithm 3)。具体更新步骤为:
V←P+,τv[(V−η∇O(V))T]T V \leftarrow P_{+, \tau_v}[(V - \eta \nabla O(V))^T]^T V←P+,τv[(V−η∇O(V))T]T
(注意这里因为向量化的是 VTV^TVT,所以更新后需要转置回来)。
- 优化问题(公式29):
更新 YYY (固定 Z,VZ, VZ,V):
- 优化问题:
minYTY=I⟨QY,VVT⟩=12∑i,j⟨vi,vj⟩∥yi−yj∥2 \min_{Y^TY=I} \langle Q_Y, VV^T \rangle = \frac{1}{2} \sum_{i,j} \langle v_i, v_j \rangle \|y_i - y_j\|^2 YTY=Imin⟨QY,VVT⟩=21i,j∑⟨vi,vj⟩∥yi−yj∥2 - 优化方法:这个问题等价于最小化 tr(YTLVY)\text{tr}(Y^T L_V Y)tr(YTLVY),其中 LV=diag(WV1n)−WVL_V = \text{diag}(W_V 1_n) - W_VLV=diag(WV1n)−WV 是基于当前 VVV 构建的图 GVG_VGV 的拉普拉斯矩阵 (WV=VVTW_V = VV^TWV=VVT)。
- 解决方案:标准的谱聚类方法,取 LVL_VLV 的前 ccc 个最小特征值对应的特征向量作为新的 YYY(见Algorithm 4第8步)。
- 更新 QYQ_YQY:使用更新后的 YYY 按照公式(13) QY=[12∥yi−yj∥2]n×nQ_Y = [\frac{1}{2}\|y_i - y_j\|^2]_{n \times n}QY=[21∥yi−yj∥2]n×n 计算新的 QYQ_YQY。
- 优化问题:
整个优化过程通过交替执行上述三个步骤,直到收敛。
5. 主要贡献点
- 提出流形峰(MPs)概念: 创新性地引入了MPs来表征数据流形的骨干,作为构建聚类中心的基础,有效避免了噪声和离群点的干扰。
- 基于MPs的锥组合约束: 强制聚类中心是附近MPs的锥组合,从根本上解决了传统NMF聚类中心偏离数据流形的问题。
- 广义图平滑正则化: 提出了广义图平滑正则化框架,能够指导图的构建,并将MPs的几何距离与其权重分布联系起来,增强了聚类中心在流形上的定位。
- 解决Group l0l_0l0-NNLS问题: 理论上分析并提供了一种高效的算法来求解目标函数中出现的带组l0l_0l0范数约束的二次正则化非负最小二乘问题。
- 显著提升聚类性能: 通过在合成和真实世界数据集上的大量实验证明,MPNMF相比多种先进的NMF聚类算法,在NMI和F-measure等指标上取得了显著的性能提升。
6. 算法实现过程 (Algorithm 4)
- 输入: 数据矩阵 XXX,流形峰数量 ppp,聚类中心数量 rrr,簇数量 ccc,正则化参数 α,β\alpha, \betaα,β,稀疏性参数 τz,τv\tau_z, \tau_vτz,τv。
- 选择流形峰 (MPs):
- 调用
MP(X, p)
算法(Algorithm 1):- 计算所有样本点对之间的测地距离矩阵 DgD_gDg (使用Dijkstra算法)。
- 根据公式(5)计算每个样本的局部测地密度 ρig\rho_i^gρig。
- 根据公式(6)计算每个样本到更高密度样本的最小测地距离 δig\delta_i^gδig (对于最高密度点,取其到所有点的最大距离)。
- 根据公式(7)计算综合指标 γig=ρigmax(ρg)×δigmax(δg)\gamma_i^g = \frac{\rho_i^g}{\max(\rho^g)} \times \frac{\delta_i^g}{\max(\delta^g)}γig=max(ρg)ρig×max(δg)δig 进行归一化。
- 选择 γig\gamma_i^gγig 值最大的前 ppp 个样本作为流形峰,得到矩阵 PPP 和MPs之间的测地距离矩阵 DgpD_g^pDgp。
- 调用
- 初始化:
- 初始化迭代次数 t=0t=0t=0。
- 初始化 Z0,V0,Y0,QY0Z^0, V^0, Y^0, Q_Y^0Z0,V0,Y0,QY0:
- Z0Z^0Z0:将前 rrr 个MPs作为初始中心,每个中心的权重设为最近 τz\tau_zτz 个MPs的组合(权重为 1/τz1/\tau_z1/τz 加上小扰动)。
- V0V^0V0:根据每个样本与最近 τv\tau_vτv 个初始中心的相似性初始化。
- Y0Y^0Y0:使用k-means对 XXX 进行聚类,结果用one-hot编码表示。
- QY0Q_Y^0QY0:根据 Y0Y^0Y0 和公式(13)计算。
- 迭代优化:
- 循环开始 (直到收敛):
- 更新 Zt+1Z^{t+1}Zt+1: 使用Algorithm 2(基于近端梯度法求解Group l0l_0l0-NNLS)更新 ZZZ。
- 更新 Vt+1V^{t+1}Vt+1: 使用Algorithm 3(基于近端梯度法求解Group l0l_0l0-NNLS)更新 VVV。
- 计算中间变量 WVt+1W_V^{t+1}WVt+1: WVt+1=Vt+1(Vt+1)TW_V^{t+1} = V^{t+1}(V^{t+1})^TWVt+1=Vt+1(Vt+1)T。
- 计算拉普拉斯矩阵 LVt+1L_V^{t+1}LVt+1: LVt+1=diag(WVt+11)−WVt+1L_V^{t+1} = \text{diag}(W_V^{t+1} 1) - W_V^{t+1}LVt+1=diag(WVt+11)−WVt+1。
- 更新 Yt+1Y^{t+1}Yt+1: 对 LVt+1L_V^{t+1}LVt+1 进行特征分解,取前 ccc 个最小特征值对应的特征向量作为新的 Yt+1Y^{t+1}Yt+1。
- 更新 QYt+1Q_Y^{t+1}QYt+1: 根据更新后的 Yt+1Y^{t+1}Yt+1 和公式(13)计算新的 QYt+1Q_Y^{t+1}QYt+1。
- 迭代计数: t=t+1t = t + 1t=t+1。
- 循环结束条件: 检查目标函数值或变量更新幅度是否满足收敛条件。
- 循环开始 (直到收敛):
- 输出: 最终的 Zt,Vt,YtZ^t, V^t, Y^tZt,Vt,Yt。YtY^tYt 即为最终的聚类结果。
通过以上步骤,MPNMF实现了在复杂流形结构数据上的高质量聚类。
好的,我们来详细介绍一下流形峰(Manifold Peaks, MPs)的实现过程和背后的数学原理。
正如论文所述,流形峰的核心目的是识别出数据流形上的关键点,这些点能够表征流形的“骨干”(backbone),排除噪声和离群点的干扰,从而为后续的聚类中心构建提供一个高质量、有代表性的基础。
实现过程 (Algorithm 1)
流形峰的识别过程主要在论文的Algorithm 1中描述,具体步骤如下:
- 输入: 原始数据矩阵 XXX(维度为 m×nm \times nm×n,mmm是特征数,nnn是样本数)和期望选出的流形峰数量 ppp。
- 计算全局测地距离矩阵 (DgD^gDg):
- 使用Dijkstra算法(或类似算法)计算数据集中任意两点 xix_ixi 和 xjx_jxj 之间的测地距离(Geodesic Distance) dijgd^g_{ij}dijg。
- 测地距离是指数据点在流形上的最短路径距离,而不是简单的欧氏距离。这能更好地反映数据在低维流形结构上的真实距离。
- 输出一个 n×nn \times nn×n 的测地距离矩阵 Dg=[dijg]D^g = [d^g_{ij}]Dg=[dijg]。
- 计算局部测地密度 (ρig\rho^g_iρig):
- 对于每个数据点 xix_ixi,根据其与其他所有点的测地距离 dijgd^g_{ij}dijg 计算其局部测地密度 ρig\rho^g_iρig。
- 计算公式(论文公式5):
ρig=∑je−(dijg/dcg)2\rho^g_i = \sum_{j} e^{-(d^g_{ij} / d_c^g)^2}ρig=j∑e−(dijg/dcg)2 - 其中,dcgd_c^gdcg 是一个截断距离(cutoff distance)。只有当 dijgd^g_{ij}dijg 小于 dcgd_c^gdcg 时,点 xjx_jxj 对点 xix_ixi 的密度贡献才比较显著。dcgd_c^gdcg 通常根据经验设定,例如取所有测地距离中较小的百分位数(如1%-2%)。
- 直观理解:密度高的点周围(在测地距离意义上)聚集了更多的邻居点。
- 计算最小距离 (δig\delta^g_iδig):
- 对于每个数据点 xix_ixi,计算它到任何密度比它高的点的最小测地距离 δig\delta^g_iδig。
- 计算公式(论文公式6):
δig={minj:ρjg>ρigdijg,如果存在密度比 xi 高的点maxjdijg,如果 xi 是密度最高的点 \delta^g_i = \begin{cases} \min_{j:\rho^g_j > \rho^g_i} d^g_{ij}, & \text{如果存在密度比 } x_i \text{ 高的点} \\ \max_{j} d^g_{ij}, & \text{如果 } x_i \text{ 是密度最高的点} \end{cases} δig={minj:ρjg>ρigdijg,maxjdijg,如果存在密度比 xi 高的点如果 xi 是密度最高的点 - 直观理解:对于普通点,δig\delta^g_iδig 衡量它到更密集区域的远近;对于密度最高的点,用它到最远点的距离 δig\delta^g_iδig 来衡量其“孤立性”。
- 计算综合指标 (γig\gamma^g_iγig):
- 结合密度 ρig\rho^g_iρig 和距离 δig\delta^g_iδig,为每个点计算一个无量纲的综合指标 γig\gamma^g_iγig。
- 计算公式(论文公式7):
γig=ρigmax(ρg)×δigmax(δg)\gamma^g_i = \frac{\rho^g_i}{\max(\rho^g)} \times \frac{\delta^g_i}{\max(\delta^g)}γig=max(ρg)ρig×max(δg)δig - 通过将 ρig\rho^g_iρig 和 δig\delta^g_iδig 分别除以各自的最大值进行归一化,消除了它们因量纲或数值范围不同带来的影响,使得指标更具鲁棒性。
- 直观理解:γig\gamma^g_iγig 值高的点,要么本身密度高(可能是簇的中心),要么距离高密度区域很远(可能是两个簇之间的桥接点或边界点)。这两种点都可能是流形上的关键点(峰值)。
- 选择流形峰:
- 根据计算出的 γig\gamma^g_iγig 值对所有数据点进行排序。
- 选择 γig\gamma^g_iγig 值最高的前 ppp 个点作为流形峰(MPs)。
- 输出:选出的 ppp 个流形峰组成的矩阵 PPP(维度为 m×pm \times pm×p)以及这些流形峰之间的测地距离矩阵 DgpD^p_gDgp(维度为 p×pp \times pp×p)。
数学原理
流形峰算法的数学原理主要基于以下几点:
- 测地距离 (dijgd^g_{ij}dijg): 这是核心。传统的欧氏距离在高维空间中,尤其是在数据实际分布在一个低维流形上时,往往不能准确反映点与点之间的真实相似性。测地距离通过在数据点构成的近邻图上寻找最短路径,能够近似地反映数据点在潜在流形上的距离,更好地捕捉流形的几何结构。
- 密度 (ρig\rho^g_iρig) 的定义: 使用高斯核函数 e−(dijg/dcg)2e^{-(d^g_{ij} / d_c^g)^2}e−(dijg/dcg)2 来衡量点 xjx_jxj 对点 xix_ixi 密度的贡献。这使得距离 xix_ixi 较近的点贡献更大,距离较远的点贡献迅速衰减至0(当 dijg>dcgd^g_{ij} > d_c^gdijg>dcg 时)。这种定义方式使得密度能够反映点在流形局部区域的集中程度。
- 距离 (δig\delta^g_iδig) 的定义: 通过计算到更高密度点的最小距离,δig\delta^g_iδig 区分了不同类型的点:
- 高密度且大 δig\delta^g_iδig: 这些点通常是簇的中心(Cluster Centers),因为它们局部密度高且远离其他高密度区域。
- 低密度且大 δig\delta^g_iδig: 这些点可能是簇间的桥接点或噪声点。
- 高密度且小 δig\delta^g_iδig: 这些点是簇中心附近的普通点。
- 低密度且小 δig\delta^g_iδig: 这些点是簇内部或边缘的普通点或噪声点。
- 综合指标 (γig\gamma^g_iγig) 的设计: ρig×δig\rho^g_i \times \delta^g_iρig×δig(或其归一化形式)的乘积形式是一个关键设计。它有效地结合了密度和距离信息,使得同时具有高密度和大距离(或相对较大的距离)的点能够脱颖而出。这正是簇中心点(流形峰)的典型特征:它们在局部区域内密度高,并且与其他高密度区域(可能是其他簇中心)保持一定的距离。这种乘积形式增强了算法识别真正“峰值”点的能力。
- 与传统密度峰值聚类(DP)的对比: 论文指出,传统的DP算法主要在欧氏空间中计算密度和距离,容易受到复杂流形结构和噪声的影响。MP算法通过将这些计算转移到测地距离空间,并使用归一化的综合指标,显著提高了在复杂流形数据上识别关键点(骨干点)的鲁棒性和准确性(如论文中的Fig. 3所示)。
总结来说,流形峰算法通过在测地距离空间中计算密度和距离,并利用一个乘积形式的无量纲指标来识别数据流形上的关键点,这些点构成了数据流形的骨干,为后续的、基于这些点构建聚类中心的MPNMF算法提供了坚实的基础。