2019-01-15
阅读量:
742
小批量的K-means聚类
MiniBatchKMeans
是 KMeans
算法的一个变体,它使用 mini-batches (小批量)来减少计算时间,同时仍然尝试优化相同的 objective function (目标函数)。 Mini-batches(小批量)是输入数据的子集,在每次 training iteration (训练迭代)中 randomly sampled (随机抽样)。这些小批量大大减少了融合到本地解决方案所需的计算量。 与其他降低 k-means 收敛时间的算法相反,mini-batch k-means 产生的结果通常只比标准算法略差。
该算法在两个主要步骤之间进行迭代,类似于 vanilla k-means 。 在第一步,

样本是从数据集中随机抽取的,形成一个 mini-batch (小批量)。然后将它们分配到最近的 centroid(质心)。 在第二步,centroids (质心)被更新。与 k-means 相反,这是在每个样本的基础上完成的。对于 mini-batch (小批量)中的每个样本,通过取样本的 streaming average (流平均值)和分配给该质心的所有先前样本来更新分配的质心。 这具有随时间降低 centroid (质心)的 rate (变化率)的效果。执行这些步骤直到达到收敛或达到预定次数的迭代。
MiniBatchKMeans
收敛速度比 KMeans
,但是结果的质量会降低。在实践中,质量差异可能相当小,如示例和引用的参考。






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论