关于小批量K均值(mini-batch K Means)的问题

  统计/机器学习 无监督学习
1

最近看到一个叫做小批量K均值(mini-batch K Means)的聚类方法。

K均值我懂,SGD里的小批量我也懂。

【不懂就问】

但是这两个合在一起是什么意思?

小批量K均值和正常的K均值什么关系?这里的小批量又是什么意思?


 

Beck   2017-11-12 11:13



   2个回答 
6

mini-batch K Means是对普通的K Means计算效率的优化。

在普通的K Means的计算过程中,每次更新各聚类中心点时,需要计算所有点和每个聚类中心点的距离,所以代价特别昂贵。

而在mini-batch K Means的计算过程中,每次更新各聚类中心点时,先从所有数据中随机地选取一个小集合(也就是这里的mini-batch),根据这个集合中的数据点,来更新各聚类的中心点。下一次更新时,再重新从所有数据点中选取一个随机的小集合,如此重复,直到达到收敛条件。


mini-batch的思想就是用部分数据,而不是全部数据,来更新模型的参数。所以从这一点来说,mini-batch K means和mini-batch sgd是同一个思想。


岛歌   2017-11-16 14:02

讲得挺清楚的。 - 起个好名字   2017-11-17 10:11
2

为了加快k means算法的计算速度,每次迭代的时候,只选了小批量的随机数据,而不是全部数据,这个思想就是小批量k means。

更多细节可以参考 Mini Batch K-Means in Sklearn


黄前志   2017-11-16 14:15



相关问题

层次聚类里的linkage是什么意思?   1回答

什么是K-Modes(K众数)聚类法?   1回答

层次聚类中的Ward's method是什么意思   0回答

K-MEANS初始点选择的问题   1回答

软聚类,硬聚类?   1回答

二分法K Means的算法是什么?和普通的K Means有什么区别?   2回答

一维的数据可以做聚类吗?   3回答

怎么评价一个聚类算法?   1回答

K-means怎么选K?   2回答

sklearn.cluster.KMeans用的哪种距离?   1回答

进行K-Means聚类前,需要对数据做怎样的预处理?   1回答

可视化K Means的时候怎么把聚类的中心点和样本点连起来?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!