Mini Batch K-Means 和 Sequential/online K-Means 的区别

Posted

技术标签:

【中文标题】Mini Batch K-Means 和 Sequential/online K-Means 的区别【英文标题】:Difference betweeen Mini Batch K-Means and Sequential/online KMeans 【发布时间】:2020-03-03 05:45:46 【问题描述】:

我正在使用 scikit-learn 库 sklearn.cluster 尝试 K-Means 及其变体的示例。 minibatch K-Means 聚类和在线/顺序 K-Means 聚类有什么区别?

我在 scikit 库中找不到在线 KMeans 的实现。如果批量大小为 1,那么 minibatch K-Means 将充当在线 K-Means 吗?

【问题讨论】:

【参考方案1】:

小批量 k-means 不会收敛到局部最优值.x

本质上,它使用数据的子样本重复执行 k-means 的一步。但是因为这些样本可能有不同的最优值,它不会找到最好的,而是在不同部分的解决方案之间移动。您在固定数量的迭代后停止 - 否则它将永远运行。如果你有良好的大量数据,这可能不会有很大的不同。如果您有一个困难的数据集并且数据不多,那么快速(不是 Lloyd)KMeans 会找到更好的解决方案,并且只需要几次迭代。我怀疑是否有很多人拥有如此庞大的数据集,而 minibatch 是个好主意。

【讨论】:

以上是关于Mini Batch K-Means 和 Sequential/online K-Means 的区别的主要内容,如果未能解决你的问题,请参考以下文章

scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法

转载: scikit-learn学习之K-means聚类算法与 Mini Batch K-Means算法

mini_batch GD

Mini-batch 和batch的区别

Batch_mini-Batch_SGD_BGD

Mini-Batch Gradient Descent介绍以及如何决定Batch Size