术语表

K-Means 聚类

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

使用Ultralytics HUB 对YOLO 模型进行简单培训

了解更多

K-Means 聚类是无监督学习中的一种基本算法,广泛用于将数据集划分为预定数量(K)的不同、不重叠的聚类。在没有预定义标签的情况下,它对发现数据中的潜在群组结构尤为有效。K-Means 的主要目的是通过最小化每个簇内的方差,特别是每个数据点与其指定簇的中心点(平均点)之间的距离平方和,将相似的数据点分组。它是数据挖掘探索性数据分析的基础技术。

K-Means 聚类的工作原理

K-Means算法通过一个迭代过程来找到最佳聚类分配。这一过程通常包括以下步骤

  1. 初始化:首先,必须指定聚类的数量 K。这是关键的一步,通常涉及一些领域知识或实验,有时涉及超参数调整技术或类似肘法的方法,以找到最佳的 K(请参阅选择正确的聚类个数)。然后,选择 K 个初始中心点,通常是从数据集中随机选择 K 个数据点,或使用 K-Means++ 等更复杂的方法。
  2. 分配步骤:将数据集中的每个数据点分配给最近的中心点。近 "通常用欧氏距离来衡量,但也可根据数据特征使用其他距离指标。这一步形成 K 个初始聚类。
  3. 更新步骤:重新计算新形成聚类的中心点。新的中心点是分配给该簇的所有数据点的平均值。
  4. 迭代:重复步骤 2 和 3,直到达到停止标准。常见的标准包括中心点不再明显移动、数据点不再改变聚类分配或达到最大迭代次数。

这种迭代改进确保算法逐步提高聚类的紧凑性和分离度。K-Means 算法因其简单性和计算效率而备受推崇,可扩展至大型数据集斯坦福大学 CS221 关于 K-Means 的笔记scikit-learn 聚类文档等资源提供了大量详细资料,可供深入了解K-Means的机制和实现方法。

K-Means 聚类的应用

K-Means 聚类在人工智能(AI)机器学习(ML)的众多领域都有应用。下面是两个具体的例子:

  • 客户细分:企业经常使用 K-Means 根据购买历史、人口统计或网站行为对客户进行分组。例如,一家电子商务公司可能会将客户分为 "高消费频繁购物者"、"有预算意识的偶尔购买者 "等群体。这样就可以开展有针对性的营销活动和个性化的产品推荐,为《零售业中的人工智能》一书中讨论的战略做出贡献。了解客户细分是营销分析的关键。
  • 图像压缩和色彩量化计算机视觉(CV)中,K-Means 可用于颜色量化,这是一种有损图像压缩。该算法将图像调色板中相似的颜色分成 K 个群组。然后,每个像素的颜色都会被其所属簇的中心点颜色所取代。这就大大减少了表示图像所需的颜色数量,从而压缩了图像。这种技术在各种图像处理任务中,甚至在艺术和文化遗产保护中的人工智能等领域都非常有用。

K-Means 聚类与相关概念的比较

了解 K-Means 与其他算法之间的区别对于选择合适的工具至关重要:

  • K-Means 与 DBSCAN:两者都是聚类算法,但运行方式不同。K-Means 将数据划分为预先指定数量(K)的球形聚类,对异常值比较敏感。而DBSCAN(基于密度的噪声应用空间聚类)则是根据密度对点进行分组,这样就能找到任意形状的聚类,并将异常值识别为噪声。它不需要事先指定聚类的数量。了解更多基于密度的聚类方法
  • K-Means 与监督学习:K-Means 是一种无监督学习方法,也就是说,它使用无标记数据来寻找内在结构。相比之下,监督学习算法(如用于物体检测图像分类的算法)需要标注数据(即已知结果或类别的数据)来训练模型,以预测新的、未见数据的结果。Ultralytics 为此类任务提供了各种监督学习数据集
  • K-Means 与分层聚类:K-Means 方法产生的是一组平面聚类,而分层聚类方法产生的是聚类的层次结构或树状结构(树枝图)。这允许探索不同粒度的聚类结构,但通常比 K-Means 更耗费计算,尤其是对于大数据而言。

掌握 K-Means(K-均值)为探索数据结构奠定了坚实的基础。虽然没有直接用于 Ultralytics YOLO等模型中,但了解聚类有助于数据预处理或分析数据集特征。Ultralytics HUB等工具可以帮助管理数据集和训练模型,并有可能利用从聚类技术中获得的洞察力,在处理需要高准确度的任务之前更好地理解数据分布。进一步探索聚类评估指标(如剪影得分或戴维斯-博尔丁指数)也有助于评估 K-Means 结果的质量,补充标准YOLO 性能指标的不足。如果想了解更广泛的入门知识,可以参考IBM 的 K-Means 解释CourseraDataCamp 等平台上的入门课程。您可以在Ultralytics 文档中找到更多教程和指南。

阅读全部