K-means
优缺点
优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢
步骤
- 选择K个点作为初始聚类中心
- 计算其余所有点到聚类中心的距离,并把每个点划分到离它最近的聚类中心所在的聚类中去。计算距离常用欧几里得距离公式,也叫欧氏距离。查看距离的计算方法
- 重新计算每个聚类中所有点的平均值,并将其作为新的聚类中心点。
- 重复2、3步,直到聚类中心不再发生改变,或者算法达到预定的迭代次数,又或聚类中心的改变小于预先设定的阈值
使用后处理来提高聚类性能
局部最小值指结果还可以但并非最好结果,全局最小值是可能的最好结果 一种用于度量聚类效果的指标是SSE(误差平方和)。SSE值越小表示数据点越接近它们的质心。 后处理方法:将具有最大SSE值的簇划分成为两个簇;合并最近的质心,或者合并两个使得SSE增幅最小的质心。
二分K-Means算法
1. 将所有点作为一个簇,然后将该簇一分为二; 2. 之后选择其中一个簇继续进行划分,选择哪一个簇进行划分取决于对其划分是否可以最大程度降低SSE的值。 3. 不断重复SSE的划分过程,直到得到用户指定的簇数目为止。