PR-2014《The MinMax K-Means clustering algorithm》
推荐深蓝学院的《深度神经网络加速:cuDNN 与 TensorRT》,课程面向就业,细致讲解CUDA运算的理论支撑与实践,学完可以系统化掌握CUDA基础编程知识以及TensorRT实战,并且能够利用GPU开发高性能、高并发的软件系统,感兴趣可以直接看看链接:
深蓝学院《深度神经网络加速:cuDNN 与 TensorRT》

核心思想
MinMax k k k-Means算法的核心思想是通过引入权重机制改进传统 k k k-Means算法,以解决其对初始聚类中心的敏感性问题。传统 k k k-Means算法通过最小化所有簇的方差之和来划分数据,但初始中心选择不当可能导致陷入较差的局部最优解。MinMax k k k-Means通过优化一个加权的目标函数,重点最小化具有最大方差的簇,从而避免出现方差过大的簇,并使聚类结果在方差上更加均衡。这种方法通过自动调整簇的权重和一个控制参数 p p p,在不同初始条件下更稳定地发现高质量的聚类划分,同时保持簇方差的平衡性。
目标函数
MinMax k k k-Means的目标函数是对传统 k k k-Means目标函数的加权扩展。传统 k k k-Means的目标函数为最小化所有簇的方差之和:
E sum = ∑ k = 1 M V k = ∑ k = 1 M ∑ i = 1 N δ i k ∥ x i − m k ∥ 2 \mathcal{E}_{\text{sum}} = \sum_{k=1}^M \mathcal{V}_k = \sum_{k=1}^M \sum_{i=1}^N \delta_{ik} \|\mathbf{x}_i - \mathbf{m}_k\|^2 Esum=k=1∑MVk=k=1∑Mi=1∑Nδik∥xi−mk∥2
其中:
- X = { x i } i = 1 N , x i ∈ R d X = \{\mathbf{x}_i\}_{i=1}^N, \mathbf{x}_i \in \mathbb{R}^d X={xi}i=1N,xi∈Rd 是数据集, M M M 是簇的数目;
- V k = ∑ i = 1 N δ i k ∥ x i − m k ∥ 2 \mathcal{V}_k = \sum_{i=1}^N \delta_{ik} \|\mathbf{x}_i - \mathbf{m}_k\|^2 Vk=∑i=1Nδik∥xi−mk∥2 是第 k k k个簇的方差, m k = ∑ i = 1 N δ i k x i ∑ i = 1 N δ i k \mathbf{m}_k = \frac{\sum_{i=1}^N \delta_{ik} \mathbf{x}_i}{\sum_{i=1}^N \delta_{ik}} mk=∑i=1Nδik∑i=1Nδikxi 是第 k k k个簇的中心;
- δ i k \delta_{ik} δik 是簇指示变量,若 x i ∈ C k \mathbf{x}_i \in \mathcal{C}_k xi∈Ck,则 δ i k = 1 \delta_{ik} = 1 δik=1,否则 δ i k = 0 \delta_{ik} = 0 δik=0。
MinMax k k k-Means引入了每个簇的权重 w k w_k wk,并优化一个加权目标函数,旨在最小化最大加权方差:
E max = max k = 1 , … , M w k p V k \mathcal{E}_{\text{max}} = \max_{k=1,\ldots,M} w_k^p \mathcal{V}_k Emax=k=1,…,MmaxwkpVk
其中:
- w k w_k wk 是第 k k k个簇的权重,满足 ∑ k = 1 M w k = 1 \sum_{k=1}^M w_k = 1 ∑k=1Mwk=1, w k ≥ 0 w_k \geq 0 wk≥0;
- p ∈ [ 0 , 0.5 ] p \in [0, 0.5] p∈[0,0.5] 是一个用户指定的指数,控制对大方差簇的惩罚力度;
- 当 p = 0 p=0 p=0时,目标函数退化为传统 k k k-Means的 E sum \mathcal{E}_{\text{sum}} Esum,因为权重影响消失。
为了使优化问题更易处理,论文提出了一种放松的目标函数:
E = ∑ k = 1 M w k p V k \mathcal{E} = \sum_{k=1}^M w_k^p \mathcal{V}_k E=k=1∑MwkpVk
这个目标函数在 w k w_k wk和簇分配 δ i k \delta_{ik} δik上进行联合优化,通过迭代地最小化簇分配和最大化权重来实现。
目标函数的优化过程
MinMax k k k-Means的优化过程采用交替优化的策略,分为两个主要步骤:最小化步骤和最大化步骤,并引入一个自适应调整 p p p的框架。以下是详细的优化过程:
-
最小化步骤(簇分配和中心更新):
-
固定权重 w k w_k wk,优化目标函数 E \mathcal{E} E关于簇分配 δ i k \delta_{ik} δik和簇中心 m k \mathbf{m}_k mk。
-
与传统 k k k-Means类似,将每个数据点 x i \mathbf{x}_i xi分配到加权距离最小的簇:
δ i k = { 1 if k = arg min j = 1 , … , M w j p ∥ x i − m j ∥ 2 0 otherwise \delta_{ik} = \begin{cases} 1 & \text{if } k = \arg\min_{j=1,\ldots,M} w_j^p \|\mathbf{x}_i - \mathbf{m}_j\|^2 \\ 0 & \text{otherwise} \end{cases} δik={10if k=argminj=1,…,Mwjp∥xi−mj∥2otherwise
-
更新每个簇的中心为分配点的均值:
m k = ∑ i = 1 N δ i k x i ∑ i = 1 N δ i k \mathbf{m}_k = \frac{\sum_{i=1}^N \delta_{ik} \mathbf{x}_i}{\sum_{i=1}^N \delta_{ik}} mk=∑i=1Nδik∑i=1Nδikxi
-
-
最大化步骤(权重更新):
-
固定簇分配 δ i k \delta_{ik} δik和中心 m k \mathbf{m}_k mk,优化权重 w k w_k wk以最大化 E \mathcal{E} E,同时满足约束 ∑ k = 1 M w k = 1 \sum_{k=1}^M w_k = 1 ∑k=1Mwk=1, w k ≥ 0 w_k \geq 0 wk≥0。
-
使用拉格朗日乘子法,权重 w k w_k wk的闭式解为:
w k = V k 1 1 − p ∑ j = 1 M V j 1 1 − p w_k = \frac{\mathcal{V}_k^{\frac{1}{1-p}}}{\sum_{j=1}^M \mathcal{V}_j^{\frac{1}{1-p}}} wk=∑j=1MVj1−p1Vk1−p1
其中 V k \mathcal{V}_k Vk是当前簇的方差。这种权重分配使得方差较大的簇获得较小的权重,从而在下一轮最小化中优先减少这些簇的方差。
-
-
自适应调整 p p p的框架:
-
参数 p p p控制对大方差簇的惩罚力度。论文提出了一种自适应方法,从 p = 0 p=0 p=0开始,逐步增加 p p p(步长为 p step p_{\text{step}} pstep),直到 p p p达到最大值 p max p_{\text{max}} pmax或检测到空簇/单点簇。
-
为了避免 p p p变化过快导致的不稳定,引入了记忆因子 β \beta β,在每次迭代中平滑权重更新:
w k ( t ) = β w k ( t − 1 ) + ( 1 − β ) V k 1 1 − p ∑ j = 1 M V j 1 1 − p w_k^{(t)} = \beta w_k^{(t-1)} + (1-\beta) \frac{\mathcal{V}_k^{\frac{1}{1-p}}}{\sum_{j=1}^M \mathcal{V}_j^{\frac{1}{1-p}}} wk(t)=βwk(t−1)+(1−β)∑j=1MVj1−p1Vk1−p1
其中 β ∈ [ 0 , 1 ) \beta \in [0,1) β∈[0,1)控制历史权重的保留程度, β = 0 \beta=0 β=0表示无记忆。
-
-
迭代过程:
- 初始化:随机选择初始簇中心,设置初始权重 w k = 1 M w_k = \frac{1}{M} wk=M1, p = 0 p=0 p=0。
- 重复以下步骤直到收敛或达到最大迭代次数 t max t_{\max} tmax:
- 最小化步骤:更新簇分配和中心。
- 最大化步骤:更新权重 w k w_k wk。
- 检查是否有空簇或单点簇,若有则停止增加 p p p,否则 p ← p + p step p \leftarrow p + p_{\text{step}} p←p+pstep。
- 收敛条件:目标函数 E \mathcal{E} E的变化小于阈值 ϵ \epsilon ϵ。
主要的贡献点
- 提出新的目标函数:通过引入权重 w k w_k wk和指数 p p p,MinMax k k k-Means优化加权方差和,重点减少最大方差簇的影响,解决了传统 k k k-Means对初始化的敏感性问题。
- 自动权重学习:通过闭式解自动计算簇权重,使算法自适应地关注高方差簇。
- 自适应参数调整:开发了一种框架,通过逐步增加 p p p和引入记忆因子 β \beta β,自适应地调整算法对数据集的偏置。
- 方差均衡:算法生成的簇在方差上更加均衡,适用于需要均匀划分的应用场景。
- 初始化鲁棒性:即使从较差的初始中心开始,MinMax k k k-Means也能一致地发现高质量的聚类结果,并可作为 k k k-Means的初始化方法。
实验结果
实验在九个数据集上进行,包括图像(Coil1-3、Olivetti)、手写数字(Pendigits)、蛋白质(Ecoli)、患者记录(Dermatology)等,与 k k k-Means、 k k k-Means++$和pifs k k k-Means进行比较。评估指标包括最大簇方差 E max \mathcal{E}_{\text{max}} Emax、方差之和 E sum \mathcal{E}_{\text{sum}} Esum、归一化互信息(NMI)以及运行时间。主要结果如下:
-
最大方差 E max \mathcal{E}_{\text{max}} Emax:
- MinMax k k k-Means在几乎所有数据集上(除Pendigits外)显著降低了 E max \mathcal{E}_{\text{max}} Emax,优于 k k k-Means、 k k k-Means++$和pifs k k k-Means,表明其有效抑制了大方差簇。
- 例如,在Coil1数据集上,MinMax k k k-Means ( β = 0.3 \beta=0.3 β=0.3) 的 E max \mathcal{E}_{\text{max}} Emax为45.04,远低于 k k k-Means的66.33和 k k k-Means++$的64.92。
-
方差之和 E sum \mathcal{E}_{\text{sum}} Esum:
- MinMax k k k-Means在多个数据集上表现出与 k k k-Means相近或更优的 E sum \mathcal{E}_{\text{sum}} Esum,尤其是在初始化 k k k-Means时(MinMax+ k k k-Means),能显著降低 E sum \mathcal{E}_{\text{sum}} Esum,避免了传统 k k k-Means因初始化不良导致的高方差解。
- 例如,在Dermatology数据集上,MinMax+ k k k-Means ( β = 0.3 \beta=0.3 β=0.3) 的 E sum \mathcal{E}_{\text{sum}} Esum为5548.56,优于 k k k-Means的5885.92。
-
归一化互信息(NMI):
- MinMax k k k-Means在NMI上与pifs k k k-Means相当,在部分数据集上(如Coil1-3)显著优于 k k k-Means和 k k k-Means++$,表明其聚类质量更高。
- 在Coil1上,MinMax k k k-Means的NMI为0.87-0.88,接近或达到pifs k k k-Means的1.00。
-
运行时间:
- MinMax k k k-Means的运行时间较长(比 k k k-Means慢3-6倍),主要是因为需要更多迭代来调整 p p p和权重。收敛运行的平均时间(括号中)显著低于总平均时间,但仍高于其他方法。
- 例如,在Coil3数据集上,MinMax k k k-Means ( β = 0.1 \beta=0.1 β=0.1) 的总运行时间为5.46秒,收敛时间为0.81秒,而 k k k-Means仅需0.15秒。
-
记忆因子 β \beta β的影响:
- 随着 β \beta β增加(从0到0.3), E max \mathcal{E}_{\text{max}} Emax通常减小,但 E sum \mathcal{E}_{\text{sum}} Esum可能略增。这是因为高 β \beta β减少了空簇或单点簇的出现(如表11所示, β = 0.3 \beta=0.3 β=0.3时91.19%的运行无空簇),使 p p p更容易达到 p max p_{\text{max}} pmax,从而更严格地惩罚大方差簇。
- 然而,在某些数据集(如Pendigits)上, β = 0.1 \beta=0.1 β=0.1导致较差的聚类质量,表明记忆因子的效果因数据集而异。
-
初始化效果:
- MinMax k k k-Means作为 k k k-Means的初始化方法(MinMax+ k k k-Means)在所有数据集上都显著提高了 E sum \mathcal{E}_{\text{sum}} Esum和NMI,证明其作为初始化策略的潜力。
总结
MinMax k k k-Means通过引入加权目标函数和自适应参数调整,显著改进了 k k k-Means的初始化敏感性问题,生成方差均衡的簇,并在多种数据集上表现出色。其主要贡献在于提出了一种新的优化框架,结合权重学习和参数自适应,使算法更鲁棒且适用于多样化的应用场景。尽管运行时间较长,但其高质量的聚类结果和作为初始化策略的潜力使其在聚类任务中具有重要价值。