【问题标题】:Difference betweeen Mini Batch K-Means and Sequential/online KMeansMini Batch K-Means 和 Sequential/online K-Means 的区别
【发布时间】: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 吗?
【问题讨论】:
标签:
cluster-analysis
k-means
unsupervised-learning
mini-batch
【解决方案1】:
小批量 k-means 不会收敛到局部最优值.x
本质上,它使用数据的子样本重复执行 k-means 的一步。但是因为这些样本可能有不同的最优值,它不会找到最好的,而是在不同部分的解决方案之间移动。您在固定数量的迭代后停止 - 否则它将永远运行。如果你有良好的大量数据,这可能不会有很大的不同。如果您有一个困难的数据集并且数据不多,那么快速(不是 Lloyd)KMeans 会找到更好的解决方案,并且只需要几次迭代。我怀疑是否有很多人拥有如此庞大的数据集,而 minibatch 是个好主意。