人工智能导论 第 2 章 · 第二节
课程第 2 章第二节 回归与分类本节四部分回归的定义回归的求解分类的定义二分类与多分类分类的求解本节小结
第 2 章 人工智能数学基础 · 第二节

回归与分类建模

预测一个数,或者判断一个类别
本 节 知 识 点
  1. 142.3 回归与分类建模
  2. 152.3 的四个小节
  3. 162.3.1 回归问题的定义
  4. 172.3.2 回归问题的求解
  5. 182.3.3 分类问题的定义
  6. 19不同类型的分类任务
  7. 202.3.4 分类问题的求解
  8. 21小结与习题
14
第 2 章 · 第二节

2.3 回归与分类建模

机器学习最基本的两类题目:预测一个数,或者判断一个类别。

第 14 页课件

想一想

预测明天的气温,和预测明天会不会下雨,你觉得是同一类问题吗?

15
第 2 章 · 第二节

2.3 的四个小节

两类问题,各自的定义与求解办法。

第 15 页课件

想一想

你能各举一个身边的回归问题和分类问题吗?

16
第 2 章 · 第二节

2.3.1 回归问题的定义

从输入特征学到连续型输出,预测的结果是一个数。

第 16 页课件

关键术语

回归Regression
一类基础的监督学习任务,从输入特征学习到连续型输出的映射关系,用于预测新样本的数值结果。

重 点公式里那个 ε 别忽略

y = f(x; θ) + ε 的最后一项是噪声。它承认一件事:即使模型完全正确,预测也不可能和真实值分毫不差。房子除了面积和卧室数,还受装修、朝向、当天心情影响,这些都被打包进了 ε。

建模的目标不是让 ε 消失,而是把 f 学好,让剩下的 ε 尽量小且没有规律。

打个比方

图上左边那张表就是最典型的回归数据:面积、卧室数是输入,价格是输出。你要学的是“面积每多一平米,价格大概涨多少”。

知道更多右下角蓝框那句是重点

线性回归假设输出是输入特征的线性组合,也就是各项乘个系数再加起来。图上那条直线就是线性模型能画出的全部样子。当真实关系明显弯曲时,一条直线怎么摆都会系统性地偏,这叫系统性偏差。

想一想

用一条直线去拟合图上那些波浪形的点,你觉得误差会出现在哪些位置?

17
第 2 章 · 第二节

2.3.2 回归问题的求解

让预测值和真实值的总差距最小,这就是最小二乘。

第 17 页课件

重 点四步公式逐个读

X 是特征矩阵,一行一个样本,一列一个特征。②θ 是待求的参数向量。③ŷ = Xθ 是模型输出,就是把每个特征乘上对应系数再加起来。

L(θ) = (1/N)‖y − Xθ‖² 是关键。中间 y − Xθ 是“真实值减预测值”,也就是每个样本差了多少。加上平方是为了让正负误差都算作误差且不互相抵消。除以 N 是求平均。整句话就是平均每个样本差多少的平方,称为均方误差。

打个比方

把它想成打靶。每一枪偏离靶心的距离取平方,再对所有枪求平均,就是这个 L。找最优参数,就是调整瞄准方式让这个平均值最小。

为什么取平方而不取绝对值:平方对大偏差惩罚更重,脱靶一米的代价远大于偏一厘米四次,这符合我们的直觉。

知道更多图上那个例子

拟合出的直线是 ŷ = 2.00 + 1.33x,均方误差 1.46。2.00 是截距,x 为零时的基准值。1.33 是斜率,x 每增加 1,预测值增加 1.33。这两个数就是这个模型全部的参数。

想一想

如果有一个样本偏得特别离谱,它对均方误差的影响是大还是小?

18
第 2 章 · 第二节

2.3.3 分类问题的定义

从输入特征学到离散类别,预测的结果是一个标签。

第 18 页课件

重 点这个记号读作什么

pθ(yi | xi) 读作:在给定输入 x 的条件下,它属于类别 y 的概率是多少。竖线读作“在什么条件下”。

注意分类模型的输出不是一个类别,而是一组概率。是猫的概率 0.7,是狗的概率 0.2,是鹿的概率 0.1。最后报哪一个,是拿到概率之后再做的选择。

关键术语

二分类Binary Classification
输出空间只有两个取值,写作 Y = {0, 1}。
多分类Multi-class Classification
输出空间有 K 个取值,写作 Y = {1, ..., K}。

打个比方

图上给了两个例子。左边手写数字识别,K 等于 10,因为有 0 到 9 十个类别。右边垃圾邮件分类,K 等于 2,只有正常和垃圾两类。

K 是几,取决于你想让机器分出多少类,这是做题之前人定的。

想一想

模型说“是猫的概率 0.51,是狗的概率 0.49”,你会怎么报答案?

19
第 2 章 · 第二节

不同类型的分类任务

两类任务的区别,集中在把分数变成概率的那一步。

第 19 页课件

关键术语

Sigmoid 函数Sigmoid
把任意一个实数压缩到 0 到 1 之间,用作“属于正类”的概率。
Softmax 函数Softmax
把一组实数变成一组加起来等于 1 的概率,用于多个类别之间的分配。

重 点看表格的第二行就够了

模型先算出一个原始分数 g,这个数可正可负、可大可小,不能直接当概率用。

二分类用 Sigmoid:σ(g) = 1 / (1 + e−g)。g 很大时结果接近 1,很小时接近 0,g 为零时正好 0.5。多分类用 Softmax:先把每个分数取指数变成正数,再除以所有指数之和。除法保证了这一组数加起来正好是 1。

打个比方

Sigmoid 像一个把任意长度压进 0 到 1 这把尺子的装置,长的压到接近 1,短的压到接近 0。

Softmax 像分蛋糕。三个类别各拿到一个分数,先都变成正数,再按比例分配同一个蛋糕。谁的分数高谁分得多,但总量恒定为一整个。

知道更多最后一行那两张图

画的是决策边界,也就是模型把特征空间切开的那条线。二分类切成两块,多分类切成多块。模型学到的东西,从几何上看就是这些边界的位置和形状。

想一想

Softmax 出来的三个概率必然加起来等于 1,这是好事还是限制?

20
第 2 章 · 第二节

2.3.4 分类问题的求解

让模型给正确答案的概率尽量大,这就是极大似然估计。

第 20 页课件

关键术语

极大似然估计Maximum Likelihood Estimation
“”在所有可能的参数里,挑出那一组让“观察到当前这批数据”这件事变得最可能的参数。

重 点为什么要取对数

似然函数是一长串连乘:把每个样本的正确类别概率乘在一起。问题在于概率都小于 1,几万个小于 1 的数相乘,结果会小到计算机存不下,这叫数值下溢。

取对数之后,连乘变成连加,数值就稳住了。而且对数是单调递增的,最大化原式和最大化对数式的答案完全一样。这就是页面上红字那句话的意思。

重 点最后那个红圈很关键

把最大化对数似然写成最小化它的负数,得到的式子在数学形式上完全等价于交叉熵。也就是说,“让正确答案的概率最大”和“让交叉熵损失最小”是同一件事的两种说法。

打个比方

取对数这个技巧和算复利一样。要算连续三十年每年增长百分之几的总结果,直接连乘容易算错也难比较。取对数之后变成加法,一眼就能看出哪个方案更好。

对数把“乘”变成“加”,这是它在数学里最常被用到的一个本事。

想一想你觉得 0.9 的一百次方大概是多少

估一下,再想想为什么连乘需要取对数。

21
第 2 章 · 第二节

小结与习题

回归用均方误差,分类用交叉熵,这是两条最常走的路。

第 21 页课件

重 点

回归任务预测连续数值,核心目标函数是均方误差,线性回归可以通过正规方程获得解析解。分类任务预测离散类别,本质是对条件概率分布的建模,目标函数用极大似然估计来求解。

知道更多为什么损失函数不能混用

均方误差衡量的是“差了多少”,适合数值。交叉熵衡量的是“概率给得对不对”,适合类别。用均方误差去做分类不是不能跑,而是它对“把猫判成狗”和“把猫判成鹿”给出同样的惩罚,这显然不合理。

想一想

预测一个学生的分数,和预测他能不能及格,你会分别用哪个损失函数?

保山学院·人工智能教研室·曹鼎鼎