承接上一篇分类算法的内容,有监督学习依赖标注数据完成模型训练,但在真实业务场景中,大量数据不存在预先标注的标签。聚类算法作为无监督学习的核心代表,能够基于样本特征的内在相似度自动完成分组,是数据探索、结构挖掘与无标注场景分析的核心工具。本篇围绕聚类算法的基本定义、K-Means 核心原理与聚类效果评估体系展开讲解。
一、聚类算法概述
聚类属于典型的无监督学习范式,其输入仅包含特征维度,不存在人工标注的标签。算法通过度量样本在特征空间中的相似度(通常采用欧氏距离作为度量标准),将相似度高的样本归为同一簇,将差异度大的样本划分至不同簇,实现对数据分布结构的无监督自动挖掘。
在项目落地中,聚类算法通常应用于项目初期的数据探索阶段,用于识别数据的潜在分组结构、发现异常样本、完成用户或物料的自动分层。在通过聚类明确数据的类别边界与分组逻辑后,通常会进一步转化为有监督学习任务,构建精度更高的分类模型。
二、K-Means 聚类原理
K-Means 是最经典、工业界应用最广泛的聚类算法,以簇内样本的特征均值作为簇质心,通过迭代优化的方式最小化簇内误差,最终完成聚类划分。
2.1算法执行流程
K-Means 是典型的迭代收敛型算法,完整执行流程分为六个阶段:
- 确定聚类数量 K:预设最终输出的簇数量,对应生成 K 个簇质心。K 值是算法的核心超参数,其选取直接决定聚类效果,主流选型方法包括基于 SSE 的肘部法与基于轮廓系数的评估法。
- 初始化质心:从样本集中随机选取 K 个样本,作为初始的簇质心。初始质心的选取会影响最终收敛结果,可能导致算法陷入局部最优。
- 样本簇分配:遍历全部样本,计算每个样本到所有质心的距离,按照最近邻原则将样本划分到距离最近的质心对应的簇中。
- 更新簇质心:完成一轮样本分配后,重新计算每个簇的质心,取簇内所有样本各维度特征的算术均值作为新的质心坐标。
- 收敛性判断:对比更新前后的质心位置,若存在差异,则基于新质心重复执行样本分配与质心更新步骤。
- 迭代终止:当新旧质心位置完全一致,或变化量低于预设的收敛阈值时,算法停止迭代,聚类过程完成。
2.2算法特性
K-Means 原理简洁、实现复杂度低,在大规模数据集上具备较高的计算效率,是聚类任务的首选基线算法。其局限性主要体现在:对初始质心选取敏感,易陷入局部最优;对异常值较为敏感;默认簇为球形分布,对非凸形态的簇拟合效果不佳。
三、聚类效果评估指标
无监督场景不存在真实标签作为评估基准,聚类效果的评估围绕「簇内聚合度高、簇间分离度大」的核心原则展开,主流有三类量化评估指标。
3.1 SSE(误差平方和)
SSE(Sum of Squared Errors)即误差平方和,计算所有簇内样本到对应簇质心的距离平方和的总和。该指标直接衡量簇内样本的紧密程度,数值越小,代表簇内样本聚合度越高,聚类的紧凑性越好。
基于 SSE 的肘部法是确定最优 K 值的经典方案:随着 K 值增大,SSE 会持续下降;当 K 达到合理值后,继续增加簇数量带来的 SSE 下降幅度会显著放缓,曲线形成明显的拐点(肘部),该拐点对应的 K 值即为较优的聚类数量。
3.2 CH指数(Calinski-Harabasz Index)
CH 指数也称为方差比准则,通过簇间离散度与簇内离散度的比值衡量聚类效果。簇间距离越大、簇内距离越小,CH 指数的数值越高,代表类别区分度越强、簇内聚合度越高,聚类整体效果越好。该指标计算效率高,适合大规模数据集的聚类评估。
3.3 SC轮廓系数(Silhouette Coefficient)
轮廓系数同时从凝聚度与分离度两个维度,对单个样本的聚类质量进行量化:
- 凝聚度:单个样本与同簇内其他所有样本的平均距离,数值越小代表同簇样本相似度越高;
- 分离度:单个样本与最近邻簇所有样本的平均距离,数值越大代表簇间边界越清晰。
单个样本的轮廓系数取值范围为 [-1, 1],整体数据集的平均轮廓系数越接近 1,代表聚类效果越好;接近 0 说明样本处于簇的边界位置,聚类边界模糊;为负值则代表样本被错误归类。