← COMP5511 全部讲次
L04a · 第 4 周

L04a 机器学习总览:一张七行表格,讲清监督学习在学什么

机器学习分三类看的是数据:有答案的是监督,没答案的是无监督,自己试出来的是强化。回归和分类只差一个 y 的类型。

一句话版

机器学习就是让程序从数据里自己长出规则,人不再逐条写 if-else。按手里的数据长什么样,它分成三类:每条数据都带着正确答案的叫监督学习,只有数据没有答案的叫无监督学习,答案要自己去环境里试出来的叫强化学习。这一讲没有公式要推,全部时间花在认清这三类,以及监督学习内部的一条分界线:预测一个数叫回归,预测一个类别叫分类。

一个类比:教小孩认水果

想象你要教一个从没见过水果的小孩分辨苹果和橙子。

第一种教法,你端出一筐水果,每个上面贴好了标签,红的圆的写着「苹果」,橙的粗皮的写着「橙子」。小孩看完一筐,你再递给他一个没贴标签的,他能说出是什么。这就是监督学习,那些标签就是监督,筐里的水果是训练数据,没贴标签的那个是测试数据。你真正关心的是他能不能认出新的那个,认对筐里已经贴过标签的没有意义。

第二种教法,你端出一筐水果,什么标签都不贴,让他自己分堆。他可能按颜色分,也可能按大小分,分出的堆不一定叫「苹果」和「橙子」,但确实在数据里找到了结构。这就是无监督学习,课件用了一个词形容它的目标:vaguely-posed,含糊的,因为「分得好」没有标准答案。

第三种教法,你什么都不说,让他随便咬。咬到好吃的给颗糖,咬到难吃的不给。他一开始乱咬,慢慢学会先看颜色再决定咬哪个。这就是强化学习,糖是奖励,咬哪个是动作,眼前的水果是状态,他自己积累的经验就是数据。数据是交互出来的,不是事先给的。

类比在哪里失效:小孩认水果的时候,「好吃」是一个天然的反馈。真实的强化学习里,奖励怎么定义是最难的部分,游戏有分数还好办,让语言模型「回答得好」就没有现成的分数,所以课件最后才要引入 RLHF,先请人来打分,再把打分训练成一个模型。另一个失效点是「分堆」:机器上分几堆是人指定的参数,课件连着两页画了同一组点的两种分法,三堆两堆都成立。

概念卡

三种机器学习范式的并排卡片:监督学习有 (x, y) 对,无监督学习只有 x,强化学习通过状态、动作、奖励与环境交互收集数据

1. 机器学习的定义(Machine Learning)

人话定义:课件只给了一个定义,Arthur Samuel 在 1959 年说的:机器学习是让计算机在不被显式编程的情况下获得学习能力的研究领域。关键词是 without being explicitly programmed。人给数据,规则从数据里长出来。

例子:垃圾邮件过滤。你不用写「含 money 且发件人陌生就是垃圾」这条规则,你给程序几千封标好垃圾或正常的邮件,它自己找到规则。

常见误解

「不被显式编程」不等于没人写代码。学习算法本身是人写的,只是「什么邮件算垃圾」这条判断规则没有人写。考名词解释时写 Samuel 原话,再补「规则由数据决定」一句即可。

2. 监督学习(Supervised Learning)

人话定义:训练数据里每个样本都带着正确答案 y,目标是学一个从 x 到 y 的映射,对将来没见过的 x 也能给出对的 y。课件把 future 这个词标成红色,因为整个监督学习的意义就在「将来」两个字上。

例子:房价预测。x 是房子面积,y 是成交价,训练数据是过去成交的房子,要预测的是一套还没卖的房子。

常见误解

以为监督学习的目标是「把训练数据全部分对」。把每条数据死记硬背就能分对训练数据,但那对新数据没用。这条线到第三份课件会变成过拟合和训练集测试集划分。

3. 特征、标签与监督(Features / Labels / Supervision)

人话定义:一个样本用一组数描述,这组数叫特征 x,它可以是一个数、一个向量,甚至维度高到没法数。样本对应的正确答案叫标签 y。「监督」这个词指的就是 y,有 y 就是监督,没 y 就是无监督。

例子:课件那张垃圾邮件表格,一行是一封邮件,前五列 money、pills、Mr.、bad spelling、known-sender 是 x,最后一列 spam? 是 y。图上用蓝框框住一行的前五列写 example,用红框框住最后一格写 label。

常见误解

把「特征」和「样本」混起来。表格的一行是一个样本,一列是一个特征。特征越多不代表越好,课件的两条规则里 Mr. 和 bad spelling 两列根本没用上。

4. 线性规则与线性可分(Linear Rule / Linearly Separable)

人话定义:线性规则是给每个特征一个权重,加权求和后跟阈值比大小。课件的例子是 2·money + 3·pills − 5·known > 0。线性可分是说正负样本能被一条直线分开,特征多于两个时这条「直线」叫超平面。

例子:一封邮件 money = 1、pills = 0、known = 0,算出来 2 > 0,判垃圾。另一封 money = 1、known = 1,算出来 2 − 5 = −3,判正常。

常见误解

把判据写成大于等于 0。课件写的是严格大于。表格第七行五个特征全是 N,代入得 0,按严格大于判正常,和表格一致;如果写成大于等于就判错了。

5. 回归与分类(Regression / Classification)

人话定义:两者都是监督学习,区别只在 y 的类型。y 是连续数值叫回归,比如房价、明天的气温、股票价格。y 是有限个类别叫分类,比如垃圾或正常、手写数字 0 到 9、晴雨雪。

例子:同一个「天气预测」,课件在分类那页的例子是输出晴雨雪三个图标,在回归那页的例子是输出 72°F。同一个「股票」,预测涨跌是分类,预测具体价格是回归。

常见误解

以为分类只能两类。手写数字识别是十分类,ImageNet 是一千分类。判断标准只看 y 是不是有限个离散值,和几类无关。

6. 无监督学习(Unsupervised Learning)

人话定义:只有 x 没有 y,目标是在数据里找结构。课件直说这个目标是 vaguely-posed,因为「找到的结构对不对」没有标准答案。三个代表:聚类把相似的点分成堆,词向量把词变成向量让语义相近的词离得近,降维把高维数据压到二维方便看。

例子:课件画了一组散点,先按三个椭圆圈成三堆,翻一页又按两个椭圆圈成两堆,两种分法都成立。聚类的堆数是人指定的。

常见误解

以为无监督学习「只是没标签的监督学习」。它解决的是另一类问题:词向量那页从维基百科语料里学出的向量让 king − man + woman 落到 queen 附近,这不是任何监督任务的输出。

7. 强化学习与 RLHF(Reinforcement Learning / RLHF)

人话定义:智能体在状态 s 下做动作 a,环境返回奖励 r 和新状态 s′,智能体根据奖励改进策略。区别于前两类的核心是数据收集方式:数据不是事先给的,是和环境交互出来的,所以课件画成「数据收集」和「训练」两个框互相指的循环。RLHF 是用人类反馈做强化学习,让大语言模型的回答对齐人类偏好。

例子:RLHF 三步。第一步让人对模型的多个回答排序;第二步用这些排序训练一个奖励模型,它学会给回答打分;第三步用奖励模型的分数指导语言模型微调。

常见误解

以为 RLHF 从头到尾都是强化学习。三步里前两步是监督学习,最后一步才是强化学习,这正是课件第 8 页那行小字的意思:按任务分并列,按方法用可以叠在一个系统里。

把它们串起来

课件的顺序是先定义、再分类、再逐类举例,考试的顺序建议反过来记:先记「看 y」这一条判断标准,其余全是它的推论。

有没有 y 决定监督还是无监督,y 是数值还是类别决定回归还是分类,y 是不是自己试出来的决定要不要用强化学习。垃圾邮件表格是这条线的起点:一行是一个 (x, y) 对,五个特征加一个标签,两条规则都能把七行全判对。线性规则那条是第二份课件的入口,把权重换成参数 θ、把「判对多少行」换成一个可求导的代价函数,就是线性回归。而「对将来的数据也要准」这句话是第三份课件的入口,它会变成训练集、测试集、过拟合。

垃圾邮件特征表与线性规则:框出的一行是一个样本,前五列是特征,最后一列是标签,右侧线性规则给特征加权求和后与零比较,右下角一条斜线分开正负样本表示线性可分

应用那二十多页只要求你能归类。图像分类、目标检测、机器翻译、网页排序、推荐系统都是监督学习,因为都有 y,只是 y 的形态不同:类别、框的坐标、译文、排序、评分。聚类、词向量、降维是无监督。RLHF 是三种范式叠在一起。

RLHF 三步流程:监督微调得到初始模型,人对回答排序得到偏好数据,排序训练奖励模型,奖励模型通过 PPO 指导语言模型微调,最后一步才是强化学习

课件里的坑

  • [课件有误] p.37 标题写的是 k-mean clustering,算法名是 k-means,考试答题按 k-means 写。
  • [课件留白] p.12 的两条规则课件只说 reasonable,没有验证。逐行代入七行数据,两条规则全部和 spam? 列一致,其中第七行规则 2 算出 0,靠「严格大于」才判对。这一点课件没提,但最容易出题。
  • [课件留白] p.17 的线性拟合和二次拟合,图上在 x = 800 处读出的预测值一个约 0.6,一个约 0.7。课件没说哪个对,答案是「取决于哪条曲线对新数据更准」,这就是第三份课件的模型选择。
  • [课件留白] p.24 的 in-context learning 放在监督学习标题下,但图上明确写了 no gradient updates are performed。考试如果问「few-shot 属于哪一类」,回答「利用已训练好的监督模型,推理时不更新参数」最稳。
  • [课件留白] p.36 和 p.37 是同一组点的两种聚类,一个三堆一个两堆。课件没说哪个对,因为都对。堆数 k 是人给的。

课后 10 分钟:考点复习

这 10 分钟怎么用:先把必背八条读一遍,重点盯第二条和第七条,那是这一讲最可能出的辨析题。然后做完整例题,自己动手算一遍规则 2 的七行,算错哪一行就回去看概念卡第 4 条。最后做变式题,先不看提示。

必背

  1. Samuel (1959) 的定义:机器学习是让计算机在不被显式编程的情况下获得学习能力的研究领域,关键词 without being explicitly programmed。
  2. 三种范式按数据分:监督学习有 (x, y) 对,无监督学习只有 x,强化学习的数据靠和环境交互收集。
  3. 监督学习的目标是对将来没见过的数据也预测准,把训练数据分对只是手段。
  4. 表格里一行是一个样本:前面各列是特征 x,最后一列 spam? 是标签 y,supervision 指的就是 y。
  5. 线性规则 2·money + 3·pills − 5·known > 0 是给特征加权求和再和阈值比,判据是严格大于 0。
  6. 线性可分指正负样本能被一条直线(高维叫超平面)分开。
  7. 回归和分类的区别只在 y:y 是连续数值叫回归,y 是有限个类别叫分类。
  8. RLHF 三步:收集人类偏好排序、训练奖励模型、用奖励模型指导语言模型微调,前两步都是监督学习,最后一步才是强化学习。

完整例题

题目:下面是课件第 12 页的特征表,Y 记 1、N 记 0。用规则「预测垃圾邮件当且仅当 2·money + 3·pills − 5·known > 0」逐行判断,并和最后一列比较。

行moneypillsMr.bad spellingknownspam?
1YNYYNY
2NNNYYN
3NYNNNY
4YNNNYN
5NNYNYN
6YNNYNY
7NNYNNN

解:规则只用到 money、pills、known 三列,Mr. 和 bad spelling 的权重是 0。

行计算结果大于 0?预测真实
12×1 + 3×0 − 5×02是垃圾垃圾
22×0 + 3×0 − 5×1−5否正常正常
32×0 + 3×1 − 5×03是垃圾垃圾
42×1 + 3×0 − 5×1−3否正常正常
52×0 + 3×0 − 5×1−5否正常正常
62×1 + 3×0 − 5×02是垃圾垃圾
72×0 + 3×0 − 5×00否正常正常

七行全部判对。第七行是关键:算出 0,判据是严格大于 0,所以判正常。如果把判据误写成大于等于 0,这一行就会判成垃圾,和表格矛盾。

结论:这条规则在七封已见过的邮件上全对。能不能对第八封也对,才是监督学习真正关心的问题,课件留给了后面的模型选择。

变式题(先自己做)

变式 1:一封新邮件 money = Y、pills = Y、known = Y、Mr. = N、bad spelling = Y。用规则 1「unknown AND (money OR pills)」和规则 2 分别判断,两条规则结论是否一致?

提示

规则 1 里 unknown 是 known 的否定。先看 known 这一列,再决定要不要看 money 和 pills。规则 2 直接代入三个数。

参考答案与自检(非官方评分标准)

规则 1:known = Y,所以 unknown 为假,整个 AND 为假,判正常。

规则 2:2×1 + 3×1 − 5×1 = 0,不大于 0,判正常。

两条规则一致,都判正常。自检:如果你规则 2 算出 0 后判了垃圾,回去看必背第 5 条的「严格大于」。如果你规则 1 看到 money 和 pills 都是 Y 就判了垃圾,你漏了 AND 前面的 unknown。

变式 2:把下面五个任务归入监督学习的分类、监督学习的回归、无监督学习、强化学习四类之一,并说出判断依据。① 根据房子面积和房间数预测成交价;② 把一万篇新闻按主题自动分组,事先不知道有哪些主题;③ 训练一个程序玩跳棋,赢了加分输了扣分;④ 判断一张 X 光片有没有肺炎;⑤ 给每个用户预测他会给某部电影打几星。

提示

先问每个任务有没有 y。有 y 再问 y 是数还是类别。没有 y 再问数据是给定的还是试出来的。

参考答案与自检(非官方评分标准)

① 回归,y 是成交价,连续数值。② 无监督,没有 y,主题是从数据里找出来的结构,就是聚类。③ 强化学习,没有事先给定的 (x, y),数据靠一局一局下出来,输赢是奖励。④ 分类,y 是「有肺炎」或「没有」两个类别。⑤ 回归,y 是星数,课件把 Netflix 评分预测放在推荐系统里,用 RMSE 衡量误差,说明当成连续值处理。

自检:⑤ 答成分类也说得通,写清楚「按课件 Netflix Prize 用 RMSE 的处理方式归为回归」即可。③ 若答成监督学习,问自己训练数据从哪来,没有人事先标好每一步该怎么走。

闪卡自测

Samuel 定义里的关键短语是什么?

without being explicitly programmed,不被显式编程。

课件第 7 页和第 8 页的三个圈有什么区别?

第 7 页三个圈互不相交,表示按任务分三类是并列的;第 8 页三个圈两两相交,加了一行「也可以看作工具或方法」,表示一个系统里可以叠用。

监督学习的 supervision 指的是什么?

指标签 y。课件原话是 supervision refers to y。

课件里「天气预测」出现了两次,分别属于哪一类?

分类那页输出晴、雨、雪三个图标,是分类;回归那页输出 72°F,是回归。同一个应用,y 的类型不同,归类就不同。

目标检测的 y 是什么,它和图像分类有什么不同?

y 是边界框的坐标。图像分类的 y 是一个类别,检测的 y 既有类别又有坐标,兼具分类和回归的成分。

课件说无监督学习的目标是 vaguely-posed,什么意思?

含糊的、没有明确标准答案的。因为没有 y,「找到的结构好不好」没有唯一标准,同一组点分三堆和分两堆都可以。

词向量为什么算无监督学习?

它只用了一堆文本,没有人标注任何答案,向量是从词的上下文里学出来的。学出来的向量让语义相近的词离得近,king − man + woman 落在 queen 附近。

强化学习的一个循环里出现哪四个记号?

状态 s,动作 a,奖励 r,新状态 s′。智能体在 s 下选 a,环境返回 r 和 s′。

强化学习和监督学习最本质的区别在哪里?

数据收集方式。监督学习的 (x, y) 是事先给定的,强化学习的数据是和环境交互出来的,课件把数据收集和训练画成互相指的循环。

RLHF 三步里哪一步是强化学习?

只有最后一步「用奖励模型指导语言模型微调」是强化学习。收集偏好是人工标注,训练奖励模型是监督学习。

下一讲

下一讲把这一讲的线性规则正式写成假设函数 h(x) = θ₀ + θ₁x,用代价函数衡量它有多准,再用梯度下降把参数调到最准,房价例子从头贯穿到尾。

下一讲 →
L04b L04b 线性回归:三个点、一条线,把机器学习的整套流程走一遍

个人整理的学习笔记,不是官方材料;数字与结论以课件和讲师为准。