AI red teamer (人工智能红队)系列08-人工智能基础-k-均值算法(英文:k-means clustering)

你是慕鸢呀~ 发布于 20 小时前 0 次阅读 1855 字 预计阅读时间: 8 分钟


AI red teamer (人工智能红队)系列08-人工智能基础-k-均值算法(英文:k-means clustering)

k-均值算法是一种流行的无监督学习算法,用于将数据集划分为 K 个不同的、不重叠的簇。其目的是将相似的数据点分组,而相似性通常是通过多维空间中数据点之间的距离来衡量的。

假设存在一个客户数据集,其中包含有关客户购买历史、人口统计和浏览活动的信息。k-均值算法可根据这些客户的相似性将其划分为不同的细分市场。这对于有针对性的营销、个性化推荐和客户关系管理非常有价值。

k-均值算法 是一种迭代算法,旨在最小化每个聚类内部的方差。这意味着它试图对数据点进行分组,使一个聚类中的点尽可能相互接近,并尽可能远离其他聚类中的数据点。

该算法执行步骤如下

  1. 初始化: 从数据集中随机选择 K 个数据点作为初始聚类中心(中心点)。这些中心点代表每个聚类中的平均点。
  2. 分配: 根据距离度量(如 欧氏距离)将每个数据点分配到最近的聚类中心。
  3. 更新: 取分配给每个聚类的所有数据点的平均值,重新计算聚类中心。这将更新中心点,使其更好地代表聚类的中心。
  4. 迭代: 重复步骤 2 和 3,直到聚类中心不再发生显著变化或达到最大迭代次数。这个迭代过程会不断完善聚类,直到它们趋于稳定。

欧式距离

欧氏距离(Euclidean distance) 是一种常用的距离度量,用于测量 k-均值算法中数据点之间的相似性。它计算多维空间中两点之间的直线距离。

对于两个数据点 xy 以及 n 特征,欧几里得距离的计算公式为

d(x, y) = sqrt(Σ (xi - yi)^2)

xiyi 分别是数据点 xy 的第 i 个特征值。

选择最优的K值

k-均值算法中,确定最优的聚类数目(K)非常重要。K 的选择会对聚类结果及其可解释性产生重大影响。选择过少的聚类会导致过于宽泛的分组,而选择过多的聚类则会导致过于细化和可能毫无意义的聚类。

遗憾的是,没有一种适合所有情况的确定最优K值的方法。这通常需要结合多种技术和领域专业知识。

肘图法(Elbow Method)

肘图法是一种在k-均值算法中寻找最优K值的图形方法。肘图在y轴上显示了与不同K值(在x轴上)相对应的簇内平方和(WCSS)值。最佳K值是图形形成弯头的点。

具体步骤如下

  1. 对一系列的K值运行K-means:对K的不同值执行K-means聚类,通常从1开始,逐步增加。
  2. 计算 WCSS: 对于 K 的每个值,计算 WCSS。WCSS 衡量每个聚类内的总方差。WCSS 值越低,说明聚类内的数据点越相似。
  3. 绘制 WCSS 与 K 的关系图: 绘制 WCSS 值与相应 K 值的关系图。
  4. 确定 "肘点": 在图表中寻找 "肘点"。这是 WCSS 开始以较慢速度下降的位置。这一点通常暗示了 K 的良好值,表明在最小化簇内差异和避免过度粒度之间取得了平衡。

肘点代表了模型复杂性和模型拟合之间的权衡。增加 K 超过肘点可能会导致过度拟合,即模型捕捉的是数据中的噪声而不是有意义的模式。

轮廓分析

轮廓分析提供了一种更量化的方法来评估 K 的不同值。它可以衡量一个数据点与其他数据点相比,与自己的聚类有多相似。

该流程分为四个步骤:

  1. 对K值进行范围运行 k-均值算法:类似于肘图法,对不同的K值执行 k-均值算法
  2. 计算轮廓得分:对于每个数据点,计算其轮廓得分。轮廓得分范围为-1到1,其中:
    1. 得分接近 1 表示数据点与其所在的聚类匹配度高,而与邻近聚类匹配度低。
    2. 得分接近 0 表示数据点位于或非常接近两个相邻集群之间的决策边界。
    3. 得分接近-1 表示该数据点可能被分配到了错误的群组中。
  3. 计算平均轮廓分数:对于K的每个值,计算所有数据点的平均轮廓分数。
  4. 选择得分最高的K:选择产生最高平均轮廓分数的K值。这表明具有最佳定义的聚类解决方案。

轮廓得分越高,通常表示聚类越清晰,数据点与其聚类的相似度越高,与其他数据点的相似度越低。

领域专业知识及其他考虑因素

虽然肘图法和轮廓分析提供了有价值的指导,但领域专业知识往往是选择最佳 K 的关键。考虑问题的具体背景和所需的聚类粒度水平。

在某些情况下,实际考虑因素可能会超过纯粹的量化措施。例如,如果目标是细分客户以进行有针对性的营销,您可能会选择一个 K 来匹配您可以实际管理的不同营销活动的数量。

其他需要考虑的因素包括:

  • 计算成本:K值越高,一般需要的计算资源就越多。
  • 可解释性: 由此产生的聚类应在问题的背景下是有意义和可解释的。

通过将这些技术相结合并考虑任务的特定要求,就可以有效地为 K 选择最佳的 k-均值算法,从而获得有意义和有说服力的结果。

数据假设

k-均值算法 对数据做出了某些假设:

  • 簇形状: 它假定簇是球形的,并且大小相似。这意味着,如果集群形状复杂或大小差异较大,它的性能可能会不理想。
  • 特征尺度: 它对特征的尺度很敏感。尺度较大的特征会对聚类结果产生较大影响。因此,在应用k-均值算法 之前,对数据进行标准化或归一化非常重要。
  • 异常值: k-均值算法 对异常值(明显偏离常量的数据点)非常敏感。异常值会扭曲聚类中心并影响聚类结果。
我本桀骜少年臣,不信鬼神不信人。
最后更新于 2025-06-15