Kmeans#
术语解释#
K均值聚类(Kmeans Clustering) 是聚类算法中应用最为广泛、最经典的一种无监督学习算法。K均值聚类旨在将具有相似特征的样本点“聚”在一起形成簇(Cluster) 。其核心逻辑是利用欧氏距离作为相似性度量标准——距离越近,样本间的相似度越高,越有可能被划分到同一个簇中。

整个聚类过程是一个反复迭代的过程,具体分为4个步骤 :
-
初始化:随机选择 K 个样本点作为初始簇中心。
-
分配:计算每个样本点到这 K 个簇中心的距离,并将样本点划分到最近的簇中。
-
更新:根据每个簇中现有的样本,重新计算(取平均值)每个簇的簇中心。
-
循环:重复步骤2和3,直到簇中心不再发生变化(目标函数收敛)
更多相关内容可参见「第11.2节 Kmeans原理:聚类分析中的经典算法」 内容。
出现动机#
聚类算法的初衷是在没有真实标签(Ground Truth)的情况下,通过自我学习挖掘数据中潜藏的结构或空间分布特性。 Kmeans 出现的直接数学动机则是希望找到一个最优解,使得所有样本点到其对应簇中心的距离总和最小(即最小化目标函数),从而让同一簇内的样本尽可能接近,不同簇间的样本尽可能远离,这样在不需要正确标签的情况下便实现了对数据本身结构的挖掘。 相比于复杂的聚类方法,Kmeans 提供了一种计算效率高、逻辑简洁的手段来处理大量的多维特征数据。
优点缺点#
-
优点:
-
原理简洁直观:算法基于“近朱者赤”的逻辑,非常容易理解和实现。
-
计算效率高:通过简单的距离计算和均值更新即可完成迭代,通常收敛速度较快。
-
数学支撑稳固:其目标函数的求解过程可以借助于拉格朗日乘数法,具有严谨的数学推导基础。
-
可扩展性强:它是许多改进算法(如 Kmeans++、加权 Kmeans)的基础,能够适应不同的优化需求。
-
-
缺点:
-
严重依赖初始值:Kmeans 对初始簇中心的选择非常敏感。如果初始点选得不理想(例如都在同一个簇内),算法极易陷入局部最优解,导致聚类结果错误。 「第11.5节 Kmeans++原理:聚类中心初始化策略」
-
K 值选取困难:算法要求预先指定簇的数量 K,但在实际场景中往往很难确定最佳 K 值,通常需要借助「肘部法或轮廓系数法」进行事后分析 。
-
对异常值/噪声敏感:由于簇中心是基于样本均值计算的,个别偏离中心很远的异常点(Outliers)会显著拉动中心位置,导致聚类偏移。
-
簇形状限制:Kmeans 假设簇是凸形或球形的,对于环形、长条形等非线性分布的异形数据处理效果很差(这类问题通常更适合使用 「DBSCAN 等基于密度的算法」)。
-
对量纲敏感:如果不同特征维度的取值范围差异过大,距离计算会被数值大的维度主导,因此在聚类前通常需要进行「标准化处理」。
-
术语别名#
-
Kmeans
-
K均值聚类
-
K聚类
相关术语#
-
Kmeans++ 聚类算法
-
WKmeans 聚类算法
-
DBSCAN