本节摘要:学习范式按「训练数据里有没有标签、有多少标签」划分。监督学习拟合输入到标注的映射,无监督学习在无标注数据里找结构,半监督学习用少量标注引导大量无标注数据。面试中考的不是定义,而是给你一个业务场景让你论证选哪种、以及自监督这类新范式的归类。
这一节是全书的起点,因为它决定了后面所有问题的问法:范式选错,指标、算法、调优的讨论全部失焦。第 1.2 节讲模型误差从哪来,而范式选择正是误差的第一个来源——无标注却硬做监督,标注有噪却当金标准,都是面试里一追问就露馅的点。
主问题:「说说监督学习和无监督学习的区别。」
这题的开局几乎不可避免,但回答方式直接决定面试官接下来问多深。
划分依据是训练信号的形式:监督学习的每条样本带有标注,模型学习从输入到标注的映射,目标是让预测对齐人工给定的标准;无监督学习只有输入没有标注,目标是发现数据内在的结构,比如聚类找簇、降维找低维表示、关联规则找共现模式。半监督介于两者之间:标注昂贵所以只有少量带标样本,利用大量无标注数据的分布信息来增强学习。
说完定义后加一句场景判断,档次立刻不同:标注成本是选择范式的第一约束——医学影像、法律文书这类标注要专家介入的场景,纯监督经常不现实,这才催生了半监督、弱监督和自监督的工程化应用。
追问:「现在大模型预训练都说自己监督学习,它到底是监督还是无监督?」
面试官在考你有没有跟上范式版图的变化,以及能不能用「训练信号从哪来」这个本质标准去归类新事物,而不是死记三分类。
参考答法:自监督不需要人工标注,但并非没有监督信号——它从数据自身构造监督信号。语言模型预测下一个词,标签就是文本里真实出现的下一个词;对比学习判断两个增广视图是否来自同一样本,正负样本对是构造出来的。所以更准确的说法是:自监督把「无标注数据」转化成了「自动生成标注的监督任务」,训练形式是监督式,标注来源是自动化。归类争议本身就说明传统三分法按「有无人工标注」划分的边界已经松动,面试时点破这一点是加分项。
追问:「我们有一批用户行为日志,只有小部分被运营标注过是否流失,怎么建模?」
这是从定义题跳到方案题,考你能不能把范式选择和标注现实结合起来。推荐的回答结构是先问清楚、再给梯度方案:
易错点:一上来就报算法名(「用XGBoost」)而不问标注情况;把半监督理解成「标注和非标注数据各取一半」;声称自监督「不需要任何标签所以是无监督」,却讲不出伪标签从哪构造出来。
评分要点:定义层说清划分依据(及格);能用标注成本解释范式演进的因果(良好);面对场景题先问数据再给梯度方案,且能说出自监督的信号构造机制(优秀)。只背定义不能场景化的回答,在这一题上通常止步及格线。
同一种数据(鸢尾花特征),监督与无监督的任务目标完全不同:
import pandas as pd from sklearn.cluster import KMeans from sklearn.linear_model import LogisticRegression from sklearn.datasets import load_iris X, y = load_iris(return_X_y=True) # 监督式:用标注 y 学一个映射,目标是"预测新样本的类别" clf = LogisticRegression(max_iter=200).fit(X, y) print("监督任务准确率:", clf.score(X, y)) # 有 y 可评:约 0.97 # 无监督式:完全不用 y,目标是"把结构相似的样本分到一起" km = KMeans(n_clusters=3, n_init=10, random_state=0).fit(X) print("聚类与真实标签的交叉表:") print(pd.crosstab(y, km.labels_)) # 只能事后对照,训练中 y 未参与
注意无监督那段并没有「错误率」可言——没有标注就没有天然的损失锚点,评估要靠轮廓系数这类内部指标或事后的人工解读,这个「评估难」的坑会在第 3 章展开。
| 维度 | 监督 | 无监督 | 半监督 | 自监督 |
|---|---|---|---|---|
| 训练信号 | 人工标注 | 无标注 | 少量标注+大量无标注 | 数据自构造伪标签 |
| 典型任务 | 分类、回归 | 聚类、降维、密度估计 | 罕见病诊断、风控冷启动 | 预训练表示学习 |
| 主要风险 | 标注噪声、成本高 | 无客观评估锚点 | 未标注样本假设不成立 | 伪标签偏差被放大 |
| 面试追问点 | 标注质量怎么保证 | 聚类效果怎么评 | 一致性假设何时失效 | 负样本怎么采样 |
下一节进入所有基础题的数学支点:偏差、方差与过拟合。范式定了之后,模型误差从哪来、能压到哪去,就是必须能白板推导的问题。
问:弱监督和半监督是一回事吗?
不是。半监督特指「少量精标加大量无标」的训练设定;弱监督是更大的伞,包括不精确的标注(图像级标签代替框)、不完整的标注与含噪标注,半监督只是弱监督语境下的一种数据设定。混用这两个词,说明文献读得不够细。
问:无监督学习的评估为什么难,有什么通用思路?
难在没有外部真值锚点,任何内部指标都只度量「你声明的结构是否存在」,不度量「这个结构是否有用」。通用思路是双轨:内部指标(轮廓系数、戴维森堡丁指数)管几何合理性,外部效度靠下游任务表现或业务验证管实用性。把「聚类好不好」转化成「聚类驱动的动作有没有效」,是工程上唯一可靠的裁决方式。
问:迁移学习和这些范式什么关系?
迁移学习回答的是「知识怎么跨任务流动」,不规定源任务怎么学——源任务可以是监督的(ImageNet 分类预训练)、自监督的( masked 语言建模预训练)。面试里把它放在范式讨论的末尾作为总结最合适:范式回答用什么训练信号,迁移回答信号怎么复用,两者正交。
白板自测:对着空气用一句话分别定义四种范式,再各举一个业务例子;超时即回炉。
问:自监督的负样本是什么,为什么重要?
对比学习里负样本提供「什么算不同」的对照信号:没有负样本,模型学会把所有表示缩到一起(坍缩)。负样本的采样策略(批内随机、难例挖掘、队列缓存)直接决定表示质量,这是自监督题往下追的必经站。
问:标签噪声对范式选择有什么影响?
监督范式对标签噪声敏感,噪声会在损失里被认真拟合;无监督与自监督天然绕开人工标注的噪声源。标注质量差的团队,先用自监督学表示、再用小规模精标数据训练头部,往往比硬着头皮清洗全量标注更划算。