小批量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中,聚类中心的更新是基于当前批次数据点的。
设
- 为当前批次中属于簇 的
数据点数量
- 为属于簇 的当前批次
数据点的集合
- 为簇 的
当前中心位置
- 为到目前为止
分配
给簇 的总数据点数量
(包括当前批次)。
更新公式如下:
这里:
- :簇 的
中心位置。
- :当前批次中属于簇 的
数据点数量。
- :到目前为止
分配
给簇 的总数据点数量
。 - :当前批次中属于簇 的
数据点的平均位置。
对公式的每个字符进行解释:
- :簇的中心位置。
- :当前批次中属于簇的数据点数量。
- :到目前为止分配给簇的总数据点数量。
- :当前批次中属于簇的数据点的平均位置,计算方式为这批数据点位置的算术平均。
Mini Batch K-Means的优缺点:
- 优点:由于每次迭代
只需要处理一小部分数据
,所以算法的运行速度比标准K-Means快得多,特别适合处理大规模数据集。
- 缺点:由于更新是
基于小批量数据的
,最终的聚类结果可能不如标准K-Means精确
。此外,结果的稳定性也可能会因批次的不同而有所变化。
Mini Batch K-Means是一种有效的近似方法,能够在保持一定精度的同时,大幅提高处理大规模数据集时的效率。