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

Difference betweeen Mini Batch K-Means and Sequential/online KMeans

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

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

小批量 k 均值不收敛到局部 optimum.x

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