1

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

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

4

1 回答 1

3

Mini-batch k-means 不会收敛到局部最优值.x

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

于 2019-11-06T19:24:08.687 回答