小批量K-均值(Mini Batch K-Means)是一种K-Means聚类算法的变种,它旨在处理大规模数据集时降低计算成本和提高效率

传统K-Means算法需要在每一轮迭代中遍历整个数据集,这在数据量巨大时是非常耗时的。

Mini Batch K-Means通过每次仅使用数据集的一个小随机子集(即“mini batch”)来更新聚类中心,从而显著减少了计算时间。

Mini Batch K-Means的基本流程:

  1. 初始化:随机选择 k 个数据点作为初始聚类中心。
  2. 采样:从数据集中随机抽取一个小批量数据子集。
  3. 分配:将这批数据点分配给最近的聚类中心。
  4. 更新中心根据这批数据点,更新聚类中心的位置。
  5. 重复步骤2至4,直到满足停止条件(例如,达到预定的迭代次数或聚类中心的变化低于某个阈值)。

涉及到的公式:

更新聚类中心

在Mini Batch K-Means中,聚类中心的更新是基于当前批次数据点的。

  • 小批量K-均值(Mini Batch K-Means)_均值算法 为当前批次中属于簇 小批量K-均值(Mini Batch K-Means)_batch_02数据点数量
  • 小批量K-均值(Mini Batch K-Means)_kmeans_03 为属于簇 小批量K-均值(Mini Batch K-Means)_batch_02 的当前批次数据点的集合
  • 小批量K-均值(Mini Batch K-Means)_均值算法_05为簇 小批量K-均值(Mini Batch K-Means)_batch_02当前中心位置
  • 小批量K-均值(Mini Batch K-Means)_聚类_07 为到目前为止分配给簇 小批量K-均值(Mini Batch K-Means)_batch_02总数据点数量(包括当前批次)。
    更新公式如下:

小批量K-均值(Mini Batch K-Means)_kmeans_09

这里:

  • 小批量K-均值(Mini Batch K-Means)_均值算法_05:簇 小批量K-均值(Mini Batch K-Means)_batch_02中心位置。
  • 小批量K-均值(Mini Batch K-Means)_均值算法:当前批次中属于簇 小批量K-均值(Mini Batch K-Means)_batch_02数据点数量。
  • 小批量K-均值(Mini Batch K-Means)_聚类_07:到目前为止分配给簇 小批量K-均值(Mini Batch K-Means)_batch_02总数据点数量
  • 小批量K-均值(Mini Batch K-Means)_聚类_16:当前批次中属于簇 小批量K-均值(Mini Batch K-Means)_batch_02数据点的平均位置。
对公式的每个字符进行解释:
  • 小批量K-均值(Mini Batch K-Means)_均值算法_05:簇小批量K-均值(Mini Batch K-Means)_batch_02的中心位置。
  • 小批量K-均值(Mini Batch K-Means)_均值算法:当前批次中属于簇小批量K-均值(Mini Batch K-Means)_batch_02的数据点数量。
  • 小批量K-均值(Mini Batch K-Means)_聚类_07:到目前为止分配给簇小批量K-均值(Mini Batch K-Means)_batch_02的总数据点数量。
  • 小批量K-均值(Mini Batch K-Means)_聚类_16:当前批次中属于簇小批量K-均值(Mini Batch K-Means)_batch_02的数据点的平均位置,计算方式为这批数据点位置的算术平均。

Mini Batch K-Means的优缺点:

  • 优点:由于每次迭代只需要处理一小部分数据,所以算法的运行速度比标准K-Means快得多,特别适合处理大规模数据集。
  • 缺点:由于更新是基于小批量数据的,最终的聚类结果可能不如标准K-Means精确。此外,结果的稳定性也可能会因批次的不同而有所变化。

Mini Batch K-Means是一种有效的近似方法,能够在保持一定精度的同时,大幅提高处理大规模数据集时的效率。