术语表

K-Means 聚类

学习 K-Means 聚类,这是一种将数据分组的关键无监督学习算法。探索其过程、应用和比较!

K-Means 聚类是一种用于数据挖掘机器学习(ML)的基础性无监督学习算法。其主要目标是将数据集划分为预先指定数量的不同、不重叠的子群或 "簇"。其名称中的 "K "指的就是簇的数量。该算法的工作原理是根据数据点的相似性将其分组,相似性通常用点与点之间的欧氏距离来衡量。每个聚类由其中心(即中心点)表示,中心点是该聚类中所有数据点的平均值。这是一种强大而简单的方法,可用于发现无标记数据中的潜在模式和结构。

K-Means 如何工作

K-Means 算法采用迭代法为所有数据点找到最佳聚类分配。这一过程可分为几个简单的步骤:

  1. 初始化:首先,选择聚类的数量 K。然后,在数据集的特征空间中随机放置 K 个初始中心点。
  2. 分配步骤:将训练数据中的每个数据点分配给最近的中心点。这样就形成了 K 个初始簇。
  3. 更新步骤:取分配给每个聚类的所有数据点的平均值,重新计算每个聚类的中心点。
  4. 迭代:重复分配和更新步骤,直到簇分配不再变化或达到最大迭代次数。此时,算法已经收敛,并形成最终的聚类。您可以查看K-Means 算法的直观解释,以获得更直观的理解。

为 K 选择合适的值至关重要,通常需要领域知识或使用Elbow 方法Silhouette score 等方法。Scikit-learn 等库中有大量的实现方法。

实际应用

K-Means 因其简单高效而被广泛应用于各个领域:

  • 客户细分:在零售和营销领域,企业使用 K-Means 根据购买历史、人口统计或行为将客户划分为不同的群体。例如,一家公司可能会确定一个 "高消费忠诚者 "群组和一个 "有预算意识的偶尔购物者 "群组。这样就可以采取有针对性的营销策略,正如使用聚类进行客户细分的研究中所描述的那样。
  • 图像压缩:在计算机视觉(CV)中,K-Means 用于颜色量化,是一种降维处理。它将相似的像素颜色分成 K 个簇,用簇的中心颜色替换每个像素的颜色。这就减少了图像中的颜色数量,有效地压缩了图像。这项技术是图像分割的基础概念。
  • 文档分析:该算法可根据术语频率对文档进行聚类,以确定主题或对类似文章进行分组,从而帮助整理大型文本数据集

K-Means Vs. 相关概念

将 K-Means 与其他机器学习算法区分开来非常重要:

  • K-Nearest Neighbors (KNN):这是常见的混淆点。K-Means 是一种无监督聚类算法,可对无标签数据进行分组。相比之下,KNN 是一种有监督的分类或回归算法,它根据一个新数据点的 K 个近邻的标签来预测该数据点的标签。K-Means 会创建分组,而 KNN 会将数据分类到预定义的分组中
  • 支持向量机 (SVM):SVM 是一种用于分类的监督学习模型,它能找到最佳超平面来区分类别。K-Means 是无监督的,它根据相似性对数据进行分组,没有任何预定义的标签。
  • DBSCAN:与 K-Means 不同,DBSCAN 是一种基于密度的聚类算法,它可以识别任意形状的聚类,并对异常值具有鲁棒性。K-Means 假设聚类是球形的,可能会受到异常值的严重影响。

虽然 K-Means 是数据探索的基本工具,但像实时对象检测这样的复杂任务则依赖于更先进的模型。Ultralytics YOLO等现代检测器采用了复杂的深度学习技术,性能卓越。不过,聚类概念(如锚框分组)是早期物体检测器开发的基础。使用Ultralytics HUB 等平台可以简化此类任务的数据集管理。

加入 Ultralytics 社区

加入人工智能的未来。与全球创新者联系、合作和成长

立即加入
链接复制到剪贴板