2. 核心思想
这篇论文的核心思想是将鲁棒性(robustness)与确定性(determinism)引入到经典的k-means聚类算法中,提出了一种名为“模糊PCA引导的鲁棒k-means”(Fuzzy PCA-Guided Robust k-means, FPR k-means)的新方法。
其核心思路可以分解为以下几点:
- 利用PCA引导k-means:借鉴了Ding和He的工作,将k-means的聚类指标(cluster indicators)的求解问题,通过一个“无质心”(centroidless)的目标函数,转化为一个类似于主成分分析(PCA)的特征值分解问题。这使得初始聚类划分是确定性的,避免了传统k-means对初始质心敏感的问题。
- 引入责任权重:认识到传统k-means受噪声影响大,因为它强制所有样本(包括噪声)都必须属于某个簇。为此,论文引入了“责任权重”uiu_iui,用于衡量每个样本iii对整个k-means聚类过程的“责任”或“可信度”。权重小的样本被认为是噪声或离群点。
- 模糊PCA框架:将责任权重uiu_iui融入到PCA引导的过程中。具体来说,在进行特征值分解以求解聚类指标时,使用一个由责任权重加权的散度矩阵Uθ/2YTYUθ/2U^{\theta/2}Y^T Y U^{\theta/2}Uθ/2YTYUθ/2,而不是原始的YTYY^T YYTY。这相当于在模糊PCA的框架下寻找主成分,使得聚类过程更关注那些“责任大”的核心样本。
- 迭代优化:整个算法通过一个交替优化过程实现:首先,固定责任权重,用加权的PCA方法求解聚类指标;然后,固定聚类指标,利用噪声聚类(noise clustering)的思想更新每个样本的责任权重。这个过程迭代进行,直到收敛。
总而言之,该方法通过一个确定性的初始化(基于加权PCA)和一个迭代的鲁棒化过程(通过责任权重),实现了对数据集中“簇核心”(cluster cores)的稳定提取。
3. 目标函数
论文的目标函数是传统k-means目标函数的鲁棒化版本,结合了噪声聚类的思想。其最终形式如下:
Lrkm=∑i=1n(1−ui)θγ+∑k=1K∑i∈Gkuiθ∥xi−bk∥2 L_{rkm} = \sum_{i=1}^{n} (1 - u_i)^\theta \gamma + \sum_{k=1}^{K} \sum_{i \in G_k} u_i^\theta \|x_i - b_k\|^2 Lrkm=i=1∑n(1−ui)θγ+k=1∑Ki∈Gk∑uiθ∥xi−bk∥2
其中:
- LrkmL_{rkm}Lrkm 是鲁棒k-means的目标函数。
- nnn 是样本总数。
- KKK 是预设的簇数量。
- ui∈[0,1]u_i \in [0, 1]ui∈[0,1] 是样本iii的责任权重(responsibility weight)。它不是传统的隶属度,而是衡量样本对聚类过程的贡献度。
- θ\thetaθ 是一个加权指数(通常取1.5或2),控制责任权重的“模糊”程度。
- γ\gammaγ 是一个惩罚权重,用于调节算法对噪声的敏感度。γ\gammaγ 的值通常根据数据动态设定,如论文中采用的 γ=β∑i=1nuiθdi∑i=1nuiθ\gamma = \beta \frac{\sum_{i=1}^{n} u_i^\theta d_i}{\sum_{i=1}^{n} u_i^\theta}γ=β∑i=1nuiθ∑i=1nuiθdi,其中β\betaβ是一个可调参数,did_idi是责任判据。
- bkb_kbk 是第kkk个簇的质心。
- GkG_kGk 是第kkk个簇的样本集合。
这个目标函数包含两部分:
- 第一项 ∑i=1n(1−ui)θγ\sum_{i=1}^{n} (1 - u_i)^\theta \gamma∑i=1n(1−ui)θγ 是对“非责任”样本(即被识别为噪声的样本,uiu_iui接近0)的惩罚。uiu_iui越小,该项的值越大,因此优化过程会倾向于让真正的噪声样本的uiu_iui变小。
- 第二项是传统的加权k-means误差项,但每个样本的误差都乘以其责任权重的θ\thetaθ次方。这意味着责任权重小的样本对质心bkb_kbk的计算影响也小。
4. 目标函数的详细优化过程
该目标函数通过交替优化(Alternating Optimization)策略进行求解,分为两个主要步骤循环迭代:
步骤一:固定责任权重 uiu_iui,求解聚类指标(Cluster Indicator Estimation)
当责任权重uiu_iui固定时,问题转化为如何为样本分配簇。论文将此问题重新表述为一个“无质心”形式,并利用PCA引导的方法求解。
质心更新:首先,根据当前的责任权重和簇分配,更新每个簇的质心bkb_kbk。根据目标函数对bkb_kbk求偏导并令其为0,可得:
bk=∑i∈Gkuiθxi∑i∈Gkuiθ b_k = \frac{\sum_{i \in G_k} u_i^\theta x_i}{\sum_{i \in G_k} u_i^\theta} bk=∑i∈Gkuiθ∑i∈Gkuiθxi
这表明质心是簇内样本的加权平均,权重为uiθu_i^\thetauiθ。无质心目标函数:将上述质心公式代回原目标函数,消去bkb_kbk,得到仅与责任权重uiu_iui和簇分配相关的“无质心”目标函数。
PCA引导求解:将“无质心”目标函数的求解,转化为一个最大化问题:
maxTr(QK−1TUθ/2YTYUθ/2QK−1) \max \text{Tr}(Q_{K-1}^T U^{\theta/2} Y^T Y U^{\theta/2} Q_{K-1}) maxTr(QK−1TUθ/2YTYUθ/2QK−1)
其中:- YYY 是对数据矩阵XXX进行加权中心化后的矩阵,即YU=0YU = 0YU=0,其均值是按uiθu_i^\thetauiθ加权的。
- UUU 是一个对角矩阵,其第iii个对角元素为uiu_iui。
- QK−1=(q1,...,qK−1)Q_{K-1} = (q_1, ..., q_{K-1})QK−1=(q1,...,qK−1) 是变换后的聚类指标向量矩阵。
- Tr(⋅)\text{Tr}(\cdot)Tr(⋅) 表示矩阵的迹。
特征值分解:上述最大化问题的最优解QK−1Q_{K-1}QK−1,由矩阵Uθ/2YTYUθ/2U^{\theta/2} Y^T Y U^{\theta/2}Uθ/2YTYUθ/2的前K−1K-1K−1个最大特征值对应的特征向量构成。这与PCA中取前K−1K-1K−1个主成分完全类似,但这里的协方差矩阵被责任权重UUU进行了加权。这一步实现了在考虑样本责任的前提下,以确定性的方式找到最优的(连续松弛的)聚类指标。
步骤二:固定聚类指标,更新责任权重 uiu_iui(Responsibility Weight Estimation)
当聚类指标(即QKQ_KQK或HKH_KHK)固定时,需要为每个样本iii更新其责任权重uiu_iui。
计算责任判据 did_idi:定义一个判据did_idi来衡量样本iii的“非责任”程度。根据论文推导,该判据为:
di=∥xi∥2−∑k=1K∑j=1nqkiqkjxiTxj(ujui)θ/2 d_i = \|x_i\|^2 - \sum_{k=1}^{K} \sum_{j=1}^{n} q_{ki} q_{kj} x_i^T x_j \left( \frac{u_j}{u_i} \right)^{\theta/2} di=∥xi∥2−k=1∑Kj=1∑nqkiqkjxiTxj(uiuj)θ/2
这个公式比较复杂,其核心思想是did_idi反映了样本iii在当前聚类结构下的“不适配度”或“离群程度”。更新责任权重:利用噪声聚类的优化条件,得到更新uiu_iui的闭式解:
ui=[1+(diγ)1/(θ−1)]−1 u_i = \left[ 1 + \left( \frac{d_i}{\gamma} \right)^{1/(\theta-1)} \right]^{-1} ui=[1+(γdi)1/(θ−1)]−1
这个公式非常关键。它表明:- 如果样本iii的不适配度did_idi很高(即它离任何簇中心都很远),那么uiu_iui的值就会很小,意味着它被识别为噪声。
- 如果did_idi很低(即它是某个簇的核心成员),那么uiu_iui的值会接近1。
- 参数γ\gammaγ决定了从“核心”到“噪声”的阈值。
这两个步骤(步骤一和步骤二)反复迭代,直到责任权重uiu_iui的变化小于一个预设的阈值ϵ\epsilonϵ,算法收敛。
5. 主要贡献点
这篇论文的主要贡献可以总结为以下几点:
- 提出了FPR k-means新算法:首次将模糊PCA与鲁棒k-means相结合,提出了一种全新的聚类算法。该算法通过责任权重机制,能够有效识别和抑制噪声样本的影响。
- 实现了确定性的鲁棒聚类:该方法结合了PCA引导的确定性初始化和迭代的鲁棒化过程。这使得算法摆脱了传统k-means和模糊聚类对初始值的敏感性,能够以确定性的方式稳定地提取出簇的核心结构,解决了“初始化问题”。
- 提供了直观的聚类有效性评估方法:论文将“距离敏感排序”(distance-sensitive ordering)方法进行了改进,使其能够考虑样本的责任权重。通过绘制“簇交叉曲线”(cluster-crossing curve),可以非常直观地可视化聚类结果和簇的数量,便于人工评估聚类的有效性。
- 引入了核技巧:为了处理非线性簇边界,论文将核方法(kernel trick)应用到FPR k-means中,扩展了该方法的适用范围。
- 强调了“簇核心”的提取:与旨在对所有样本进行硬划分或模糊划分的传统方法不同,该方法的核心目标是稳健地识别出数据中的“簇核心”,这对于理解数据的主要结构非常有价值。
6. 算法实现过程详解
根据论文第III-C节的“Algorithm”部分,FPR k-means的实现过程如下:
初始化(Step 1):
- 将所有样本的责任权重初始化为1,即ui=1,∀iu_i = 1, \forall iui=1,∀i。这相当于假设所有样本最初都是“完全可信”的,此时算法退化为标准的PCA引导k-means。
- 选择噪声敏感度参数β\betaβ(用于计算γ\gammaγ)和收敛阈值ϵ\epsilonϵ。
数据中心化(Step 2):
- 根据当前的责任权重uiu_iui,计算加权均值向量b=∑i=1nuiθxi∑i=1nuiθb = \frac{\sum_{i=1}^{n} u_i^\theta x_i}{\sum_{i=1}^{n} u_i^\theta}b=∑i=1nuiθ∑i=1nuiθxi。
- 对每个样本进行中心化:yi=xi−by_i = x_i - byi=xi−b,得到中心化后的数据矩阵YYY。这保证了YU=0YU = 0YU=0,其中u=(u1θ,...,unθ)Tu = (u_1^\theta, ..., u_n^\theta)^Tu=(u1θ,...,unθ)T。
求解聚类指标(Step 3):
- 构造对角矩阵UUU,其对角线元素为uiu_iui。
- 计算加权的散度矩阵Uθ/2YTYUθ/2U^{\theta/2} Y^T Y U^{\theta/2}Uθ/2YTYUθ/2。
- 对该矩阵进行特征值分解,提取前K−1K-1K−1个最大特征值对应的特征向量,构成矩阵QK−1=(q1,...,qK−1)Q_{K-1} = (q_1, ..., q_{K-1})QK−1=(q1,...,qK−1)。
- 根据公式(26)计算第KKK个向量qKq_KqK,并将QK−1Q_{K-1}QK−1和qKq_KqK合并为QKQ_KQK。
更新责任权重(Step 4):
- 计算γ\gammaγ:使用公式 γ=β∑i=1nuiθdi∑i=1nuiθ\gamma = \beta \frac{\sum_{i=1}^{n} u_i^\theta d_i}{\sum_{i=1}^{n} u_i^\theta}γ=β∑i=1nuiθ∑i=1nuiθdi 计算惩罚权重γ\gammaγ。(论文建议只在前几次迭代中更新γ\gammaγ)
- 计算判据did_idi:对于每个样本iii,使用公式 di=∥xi∥2−∑k=1K∑j=1nqkiqkjxiTxj(ujui)θ/2d_i = \|x_i\|^2 - \sum_{k=1}^{K} \sum_{j=1}^{n} q_{ki} q_{kj} x_i^T x_j \left( \frac{u_j}{u_i} \right)^{\theta/2}di=∥xi∥2−k=1∑Kj=1∑nqkiqkjxiTxj(uiuj)θ/2 计算其责任判据did_idi。
- 更新uiu_iui:使用公式 ui=[1+(diγ)1/(θ−1)]−1u_i = \left[ 1 + \left( \frac{d_i}{\gamma} \right)^{1/(\theta-1)} \right]^{-1}ui=[1+(γdi)1/(θ−1)]−1 更新每个样本的责任权重。
检查收敛(Step 5):
- 计算本次迭代更新后的uiNEWu_i^{NEW}uiNEW与上一次的uiOLDu_i^{OLD}uiOLD之间的最大变化量maxi∣uiNEW−uiOLD∣\max_i |u_i^{NEW} - u_i^{OLD}|maxi∣uiNEW−uiOLD∣。
- 如果该变化量小于预设的阈值ϵ\epsilonϵ,则算法收敛,输出连接性矩阵C=QKQKTC = Q_K Q_K^TC=QKQKT或考虑了责任权重的概率连接性矩阵PPP。
- 否则,返回步骤2,用更新后的uiu_iui继续下一轮迭代。
算法收敛后,高责任权重uiu_iui的样本被认为是簇的核心成员,而低uiu_iui的样本则被视为噪声。通过分析最终的连接性矩阵PPP和簇交叉曲线,可以直观地评估聚类结果。