K-means
K-means算法的基本步骤
1.从n个数据中任意选择 k 个对象作为初始聚类中心
2.通过把每个点分配给最近的聚类中心,从而形成K个类,重新计算每个类的聚类中心
3.终止条件:如果计算后,聚类中心不发生改变
每个类别聚类中心的计算方法
每个类中所有样本取值的均值(质心)
k-means时间空间复杂度
时间复杂度:O(i* n* k* m)
空间复杂度:O(n* m)
k是需要聚类的数量,m为每个元素属性个数(向量的维度),n为数据量,i为迭代次数
一般均可认为是常量,所以时间和空间复杂度可以简化为O(n)
改进
K-means是常用的聚类算法,但其算法本身存在一定的问题,例如在大数据量下计算时间过长就是一个重要问题,
可以从两方面进行改进,一方面:通过改变初始聚类中心的选择,从而减少迭代次数;另一方面:随机抽取一部分样本代表各自类型进行计算,而不是使用全部样本进行更新计算。主要是以下两个改进方法:K-means++、Mini Batch k-means