跳转至

P1-8.1 监督学习:输入与标签

Section ID: P1-8.1 Version: v2026.07.20

第 7 章处理了 search spacecomputational limitheuristic。现在要转入学习类型。第一个基准点是 supervised learning

这一节的核心不是算法,而是 label。理解监督学习时,首先必须问清:标签到底指向什么。如果只是含糊地把标签理解成“标准答案”,就很容易忽略更重要的问题,也就是人一开始究竟按什么标准把信息贴在数据上。

在中文语境里,把 label 先理解成更接近“识别标记”通常更安全。它不是在给对象写一段完整定义,而是给对象贴上一个能区分它的标记。labeling 则是给数据贴这种标记的过程。AWS 和 IBM 对数据标注的说明,也都把它解释成:识别原始数据并为其附加或分配标签。这个标记告诉模型应该遵循什么标准,但它本身并不自动等于绝对真理。

所以,这一节的核心问题是:

标签到底在指什么,
模型又是怎样试图去跟随这个标签标准的?

监督学习使用的是同时包含 inputlabel 的例子。模型会被训练成:当新输入到来时,输出也尽量符合标签标准。因此,8.1 这一节真正要盯住的,不是模型内部多复杂,而是数据上附着的标签到底意味着什么、又是按什么标准附着上去的。

监督学习不是死记一串标签名称,
而是在匹配输入和标签之间的关系。

在 Part 1 里,supervised learninglabellabelingtargetclassificationregression 的基本区分会先在这一节固定。inputoutput 的基本区分已在 4.2 处理,trainingprediction 的执行流程已在 5.1 和 5.2 处理。第 7 章又已经整理过搜索和启发式,所以这里可以直接把注意力放在“有标签数据”所建立出来的结构上。

supervised learninglabellabelingtargetclassificationregression 一开始很容易听起来像类似的数据处理词。先把它们的位置简短拆开如下:

术语 极短含义 本节里的作用
supervised learning 从带标签的例子中学习 Chapter 8 的第一个基准点
label 贴在数据上的目标标记 模型试图去匹配的标准
labeling 给数据贴标签的过程 建立学习标准的准备工作
target 模型要去对齐的值 通常与 label 含义接近
classification 预测类别型标签 监督学习的代表形式之一
regression 预测数值型标签 监督学习的另一代表形式

这里至少要保留这样的最小区分:监督学习是带标签的学习标签是目标标记labeling 是建立标准classification 选名字标签regression 预测数字

inputoutput 的基本区分已经在 4.2 固定,training 与 inference 的差别也已经在第 5 章处理。这里是在这些基础上再加一层:带标签的例子是怎样变成训练信号的。

这里先采用一个工作定义:

监督学习,就是利用同时给出输入与标签的例子,
把模型训练成能为新输入预测输出的方法。

用输入与标签建立学习标准的方式

  • 理解标签在监督学习里指示的是什么。
  • 把标签理解成更接近“可识别的标记”,而不是绝对答案。
  • 把 labeling 说明成给数据贴上区分标记的行为。
  • 把监督学习理解成使用同时包含 input 与 label 的例子进行学习。
  • 区分 label、target 与 expected output 的关系。
  • 在入门层面区分 classification 与 regression。
  • 理解“有标签”并不总是等于“有绝对真理”。
  • 为区分监督学习、无监督学习与强化学习做好准备。

三个基准

这里的重点不是监督学习算法,而是理解标签到底是什么。如果下面三点先固定下来,整条说明链就会清楚很多。

基准 为什么重要 本节需要达到的理解程度
监督学习使用同时包含输入和标签的例子 这是它和其他学习类型最基本的边界。 理解过去的例子里会同时带着人贴上的区分标记即可。
把标签读成“识别标记”通常比读成“绝对真相”更准确 这样能减少把标签当成不可质疑答案的误解。 先保留“标签是为了区分案例而贴上的标记”这个感觉。
模型试图把这种标签标准推广到新输入 这可以用一句话概括监督学习的目标。 把它理解成:把过去例子里见过的标准继续应用到新例子上。

标签是告诉模型“往哪里学”的信号

label 是贴在数据上的那个值,它告诉模型:输出应该尽量对齐到哪里。在监督学习里,supervised 并不表示“人每一步都在模型旁边实时指挥”。更准确的意思是:训练数据内部带着标签,而这些标签会充当学习方向的信号。

例如,如果客服句子被贴上 配送退款换货 这些标签,模型就会被训练去拟合“句子”和“标签”之间的关系。如果价格数据里附带了实际成交价,模型就会被训练去拟合“输入条件”和“那个数值标签”之间的关系。

所以,标签不只是一个名字。更准确地说,它是在某个问题定义内部附上的区分标记。从这个角度看,它和我们在更早处见过的 symbol 有一点相似:人会用 配送退款换货 这样的记号去区分不同类型的情况。但 labeling 并不等于 symbolic AI。labeling 是为机器学习准备训练数据的工作。

标签是贴在数据上的区分标记。
labeling 是给数据贴这种标记的过程。
这个标记会被当作模型要去匹配的目标输出。
标签标准决定了模型学习的方向。

监督学习从“带标签的例子”开始

Google 的 Machine Learning Glossary 把 supervised learning 解释成:从输入特征及其对应标签中训练模型。它也说明,labeled example 由一个或多个特征和一个标签组成,这种例子会被用来训练。

在这一阶段,还不需要先深入特征。最重要的结构更简单:

input + label = labeled example

拿客服消息分类来说:

输入 标签
“我想退款。” 退款
“配送什么时候到?” 配送
“商品寄来时是坏的。” 换货
“可以取消付款吗?” 退款

模型看过这些例子后,就会去预测新的句子更适合什么标签:

新输入:“我订的商品怎么还没到?”
模型输出:配送

这里最关键的是:监督学习依赖人事先贴好的标准。没有标签时,同一个问题就必须改用无监督学习或其他方式处理。所以当我们读到监督学习问题时,应该先问标签标准,而不是先问模型类型。

label、target 与 expected output

在监督学习里,label 是模型要去匹配的目标输出。scikit-learn 术语表把 target 解释成:在监督学习和半监督学习中传给估计器 fit 方法的 y,也就是因变量,并把 label 也列为它的另一种叫法。

本书这里采用的工作读法如下:

表达 本节里的含义
label 贴在数据上的区分标记,同时也是目标输出
labeling 给数据贴标签的行为
target 模型试图对齐的值,通常和 label 很接近
expected output 人希望模型给出的输出

在入门说明里,label 常常被直接叫作“答案”。这种说法只能作为初学时的简化比喻,更安全的理解仍然是:它是在某个问题定义和数据收集标准内部被贴上的标记。

例如:

“我想取消付款。”

这句话在不同标签体系下,可能会被贴成不同标签:

标签体系 可能的标签
工作流处理标准 取消
客户意图标准 退款
支付系统分类标准 支付

所以,label 并不是脱离语境悬浮存在的绝对真相,而是在特定问题定义里贴上的区分标记,并被用作监督学习中的目标值。

标签是在问题定义内部贴上的区分标记。
在监督学习里,这个标记会被当成目标输出。
如果问题定义改变,同一个输入的标签也可能改变。

监督学习的基本流程

监督学习的基本流程可以压缩成这样:

收集带标签的例子。
让模型根据输入预测输出。
比较预测和标签之间的差。
朝着差距变小的方向训练模型。
用训练后的模型去预测新输入。

用客服消息来写就是:

阶段 说明
数据准备 收集过去的客服句子和人工贴上的标签
训练 调整模型,使它更好匹配句子和标签之间的关系
预测 新句子到来时输出标签
评估 检查预测是否符合真实业务标准

第 5 章已经说明过,training 是调整模型内部数值的过程。8.1 这一节只是进一步说明:为什么“带标签的数据学习”要被单独称为监督学习。

classification 预测类别型标签

classification 是一种监督学习问题:输入会被分配到一个或多个预定义类别或标签中。关键点在于,这里的标签是类别型的。Google 的术语表也区分了 classification model 和 regression model:前者预测类别,后者预测数值。

客服类型判断就是一个分类问题:

输入 可能标签
“配送太慢了。” 配送
“我想退款。” 退款
“商品损坏了。” 换货

典型的分类输出长这样:

问题 输入 标签
垃圾邮件分类 邮件标题与正文 垃圾、正常
客服消息分类 客服句子 配送、退款、换货、其他
图像分类 图片 猫、狗、汽车
风险检测 交易信息 正常、可疑

regression 预测数值型标签

regression 是另一类监督学习问题:模型根据输入去预测连续数值。这里的标签不是类别名称,而是数字。Google 的术语表也说明 regression model 用于预测数值。

例如:

问题 输入 标签或目标
配送时间预测 地区、距离、下单时间、承运商状态 预计耗时
商品价格预测 商品属性、季节、库存、需求 价格
服务器成本预测 请求数、数据传输量、实例数 月成本
气温预测 时间、地区、气压、湿度 温度

classification 和 regression 都属于监督学习。它们的差别主要在于标签的形状:

区分 标签形态 例子
classification 类别 配送、退款、换货
regression 数字 3.5 小时、12000 元、27.2 度

入门层面的最短总结是:

classification 选的是名字标签;
regression 预测的是数值。

在监督学习里,标签标准本身很重要

在监督学习里,标签就是学习信号。所以,如果标签标准本身不稳定,模型也会不稳定。

labeling 看起来像是在做简单的数据录入,但它实际上是在决定:

什么应该算作同一类?
什么又必须被区分开?

如果不同的人给同一句客服消息贴上不同标签,结果就会变得摇晃:

输入 标签 A 标签 B 问题
“我想取消付款。” 退款 取消 把意图标准和流程标准混在一起
“我想改地址。” 配送 地址变更 标签体系本身重叠
“商品寄来时是坏的。” 换货 不良品 处理方式和原因分类混在一起

这样的数据虽然满足“有标签”,但不一定是好的监督学习数据,因为模型要去拟合的标准本身就不一致。

设计标签时,至少要问这些问题:

标签是否和业务目标一致?
不同的人能否按同一标准贴标签?
标签之间是否互相重叠?
模型真的能仅凭可见输入预测这些标签吗?

如果可能,标签标准也应和数据集说明一起被保留下来。Datasheets for Datasets 的提案就强调:数据集的动机、构成、收集过程和推荐使用方式都应该被文档化。对 8.1 来说,最重要的只是明白:标签标准本身也是数据上下文的一部分。

“有标签”并不自动等于“有真理”

监督学习常被解释成“从有正确答案的数据里学习”。作为入门比喻,这句话可以用,但不能字面化。更谨慎的说法仍然应该是:它是在“从有标签的数据里学习”。

有些标签相对明确:

输入 标签
手写数字图像 0 到 9 中的一个
商品销售记录 实际成交价
配送完成记录 完成或未完成

但很多现实世界标签并不这么简单。它们可能依赖业务约定、人的判断、时间背景或可观察信息的局限:

输入 标签可能摇摆的原因
客户情绪分类 不同的人可能有不同情绪解读
风险交易判断 会随着政策和成本标准改变
有害内容分类 会受到文化、法律和平台政策影响
质量评价 不同评审者可能使用不同标准

Google 的术语表也提醒:人工标注者会犯错,而当真实标签拿不到时,proxy label 必须谨慎选择。

所以在监督学习里,更重要的态度是:

不是因为有标签,就默认真理已经被确定。
而是先检查这个标签是按什么标准做出来的。

监督学习与其他学习类型的边界

8.1 只处理监督学习。先把它和后面两节的边界固定下来会更安全。

学习类型 数据与信号 中心问题 与下一节的关系
监督学习(supervised learning) 输入和标签 这个输入应该预测什么标签? 8.1
无监督学习(unsupervised learning) 无标签数据 数据内部有什么结构? 8.2
强化学习(reinforcement learning) 状态、动作、奖励 什么动作会提高长期奖励? 8.3

deep learning 并不和这张表处在同一层。深度学习是用多层神经网络学习表征的一种方法,它既可以用于监督学习,也可以用于无监督学习和强化学习。

Checklist

  • 我可以把监督学习解释成使用同时包含输入与标签的例子。
  • 我可以区分 label、target 和 expected output 的关系。
  • 我可以说明 classification 选择类别,而 regression 预测数字。
  • 我可以说明标签标准一旦摇摆,监督学习数据也会跟着摇摆。
  • 我可以避免把监督学习、无监督学习、强化学习和深度学习混成同一分类。
  • 我可以把标签理解成问题定义内部的目标标记,而不是自动等于绝对真理。
  • 我可以说明理解监督学习时,应先看标签标准,再看模型本身。
  • 我可以追问标签到底意味着什么、能否按同一标准贴它,以及模型能否只靠输入预测它。

来源与参考资料