监督学习
从「输入 + 目标」样本中学习,并在未见数据上做出可靠预测
Supervised Learning · 有监督学习
- 是什么——「监督」到底来自哪里,标签为什么不一定等于绝对真相。
- 两类任务——分类和回归的区别,答案分别长什么样。
- 学习在学什么——抽象地说,训练就是在做一件什么事。
- 成败标准——为什么「训练集全做对」不算成功。
- 它的短板——标注这个瓶颈,怎样催生了无监督、自监督。
- 今天的位置——大模型时代,为什么还离不开它。
1什么是监督学习直觉
本节回答:想让机器「学」一件事,最直接的办法是什么?
最直接的办法,和拿例题教人总结规律有些相似:给模型许多输入与对应目标,让预测逐步贴近这些目标。这里记录的目标值叫标签(label);「监督」指训练时每个输入都有一个可比较的目标信号,而不是有老师在旁边实时观看。
因此,监督学习可以理解为利用“输入—目标”样本学习预测规则。它要解决的是:面对一封训练时没见过的新邮件,怎样依据过去样本给出可检验的判断。训练时的输入是邮件内容与对应标签,输出是一个能够对新邮件产生类别或数值预测的模型。
| 要素 | 在垃圾邮件例子里 |
|---|---|
| 输入 x(特征) | 一封邮件的内容 |
| 标签 y(训练目标) | 数据中记录的「垃圾」或「正常」 |
| 训练集 | 几万条「邮件 → 标签」样本 |
| 目标 | 学一个规则,对没标注过的新邮件也判得准 |
它的基本过程是先让模型预测训练样本,再把预测与标签比较,然后根据误差调整规则并重复。模型对新邮件给出“垃圾概率 0.8”,表示它在当前规则下更偏向垃圾类别,不能证明标签绝对正确,也不能保证换到另一种邮件来源仍然可靠。
2两种任务:分类与回归直觉数学
上一节的标签是「垃圾/正常」。但答案不总是这种「几选一」。答案长什么样,把监督学习分成两大类。
| 任务 | 答案是什么 | 例子 |
|---|---|---|
| 分类 | 离散的类别(几选一) | 垃圾/正常、猫/狗/鸟、好评/差评 |
| 回归 | 连续的数值 | 房价、明天气温、商品销量 |
分类与回归描述的是监督学习输出的两种基本形态,用来避免把类别、概率和连续数值混用。
给定样本特征和训练目标,分类输出类别或各类别概率,回归输出一个连续数值。训练时都先产生预测,再用与任务匹配的损失比较预测和目标,最后调整模型。
3「学习」到底在学什么数学
分类、回归看着不同,但抽象成数学,训练在做的是同一件事。是什么?
把要学的规则看成一个带参数的函数 f_θ:喂进输入 x,吐出预测 f_θ(x)。其中 θ 是模型要学习的参数集合,n 是训练样本总数,i 是样本编号,xᵢ 和 yᵢ 分别是第 i 个样本的输入与标签。学习,就是寻找一组参数 θ,让模型在训练样本上的平均错误尽量小:
L 是损失函数,把一次预测与标签之间的不一致变成数字;这里先理解它的作用,具体损失见 1.2,参数怎样更新见 1.3「梯度下降」。
这里的“学习”指的是从候选参数中寻找平均损失较小的一组。输入是训练样本、当前参数和损失规则,输出是更新后的参数以及由它们确定的预测函数。训练先用当前参数计算预测,再计算每个样本的损失,然后汇总批平均并更新参数;重复多批以后,再用独立数据判断规则是否真的改善。
3.1 手算一个二分类批次
先统一符号:令 y=1 表示垃圾邮件、y=0 表示正常邮件;模型始终输出同一个量 p=P(y=1|x),也就是「这封邮件是垃圾邮件」的概率。现在看一个只有两封邮件的小批次:
- 第一封实际是垃圾邮件(
y=1),模型输出p=0.80,所以它给真实类别的概率是q=0.80。 - 第二封实际是正常邮件(
y=0),模型输出p=0.30;正常邮件的概率是1-p,所以真实类别概率q=0.70。
二分类交叉熵写成完整形式是:
当 y=1 时,第二项变成 0,损失是 −ln(p);当 y=0 时,第一项变成 0,损失是 −ln(1−p)。换句话说,两种情况都可以统一写成 −ln(q),其中 q 是模型分给真实类别的概率。
| 样本 | 模型输出 p:垃圾概率 | 真实类别概率 q | 损失 −ln(q) |
|---|---|---|---|
| 垃圾邮件,y=1 | 0.80 | q=p=0.80 | 0.223 |
| 正常邮件,y=0 | 0.30 | q=1−p=0.70 | 0.357 |
| 批平均 | — | — | (0.223+0.357)/2=0.290 |
q 越接近 1,−ln(q) 越接近 0;给真实类别的概率越小,惩罚增长得越快。例如 q=0.9 时损失约为 0.105,q=0.1 时损失约为 2.303。它会特别惩罚「非常自信却判断错」的预测,同时又是连续、便于优化的函数。平均损失下降表示模型在当前样本和损失定义下更贴近标签,但不等于每个样本都预测正确,也不自动说明它能泛化。参数更新方法因模型而异;本节的二分类小批次只解释“概率怎样变成损失”,不能替代后续的梯度推导或测试集验收。
4成败标准:不是背,是泛化直觉工程
既然训练是「让预测贴近标签」,那把训练集的标签全预测对,是不是就成功了?
所以标准做法是把数据分成三份,各司其职:
4.1 指标必须对应错误代价
假设 10,000 封邮件里只有 100 封垃圾邮件。一个把所有邮件都判成「正常」的模型,准确率仍有 99%,但它漏掉了全部垃圾邮件。因此验收不能只问「总体对了多少」,还要分别看:
| 指标 | 在垃圾邮件任务里回答什么 | 主要风险 |
|---|---|---|
| 精确率 Precision | 被拦下的邮件里,有多少真是垃圾邮件? | 低精确率会误杀正常邮件 |
| 召回率 Recall | 所有垃圾邮件里,有多少被成功拦下? | 低召回率会漏掉垃圾邮件 |
| 分场景切片 | 新发件人、不同语言、钓鱼邮件是否都可靠? | 总体均值会遮住关键子群失败 |
模型输出的是概率,最终分成「垃圾/正常」还需要选择阈值。阈值越低,通常拦得更多、误杀也更多;真正合适的阈值取决于两类错误的业务代价。
泛化评估描述的是模型在未参与训练和选择的数据上是否仍然有效,它解决训练成绩无法代表真实使用效果的问题。
评估的输入是冻结的模型、独立样本及其目标,输出是损失、精确率、召回率和业务切片等验收证据。具体做法:先用训练集拟合参数,再用验证集选择方案,最后只在方案冻结后使用测试集。
验证误差开始上升而训练误差继续下降,说明模型更像在记忆训练细节。但一次测试高分仍受样本代表性、时间变化和数据泄漏影响,不能证明所有未来场景都可靠。
5监督的代价:标注瓶颈工程
这么直接有效的办法,短板在哪?答案就藏在「监督」这两个字里。
监督学习的燃料是带目标值的数据。目标可能来自人工标注,也可能来自交易结果、传感器测量、用户行为或规则系统。真正困难的不是只把标签数量堆大,而是获得与真实目标一致、覆盖部署场景、质量可核验的数据:
- 贵、慢:大规模标注是巨量人力,很多领域还得请专家(医学影像、法律)。
- 目标可能是代理:点击不一定等于喜欢,历史审批结果也可能复制旧偏差。
- 有噪声和歧义:有些任务人自己都难标一致,自动日志也可能记录错误。
- 分布会变化:训练邮件来自过去,而攻击方式、用户和语言会持续变化。
“标注瓶颈”记录的是可靠目标信号在成本、质量和覆盖上的限制,用来判断一个监督方案能否支撑真实部署。
评估时输入标注来源、抽样范围、一致性结果和部署场景,输出可用标签规模、噪声切片、覆盖缺口与继续采集的优先级。
做法不是只统计标签总数,而是先抽样复核标注一致性,再比较不同人群、时间和来源的覆盖,随后检查标签与真正业务目标是否一致。高一致率表示标注规则较稳定,不表示目标本身没有偏差;自动日志便宜也不代表可信,领域专家复核则更准确但可能昂贵且缓慢。
6它不是唯一范式:四种学法直觉
如果没有外部提供的目标值,机器还能从什么信号中学习?把监督学习放进更大的地图里看。
| 范式 | 靠什么学 | 典型任务 |
|---|---|---|
| 监督学习 | 带标签的样本 | 分类、回归 |
| 无监督学习 | 无标签,自己找结构 | 聚类(自动分组)、降维(用少数坐标概括多个特征,便于压缩或观察) |
| 自监督学习 | 无需人工标注,用数据本身构造答案 | 大模型预训练(预测下一个词) |
| 强化学习 | 在环境里试错,靠奖励信号 | 下棋、机器人、对齐里的 RLHF |
这张比较表描述的是训练信号从哪里来、学习后产出什么,用于在没有人工标签时选择合适范式。
输入是任务可获得的数据、反馈方式和交互条件,输出是对监督、无监督、自监督或强化学习路线的选择,以及对应的模型、结构表示或策略。
判断时先看是否有外部目标值,再看数据能否自行构造目标,最后看问题是否需要通过行动获得延迟奖励。分类结果说明主要监督来源,不表示算法只能属于一个传统类别;自监督在计算形式上可像监督训练,RLHF 也会混合监督微调、奖励模型和强化学习,因此边界允许组合。
7大模型时代,它还重要吗工程综合
既然大模型靠自监督预训练,那还学监督学习干嘛?
因为它是整座大厦的通用语言,在今天依然处处都在:
- 把基座变助手:指令微调(SFT)就是监督学习——「指令」是输入,「理想回答」是标签(见「微调」深读页)。
- 大量下游任务:垂直领域的分类、打分、抽取,很多仍是标好数据做监督学习最省最稳。
- 评测思想:带参考答案的评测集沿用了留出测试的思想;但用数据集评测模型,不等于模型在该数据集上做过监督训练。
大模型时代的监督学习角色,可以理解为用高质量目标信号约束通用模型的具体行为。它解决的是预训练能力很广却未必按任务要求作答的问题。
输入可以是指令与理想回答、领域样本与标签,输出是经过监督微调的模型或面向具体任务的预测器。
应用时先定义希望模型表现出的行为,再收集有代表性的输入—目标对,然后最小化预测与目标之间的损失,并在独立切片上验收。下游分数提高说明模型更适合当前目标和分布,不能推出基础知识全面增加;示范数据狭窄、标签带偏或部署任务变化时,监督适配仍会失效。
8把整条因果链连起来综合
从输入与目标配对的样本到未知样本上的可靠预测,证据链怎样逐步建立?
- 给模型「输入 + 目标值」样本,让它学习从输入到输出的规则——这就是监督学习。目标值可能有噪声,所以数据质量也是机制的一部分。(§1)
- 答案离散就是分类,连续就是回归。(§2)
- 抽象地看,训练 = 调参数让「预测」贴近「标签」,即最小化损失。(§3)
- 成功的标准不是背下训练集,而是在没见过的数据上准(泛化),故要分训练/验证/测试。(§4)
- 它需要与输入配对的目标值,来源可以是人工标注,也可以是交易结果、传感器测量等观测记录。瓶颈在于监督信号的成本、质量、目标一致性与场景覆盖,不能只归结为人工标注。(§5)
- 比较其他范式,要分别看信号来源与学习目标:无监督学习从无标签数据中寻找结构;自监督学习从数据自身构造目标,减少对人工标签的依赖,支持大规模预训练;强化学习则根据行动带来的奖励学习序贯决策。这些差异不意味着三者都为绕开标注瓶颈而出现。(§6)
- 大模型时代它没被取代,而是转去校准行为(SFT)、适配下游、做评测。(§7)
9常见误解直觉
本节只做消歧:哪些说法听起来合理,却会直接导致错误的数据、训练或验收决策?
| 误解 | 更准确的理解 |
|---|---|
| 监督学习 = 神经网络 | 它是一种训练方式;神经网络、决策树、SVM 都能用它来训 |
| 训练集准了就成功了 | 目标是泛化到新数据;训练集满分可能只是过拟合 |
| 标签就是客观真相 | 标签是训练目标,可能有噪声、分歧或只是业务代理 |
| 数据越多一定越好 | 数据的质量、代表性和目标一致性不能由数量替代 |
| 大模型时代它过时了 | 预训练大量使用自监督;SFT 和许多下游适配仍用监督学习,评测则借鉴留出测试原则 |
| 自监督只是把人工标签自动生成 | 它从数据结构构造监督信号;计算形式可能像监督训练,但范式归类与学习目标更复杂 |
10检查你是否真的理解自测
题目从定义逐步走向真实验收;每道场景题都只使用本页已经建立的概念。
- 「监督」来自哪里?为什么标签不一定等于客观真相?
- 分类和回归的根本区别是什么?各举一例。
- 用一句话说清:抽象地看,监督学习的训练在做什么?
- 为什么「训练集全预测对」不代表模型成功?该怎么正确评估?
- 监督学习的数据瓶颈不只是“人工标注贵”。还包括哪些问题?
- 自监督与监督学习在计算形式和监督信号来源上分别有什么联系与区别?
- 大模型时代,监督学习还在哪些环节发挥作用?
- 10,000 封邮件中只有 100 封垃圾邮件。模型全部预测为正常,准确率是多少?为什么这个结果不能说明模型有效?
- 你发现同一封邮件的复制版本同时出现在训练集和测试集。测试分数为什么会虚高?应该怎样重新划分?
- 请为垃圾邮件模型设计三个验收切片,并为每个切片说明要观察的错误或指标。
参考答案
- 监督来自训练样本中与输入配对的目标值;标签用于计算损失和调整模型,但可能包含误标、主观分歧、测量误差或代理偏差,因此不天然等于客观真相。
- 答案是离散类别就是分类(垃圾/正常),是连续数值就是回归(房价)。
- 调整模型参数,使它对训练样本的预测尽量贴近标签,即最小化损失。
- 因为参数够多时可能背下训练集却不能泛化;应使用验证集选择模型与超参,在方案冻结后再用未参与选择的测试集验收。测试结果若用于继续修改,之后还需要新的独立测试数据。
- 还包括标签噪声与歧义、目标只是业务代理、数据覆盖不足,以及训练分布与部署分布随时间发生偏移。自监督、无监督、半监督和弱监督等方法都在不同角度减少对高质量人工标签的依赖。
- 计算形式上,两者都可能构造输入、目标并最小化损失;区别在于普通监督学习使用外部提供的目标,自监督从数据自身结构构造监督信号。它让大模型能利用海量未人工标注的数据进行预训练。
- 典型环节包括用示范数据做监督微调(SFT),用领域标签适配分类、抽取或打分任务。带参考答案的评测借鉴监督学习的留出测试原则,但评测本身不等于训练。
- 准确率是 99%,因为 9,900 封正常邮件都被预测正确;但 100 封垃圾邮件全部漏掉,垃圾邮件召回率为 0%。应同时报告垃圾邮件召回率、被拦邮件的精确率,并根据误杀与漏检的代价选择阈值。
- 复制样本让测试集不再代表未见数据,模型可能靠记忆得到虚高分数。应先按原始邮件或邮件线程去重,再以邮件来源、线程或时间为分组单位划分,确保同源变体只落在一个集合中。
- 可以设计:①按真实类别切片,分别看垃圾邮件召回率和正常邮件误杀率;②按来源与语言切片,检查新发件人、不同域名和不同语言上的精确率/召回率;③按时间切片,用较新的邮件检验攻击方式变化后的性能。高风险钓鱼邮件漏检率应设置独立上限,不能由普通邮件的高准确率抵消。
11概念依赖与延伸学习路线
作为官方路径第 1 页,哪些内容现在必须掌握,哪些只需先见过、留到后续节点展开?
| 学习层级 | 涉及概念 |
|---|---|
| 进入本页前 | 只需要知道函数表示「输入经过规则得到输出」;向量可暂时理解为一组数字 |
| 本页核心 | 标签、分类与回归、泛化、训练/验证/测试、四种学习范式 |
| 下一步 | 信息论、损失函数、梯度下降;本页的交叉熵与参数更新将在这些节点正式展开 |
| 紧邻延伸 | 过拟合、正则化、无监督学习、强化学习;自监督学习将在模型架构阶段继续展开 |
| 更远 | 预训练、微调与指令微调、大语言模型、评测 |
- Deep Learning, Chapter 5: Machine Learning Basics:监督学习、经验风险、泛化以及训练/验证/测试边界。
- The Elements of Statistical Learning:分类、回归、模型选择与统计学习框架。
- Stanford CS229 Lecture Notes:输入—目标、假设函数、分类/回归与损失优化。
- Learning from Noisy Labels with Deep Neural Networks: A Survey:标签噪声如何影响泛化及其评测边界。
- A Survey on Self-supervised Learning:自监督信号来源及其与无监督学习的分类关系。
- Training Language Models to Follow Instructions with Human Feedback:大模型监督微调与后续强化学习阶段的实例。