监督学习用带标签样本学习输入到输出的映射,典型任务是分类与回归;无监督学习只用无标签数据挖掘内在结构,典型任务是聚类、降维、异常检测;半监督学习介于两者之间,用少量标注数据加大量未标注数据联合训练。
三者的核心区别在于标签的可获得性:标签昂贵而原始数据廉价,半监督正是利用这一现实,常见做法有伪标签、一致性正则化。近年的主流范式是自监督学习——从数据本身构造监督信号(如遮住一个词让模型预测),BERT、GPT 都靠它在海量无标注语料上预训练,再用少量标注数据适配下游任务。
易错点:把聚类当成分类;忽略自监督这一现代主线。追问方向:伪标签如何构造?为什么预训练加微调比从零训练好?
from sklearn.semi_supervised import LabelSpreading
# 未标注样本标签置为 -1,与少量标注样本一起训练
model = LabelSpreading().fit(X, y_partial)