最近看到一个叫做小批量K均值(mini-batch K Means)的聚类方法。
K均值我懂,SGD里的小批量我也懂。
【不懂就问】
但是这两个合在一起是什么意思?
小批量K均值和正常的K均值什么关系?这里的小批量又是什么意思?
3个回答
mini-batch K Means是对普通的K Means计算效率的优化。
在普通的K Means的计算过程中,每次更新各聚类中心点时,需要计算所有点和每个聚类中心点的距离,所以代价特别昂贵。
而在mini-batch K Means的计算过程中,每次更新各聚类中心点时,先从所有数据中随机地选取一个小集合(也就是这里的mini-batch),根据这个集合中的数据点,来更新各聚类的中心点。下一次更新时,再重新从所有数据点中选取一个随机的小集合,如此重复,直到达到收敛条件。
mini-batch的思想就是用部分数据,而不是全部数据,来更新模型的参数。所以从这一点来说,mini-batch K means和mini-batch sgd是同一个思想。
为了加快k means算法的计算速度,每次迭代的时候,只选了小批量的随机数据,而不是全部数据,这个思想就是小批量k means。
更多细节可以参考 Mini Batch K-Means in Sklearn
相关主题
K-Means实现mini-batch online learning的原理是什么?
1回答
二分法K Means的算法是什么?和普通的K Means有什么区别?
2回答
关于online KMeans步骤中成员更新分类的问题?
1回答
K-MEANS初始点选择的问题
2回答
Jenks和K Means在一维数据时,是不是等价的?
2回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!