无监督学习核心 20% — 没有标签,怎么知道做得对不对

一句话:无监督学习的真正难点不是算法,而是没有正确答案时如何验收。先定义”结果好用来做什么”(分群运营?降维可视化?发现异常?),算法选择与验证方式就都清楚了。


🎯 这 20% 能解决哪些问题

常见困惑本质本页答案
K-Means、DBSCAN、层次聚类怎么选簇形状与是否需指定 k见「聚类三选一」
聚出的类别业务看不懂只做了数值聚类没做解释见「让聚类可用」
t-SNE 图上分得很开,是不是能分类降维可视化 ≠ 可分性见「降维的两种用途」
异常检测没有标签怎么评需要替代验证方式见「异常检测四种思路」
用什么指标评聚类内部指标与人感不一致见「无标签评估」

一、聚类三选一

graph LR
    A["K-Means<br/>球形簇,需指定 k"] --> B["层次聚类<br/>树状结构,小数据"]
    B --> C["DBSCAN/HDBSCAN<br/>任意形状,自动定簇数"]
    A --> D["GMM<br/>软分配,概率输出"]
算法需要 k簇形状适合
K-Means是球形、等大小大样本、快速基线
GMM是椭圆、可重叠需要概率归属
层次聚类否任意(取决于连接)样本 < 万级、要树结构
DBSCAN/HDBSCAN否(需 eps)任意、含噪声有离群点、形状不规则

选 k 的三个方法:肘部法、轮廓系数、业务可解释性(这一条往往最重要——分 8 群但只能运营 3 个,就该取 3)。


二、让聚类可用

问题做法
数值尺度差异大先标准化(K-Means 对尺度极敏感)
高维失效先 PCA 降维或选 10–20 个业务特征
类别特征用 K-Modes / Gower 距离 / 嵌入后聚类
结果不可解释对每簇算特征均值与差异度,命名成”人群画像”
结果不稳定多次随机初始化、换随机种子看稳定性

三、降维的两种用途

用途合适方法禁忌
特征压缩/去噪(喂给下游模型)PCA、SVD、自编码器不要用 t-SNE/UMAP 做特征(不稳定、不可逆)
可视化探索t-SNE、UMAP不要用图上距离下结论

三个误用:

  1. 把 t-SNE 的簇间距当相似度——它只保留局部邻域,全局距离无意义。
  2. 每次跑 t-SNE 结果不同,就认为数据不稳定——是算法随机性。
  3. 用 PCA 解释”重要性”却不看解释方差比——前三主成分可能只占 30%。

四、异常检测四种思路

思路方法适用
距离/密度KNN、LOF低维、样本中等
边界One-Class SVM、SVDD需明确”正常”边界
集成孤立森林高维、大样本、通用首选
重构误差自编码器、PCA 残差时序、图像
时序预测预测区间外的点监控指标、传感器

验证方式(没标签时):

  • 人工抽检 Top-100 异常,统计”真异常比例”(精度视角);
  • 注入合成异常,看能否召回;
  • 与业务事件(故障、投诉)做时间对齐,看命中率。

五、无标签评估

指标衡量局限
轮廓系数簇内紧、簇间远偏好凸簇,DBSCAN 不适用
Calinski-Harabasz方差比同样偏好球形
稳定性(重采样一致率)结果可复现性计算成本
业务指标分群后转化/留存差异需 A/B,滞后

务实原则:内部指标用于同一算法的参数选择,跨算法比较一律靠”业务可解释性 + 下游任务效果”。


六、典型落地路径

场景路径
用户分群行为特征 → 标准化 → 降维 → 聚类 → 画像命名 → 运营验证
商品分组文本/图像嵌入 → 降维 → 聚类 → 人工审校
异常监控指标序列 → 预测模型 → 残差超阈值告警
冷启动推荐内容嵌入 → 相似度检索 → 人工规则兜底

📋 一页速查

问题答案
聚类第一步标准化特征
k 怎么定业务可运营的群数优先
有离群点选什么DBSCAN / 孤立森林
可视化用什么t-SNE / UMAP(不能当特征)
特征压缩用什么PCA / 自编码器
无标签怎么验收抽检精度 + 注入异常 + 业务对齐

🔗 相关链接

主题链接
机器学习概览机器学习
监督学习监督学习核心 20%
模型评估模型评估核心 20%
深度学习深度学习核心 20%
推荐系统推荐系统