K-Means Clustering
探索无监督学习中的 K-Means 聚类。了解该算法如何划分数据、增强 AI 应用,并为 Ultralytics YOLO26 等模型提供参考。
K 均值聚类是无监督学习领域中一种基础且广泛使用的算法,旨在发现无标签数据中的隐藏结构。其主要目标是将数据集划分为称为簇的不同子集,使同一组中的数据点尽可能相似,而不同组中的数据点彼此不同。作为数据挖掘和探索性分析的基石,K 均值能够帮助数据科学家自动将复杂信息组织成易于管理的类别,而无需预先定义标签或人工监督。
算法的工作原理#
K 均值的运行是迭代式的,并依赖距离度量来确定训练数据的最佳分组方式。该算法将项目组织成 K 个簇,其中每个项目都属于均值(即质心)最近的簇。这个过程会最小化每个组内的方差。其工作流程通常遵循以下步骤:
-
初始化: 算法选择 K 个初始点作为质心。这些点可以随机选择,也可以通过 k-means++ 等优化方法选择,以加快收敛。
-
分配: 根据特定的距离度量,将数据集中的每个数据点分配给最近的质心,最常用的是欧氏距离。
-
更新: 通过计算分配到该簇的所有数据点的平均值(均值),重新计算质心。
-
迭代: 重复步骤 2 和 3,直到质心不再发生显著移动,或达到最大迭代次数。
确定正确的簇数量(K)是使用该算法时的关键环节。从业者通常会使用肘部法等技术,或分析轮廓系数,以评估生成的簇之间的分离程度。
AI 中的实际应用#
K 均值聚类具有很强的通用性,可用于各个行业的数据简化和数据预处理。
- 图像压缩与颜色量化: 在计算机视觉 (CV)中,K 均值通过对像素颜色进行聚类来帮助减小图像文件大小。通过将数千种颜色归并为较少的一组主色,算法在保留图像视觉结构的同时,有效地执行了降维。这项技术通常用于训练高级目标检测模型之前,以规范化输入数据。
- 客户细分: 企业利用聚类,根据购买历史、人口统计信息或网站行为对客户进行分组。这有助于制定有针对性的营销策略,是零售业中的 AI解决方案的重要组成部分。通过识别高价值购物者或流失风险,企业可以更有效地定制其营销信息。
- 异常检测: 通过学习“正常”数据簇的结构,系统可以识别远离任何质心的离群点。这对于金融领域的欺诈检测和网络安全中的异常检测很有价值,有助于标记偏离标准模式的可疑活动。
- 锚框生成: 过去,较早版本的 YOLO 等目标检测器会利用 K 均值,从训练数据集中计算最佳锚框。虽然 YOLO26 等现代模型采用了先进的无锚框方法,但了解 K 均值对于理解检测架构的发展仍然具有现实意义。
实现示例#
虽然Ultralytics Platform等深度学习框架可以处理复杂的训练流程,但 K 均值常用于分析数据集统计信息。下面的 Python 代码片段演示了如何使用热门的 Scikit-learn 库对二维坐标进行聚类,这些坐标模拟了目标质心。
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 均值与 DBSCAN 的比较: 虽然两者都能对数据进行聚类,但 K 均值假设簇呈球形,并要求预先定义簇的数量。DBSCAN根据密度对数据进行分组,可以发现任意形状的簇,并且对噪声的处理能力更强。因此,对于簇数量未知且结构不规则的数据集中的复杂空间数据,DBSCAN 更具优势。









