简介
K-means算法又叫K-均值算法,是非监督学习中的聚类算法。
基本思想
在K-means算法中,用cluster来表示簇,K-means算法收敛等同于所有质心不再发生变化。基本的k-means算法流程如下:
选取k个初始质心(作为初始cluster,每个初始cluster只包含一个点);repeat: 对每个样本点,计算得到距离其最近的质心,将其类别标为该质心所对应的cluster; 重新计算k个cluster对应的质心(质心是cluster中样本点的均值);util 质心不再发生变化 或 到达最大迭代次数
K-means的本质是移动中心点,使其逐渐靠近数据“中心”,即最小化目标函数,目标函数为每个点到其簇质心的距离平方和:

目标函数
其中,N是元素个数,x表示元素,c(j)表示第j簇的质心。
优缺点
优点
- 简单、快速;
- 对大数据集有较高的效率并且是可伸缩性的;
- 时间复杂度接近于线性,适合挖掘大规模数据集。
缺点
- 只是局部最优,因而