1.K-means算法概述
K-means是一种用于聚类分析的非监督学习算法。 它通过将数据点划分为k个簇,使得每个簇中的数据点尽可能相似,而不同簇之间的数据点尽可能不同。K-means算法的名称来源于其中的k个簇(clusters)和每个簇的均值(mean)。
2.算法原理与步骤
K-means算法的基本原理是随机选取k个对象作为初始的聚类中心,然后计算每个对象与各个种子聚类中心之间的距离,把每个对象分配给距离它最近的聚类中心。聚类中心以及分配给它们的对象就代表一个聚类。每分配一个样本,聚类的聚类中心会根据聚类中现有的对象被重新计算。这个过程将不断重复直到满足某个终止条件,如没有(或最小数目)对象被重新分配给不同的聚类,没有(或最小数目)聚类中心再发生变化,或误差平方和局部最小。
3.K-means算法适用场景
K-means 聚类算法简单且有效,但是在使用K-means时,k值的确定非常关键。当明确划分聚类个数时,K-means算法就比较适用了。但是不能保证K-mean方法收敛于全局最优解,并且它常常终止于一个局部最优解。结果可能依赖于初始簇中心的随机选择。实践中,为了得到好的结果,通常以不同的初始簇中心,多次运行K-means算法。相对于其他聚类算法,K-means算法的优缺点总结如下:
(1) 优点
- 是解决聚类问题的一种经典算


5万+

被折叠的 条评论
为什么被折叠?



