kmeans是一个基本的聚类方法,相信学过数据挖掘的都会懂这个算法
不过kmeans在数据量大的情况下会导致计算时间过长的问题,
所以自然而然的就会有相应的提高计算速度的方法出现
其实跟随机梯度下降的方法类似,也就是minibatch方法,基本上都一样
随机梯度下降是使用随机的样本来计算下降的梯度,而不是使用全局梯度
这个好处就是计算快,坏处就是局部梯度可能导致方向不准确,但是在大数据下准确度可以接受
特别是在实时性要求高的应用中,降低点准确性没关系,要快速返回结果
kmeans的minibatch其实也差不多,就是在重新计算中心点的时候
使用随机抽样的方式,选择一部分样本来计算中心点
也会带来一定的准确性下降,但是可以提高计算速度,能够处理更大的数据
其实minibatch的方式应用非常广泛,在深度学习中也会用这样的方法来提高训练速度
这也就是一个小小的技巧