小批量K-均值(Mini Batch K-Means)
·
小批量K-均值(Mini Batch K-Means)是一种K-Means聚类算法的变种,它旨在处理大规模数据集时降低计算成本和提高效率。
传统K-Means算法需要在每一轮迭代中遍历整个数据集,这在数据量巨大时是非常耗时的。
Mini Batch K-Means通过每次仅使用数据集的一个小随机子集(即“mini batch”)来更新聚类中心,从而显著减少了计算时间。
Mini Batch K-Means的基本流程:
- 初始化:随机选择 k 个数据点作为
初始聚类中心。 - 采样:从数据集中
随机抽取一个小批量数据子集。 - 分配:将这批数据点
分配给最近的聚类中心。 - 更新中心:
根据这批数据点,更新聚类中心的位置。 - 重复步骤2至4,直到满足停止条件(例如,达到预定的迭代次数或聚类中心的变化低于某个阈值)。
涉及到的公式:
更新聚类中心
在Mini Batch K-Means中,聚类中心的更新是基于当前批次数据点的。
设
- mmm 为当前批次中属于簇 iii 的
数据点数量 - bib_ibi 为属于簇 iii 的当前批次
数据点的集合 - cic_ici为簇 iii 的
当前中心位置 - nin_ini 为到目前为止
分配给簇 iii 的总数据点数量(包括当前批次)。
更新公式如下:
ci:=(1−mni+m)ci+mni+mbˉi c_i := \left(1 - \frac{m}{n_i + m}\right) c_i + \frac{m}{n_i + m} \bar{b}_i ci:=(1−ni+mm)ci+ni+mmbˉi
这里:
- cic_ici:簇 iii 的
中心位置。 - mmm:当前批次中属于簇 iii 的
数据点数量。 - nin_ini:到目前为止
分配给簇 iii 的总数据点数量。 - bˉi\bar{b}_ibˉi:当前批次中属于簇 iii 的
数据点的平均位置。
对公式的每个字符进行解释:
- cic_ici:簇iii的中心位置。
- mmm:当前批次中属于簇iii的数据点数量。
- nin_ini:到目前为止分配给簇iii的总数据点数量。
- bˉi\bar{b}_ibˉi:当前批次中属于簇iii的数据点的平均位置,计算方式为这批数据点位置的算术平均。
Mini Batch K-Means的优缺点:
- 优点:由于每次迭代
只需要处理一小部分数据,所以算法的运行速度比标准K-Means快得多,特别适合处理大规模数据集。 - 缺点:由于更新是
基于小批量数据的,最终的聚类结果可能不如标准K-Means精确。此外,结果的稳定性也可能会因批次的不同而有所变化。
Mini Batch K-Means是一种有效的近似方法,能够在保持一定精度的同时,大幅提高处理大规模数据集时的效率。
更多推荐

所有评论(0)