02 机器学习入门本域第 2 篇
无监督学习
没有答案时,只能让数据自己浮现结构——而「好」的标准要重新定义
定义
无监督学习是在没有标签的数据中寻找结构的范式:它不预测某个正确答案,而是发现数据自身的规律——哪些样本彼此相似(聚类)、数据其实落在多少维上(降维)、整体服从什么分布(密度估计)、哪些样本偏离常态(异常检测)。
直观理解
像把一箱没贴标签的杂货倒在地上,自己按相似度摆上货架:瓶子和瓶子放一起,袋装和袋装放一起。没人告诉你该分几类、每类叫什么,你分出的「类」只有在你赋予它意义之后才成立。这正是无监督最棘手的地方——没有标准答案,「分得好不好」本身就需要重新定义。
降维的几何直觉:把铺在高维空间里的数据压到平面上,尽量保住“谁离谁近”这层关系
降维后的二维投影(如 t-SNE / PCA):数据自发形成若干紧密簇,个别样本落在簇与簇之间的模糊地带
工作原理
- 01
选定表示
先决定用什么特征或嵌入来描述样本。距离度量(欧氏、余弦)在表示确定之前没有意义,因为“相似”完全取决于坐标怎么定。
- 02
定义「结构」的目标
聚类要最小化簇内距离、最大化簇间距离;降维要尽量保留方差或邻域关系;密度估计要最大化数据的似然。目标不同,结果就不同。
- 03
优化与超参数选择
k-means 需要给定簇数 k,t-SNE 需要给定困惑度,PCA 需要给定保留维度。这些“该分几类”的答案没有标签可验,只能靠轮廓系数、肘部法或下游任务间接判断。
- 04
赋予解释
算法只给出分组或坐标,不给出含义。簇被打成什么标签、降维轴代表什么,最终仍需领域知识来解读——这也是无监督结论最难验证的原因。
应用场景
- 客户分群:按行为把用户聚成若干群体以做精准运营
- 数据可视化与探索:用 t-SNE/UMAP 把高维嵌入压到二维观察结构
- 异常检测:在金融欺诈、设备故障、网络入侵中寻找偏离主流的少数样本
- 表示预训练:不靠标签先学特征,再微调给下游任务(自监督的起点)
常见误区
- 聚类结果不是「真类」。k-means 总能给出 k 个簇,哪怕数据本无结构;换一个随机种子或 k,分组就可能面目全非。
- t-SNE/UMAP 的簇间距离不可信。它们擅长保局部邻域,簇与簇之间的远近往往没有意义,不能据此断言“这两类更相似”。
- 没有标签不代表没有偏见。异常检测的“常态”由训练数据定义,若某些群体本就稀缺,它们会被系统性地误判为异常。
关键术语
- 聚类
- 依据相似度把样本分成若干组(k-means、层次聚类)
- 降维
- 把高维数据压到更低的维度并尽量保留结构(PCA、t-SNE、UMAP)
- 密度估计
- 估计数据服从的概率分布
- 异常检测
- 找出与主体分布偏离的少数样本