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

  统计/机器学习 无监督学习    浏览次数: 1005
1

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

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

【不懂就问】

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

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


 

Beck   2017-11-12 11:13



   3个回答 
8

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
3

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

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


黄前志   2017-11-16 14:15

1

一个类似的问题:Mini-batch K-Means实现online learning的原理是什么?

答案说得很清楚

Jiho   2018-10-04 12:42



  相关主题

通俗地解释c-means以及fuzzy c-means是什么意思   1回答

Jenks和K Means在一维数据时,是不是等价的?   2回答

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

k-medoids和k-means区别   3回答

K Means初始点必须是样本中的点吗   2回答

如何用K Means做异常点检测?   3回答

关于online KMeans步骤中成员更新分类的问题?   0回答

K-Means实现mini-batch online learning的原理是什么?   1回答

K-means怎么选K?   6回答

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

为什么K Means算法对样本的输入顺序比较敏感?   2回答

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



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

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

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

我们谢绝答非所问。

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

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