深圳Yolo 视觉
深圳
立即加入
词汇表

K-均值聚类

探索用于无监督学习的K-均值聚类。了解该算法如何划分数据、增强AI应用并为Ultralytics YOLO26等模型提供信息。

K-Means 聚类是无监督学习领域中一种基础且广泛使用的算法,旨在发现无标签数据中的隐藏结构。其主要目标是将数据集划分为不同的子组,即聚类,使得同一组内的数据点尽可能相似,而不同组之间的数据点则截然不同。作为数据挖掘和探索性分析的基石,K-Means 使数据科学家能够自动将复杂信息组织成可管理的类别,无需预定义标签或人工监督。

算法如何运行

K-Means 的操作是迭代的,并依赖于距离度量来确定训练数据的最佳分组。该算法通过将项目组织成K个簇来运行,其中每个项目都属于具有最近均值或质心的簇。这个过程最小化了每个组内的方差。其工作流程通常遵循以下步骤:

  1. 初始化:算法选取K个初始点作为聚类中心。这些中心点可随机选取,或通过k-means++等优化方法加速收敛过程
  2. 任务:数据集中的每个数据点都根据特定距离度量(最常见的是欧几里得距离)分配到最近的质心。
  3. 更新:通过计算分配到该簇的所有数据点的平均值(均值),重新计算质心。
  4. 迭代:重复步骤2和3,直至质心不再显著移动或达到最大迭代次数。

确定正确的聚类数(K)是使用该算法的关键环节。实践者常采用肘部法等技术,或分析轮廓分数,以评估所得聚类的分离程度。

人工智能在现实世界中的应用

K均值聚类法具有高度的灵活性,在简化数据和数据预处理方面被广泛应用于各个行业。

  • 图像压缩与颜色量化:计算机视觉 (CV)中,K-Means 通过聚类像素颜色来帮助减小 图像文件大小。通过将数千种颜色分组为一组较少的主导 颜色,该算法在保留图像视觉结构的同时有效地执行了 降维。该技术常用于训练高级 目标检测模型之前,以标准化输入数据。
  • 客户细分: 企业利用聚类技术根据购买历史、人口统计数据或网站行为对客户进行分组。这使得有针对性的营销策略成为可能,是零售AI解决方案的关键组成部分。通过识别高价值购物者或流失风险,公司可以有效地调整其营销信息。
  • 异常检测:通过学习“正常”数据簇的结构,系统可以识别远离任何质心的异常值。这对于金融领域的欺诈检测和网络安全领域的异常检测非常重要,有助于标记偏离标准模式的可疑活动。
  • 锚框生成:历史上,像早期YOLO版本这样的目标检测器利用K-Means算法从训练数据集中计算最优的锚框。尽管像YOLO26这样的现代模型采用了先进的无锚框方法,但理解K-Means对于检测架构的演进仍然具有重要意义。

实施实例

尽管像 Ultralytics Platform 这样的深度学习框架处理复杂的训练管道,但 K-Means 经常用于分析数据集统计信息。以下 python 代码片段演示了如何使用流行的 Scikit-learn 库对 2D 坐标(模拟对象质心)进行聚类。

import numpy as np
from sklearn.cluster import KMeans

# Simulated coordinates of detected objects (e.g., from YOLO26 inference)
points = np.array([[10, 10], [12, 11], [100, 100], [102, 101], [10, 12], [101, 102]])

# Initialize K-Means to find 2 distinct groups (clusters)
kmeans = KMeans(n_clusters=2, random_state=0, n_init="auto").fit(points)

# Output the cluster labels (0 or 1) for each point
print(f"Cluster Labels: {kmeans.labels_}")
# Output: [1 1 0 0 1 0] -> Points near (10,10) are Cluster 1, near (100,100) are Cluster 0

与相关算法的比较

区分K均值算法与其他名称或功能相似的算法至关重要,以确保为项目选择正确的工具。

  • K均值与K最近邻(KNN)算法:因名称中均含"K"字母,二者常被混淆。 K均值是一种用于聚类无标签数据的无监督算法。而K最近邻(KNN)则是基于标签数据的监督学习算法,主要应用于图像分类和回归任务,通过分析邻域数据中多数类别的分布来进行预测。
  • K-Means 与 DBSCAN:尽管两者都对数据进行聚类,但K-Means假设聚类是球形的,并且需要预先定义聚类数量。DBSCAN根据密度对数据进行分组,可以找到任意形状的聚类,并更好地处理噪声。这使得DBSCAN在处理具有不规则结构且聚类数量未知数据集中的复杂空间数据时更具优势。

让我们一起共建AI的未来!

开启您的机器学习未来之旅