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

  统计/机器学习 无监督学习    浏览次数:8360        分享
2

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

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

【不懂就问】

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

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


 

Beck   2017-11-12 11:13



   3个回答 
9

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

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

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


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


SofaSofa数据科学社区DS面试题库 DS面经

岛歌   2017-11-16 14:02

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

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

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


SofaSofa数据科学社区DS面试题库 DS面经

黄前志   2017-11-16 14:15

2

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

答案说得很清楚

SofaSofa数据科学社区DS面试题库 DS面经

Jiho   2018-10-04 12:42



  相关讨论

kmeans可以用在三维数据上吗?

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

kernal kmeans是什么意思?和一般的kmeans的区别是什么?

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

KMeans++是怎么选初始点的?

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

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

k-medoids和k-means区别

kmeans可以做并行化计算达到加速效果吗?

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

  随便看看

随机森林(random forest)和支持向量机(SVM)各有什么优劣

协方差矩阵一定是半正定的吗?

多重检验中的FDR(false discovery rate, 错误发现率)是什么?

医学统计里的c-index或者c-statistic是什么意思?

pytorch里view(-1, 1)什么意思?