一、无监督学习中的经典聚类算法------K-Means
- 目的:在没有标签的情况下,把"相似样本"自动分到同一组,用于数据探索、分群、压缩、异常检测等场景
二、核心概念
-
聚类(Clustering)
-- 无监督:没有 y 标签
-- 目标:高内聚、低耦合
-
难点
-- 如何评估好坏?
-- 如何选取参数(主要是 K)?
三、距离度量(先选"像不像"的尺子)
-
欧式距离(L2):多维直线距离,最常用
-
曼哈顿距离(L1):坐标轴绝对轴距之和,适合高维稀疏
四、K-Means 算法流程("三步走")
-
随机选 K 个初始中心
-
分配:每个样本→距其最近的中心所属簇
-
更新:重新计算各簇中心(均值)
循环 2-3 步直到中心不再移动或达到 max_iter
五、评估指标
-
SSE(类内平方和):越小越紧凑
-
CH 指数:同时衡量类内紧密度与类间分离度,越大越好
-
轮廓系数(Silhouette):[-1,1],>0.5 通常可接受
六、优缺点速记
优点:
✓ 原理简单、实现容易、速度快、可并行
缺点:
✗ K 值需事先给定
✗ 对初值敏感(随机初始中心)
✗ 只能发现"球形"簇,对任意形状、密度差异大数据表现差
✗ 对异常值/噪声敏感
七、关键超参数
-
n_clusters(K):簇的数量
-
max_iter:最大迭代次数
-
n_init:随机运行次数,取最好结果
-
random_state:随机种子,复现实验