模式识别与机器学习 - xpzhang.mexpzhang.me/teach/me19_spring/slide04.pdf · 引言...

112
模式识别与机器学习 分类的线性模型 张晓平 武汉大学数学与统计学院

Upload: others

Post on 20-Jan-2021

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

模式识别与机器学习分类的线性模型

张晓平

武汉大学数学与统计学院

Page 2: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

Table of contents

1. 引言

2. 判别函数 (discriminant function)

二分类问题

多分类问题 (K > 2)

最小二乘法

Fisher 线性判别函数二分类的 Fisher 线性判别函数

与最小二乘法的关系

多分类的 Fisher 判别函数

3. 概率判别式模型

logistic 回归 (logistic regression)

softmax 回归

1

Page 3: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

Page 4: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

分类

把输入变量 x 分到 K 个类别 Ck 中的某一类。

• 将输入空间划分为不同的决策区域 (decision region),其边界称为决策边界 (decision boundary)或决策面 (decisionsurface)。

• 分类线性模型:决策面是输入变量 x 的线性函数,被定义为D 维输入空间中的 D − 1 维超平面。

• 若数据集可被线性决策面精确地分类,则称该数据集是线性可分 (linearly separable)的。

2

Page 5: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

目标向量 t 通常表示类别标签,有不同的表达方式。

• 对于二分类问题,通常使用二元表示法。此时,目标变量t ∈ {0, 1},其中 t = 1 表示类别 C1,t = 0 表示类别 C2。

t 可看做是分类结果为 C1 的概率,它取极端值 0 或 1。

• 对于多分类问题 (K > 2),通常使用“1-of-K”编码 (也称 one hotencoding)。此时,t ∈ RK,如果其类别为 Cj,则

t = ej = (0, · · · , 1, · · · , 0)T ∈ RK

tk 可看做是分类结果为 Ck 的概率。

3

Page 6: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

目标向量 t 通常表示类别标签,有不同的表达方式。

• 对于二分类问题,通常使用二元表示法。此时,目标变量t ∈ {0, 1},其中 t = 1 表示类别 C1,t = 0 表示类别 C2。

t 可看做是分类结果为 C1 的概率,它取极端值 0 或 1。

• 对于多分类问题 (K > 2),通常使用“1-of-K”编码 (也称 one hotencoding)。此时,t ∈ RK,如果其类别为 Cj,则

t = ej = (0, · · · , 1, · · · , 0)T ∈ RK

tk 可看做是分类结果为 Ck 的概率。

3

Page 7: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

分类问题的三种方法

• 构造判别函数 (discriminant function),直接把 x 分到对应的类别中。

• 在推理阶段对条件概率分布 p(Ck | x) 建模,然后使用它进行最优决策。

p(Ck | x) 的确定有两种方式:

• 直接对 p(Ck | x) 建模:将 p(Ck | x) 表示为参数模型,然后使用训练集来优化参数;

• 生成式的方法:对类条件概率密度 p(x | Ck) 和类的先验概率分布p(Ck) 建模,然后使用贝叶斯公式计算后验概率分布

p(Ck | x) = p(x | Ck)p(Ck)

p(x) (1)

4

Page 8: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

分类问题的三种方法

• 构造判别函数 (discriminant function),直接把 x 分到对应的类别中。

• 在推理阶段对条件概率分布 p(Ck | x) 建模,然后使用它进行最优决策。

p(Ck | x) 的确定有两种方式:

• 直接对 p(Ck | x) 建模:将 p(Ck | x) 表示为参数模型,然后使用训练集来优化参数;

• 生成式的方法:对类条件概率密度 p(x | Ck) 和类的先验概率分布p(Ck) 建模,然后使用贝叶斯公式计算后验概率分布

p(Ck | x) = p(x | Ck)p(Ck)

p(x) (1)

4

Page 9: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

分类问题的三种方法

• 构造判别函数 (discriminant function),直接把 x 分到对应的类别中。

• 在推理阶段对条件概率分布 p(Ck | x) 建模,然后使用它进行最优决策。

p(Ck | x) 的确定有两种方式:

• 直接对 p(Ck | x) 建模:将 p(Ck | x) 表示为参数模型,然后使用训练集来优化参数;

• 生成式的方法:对类条件概率密度 p(x | Ck) 和类的先验概率分布p(Ck) 建模,然后使用贝叶斯公式计算后验概率分布

p(Ck | x) = p(x | Ck)p(Ck)

p(x) (1)

4

Page 10: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

引言

分类的线性模型可表示为

y(x) = f(wTx + w0) (2)

其中

• f(·) 被称为激活函数,通常为非线性函数。• 决策面对应于 y(x) = const,即 wTx + w0 = const。

由于引入了激活函数,模型(2)不再是参数的线性模型,这会导致其计算比线性回归模型更加复杂。

5

Page 11: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

判别函数 (discriminant function)

Page 12: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

判别函数 (discriminant function)

定义

判别函数是一个以 x 为输入,把它分到类别 Ck 的函数。

这里只考虑线性判别函数 (linear discriminant function),即那些决策面为超平面的判别函数。

6

Page 13: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

判别函数 (discriminant function)二分类问题

Page 14: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

线性判别函数最简单的形式为

y(x) = wTx + w0 (3)

其中

• w 为权向量 (weight vector);• w0 为偏置 (bias),−w0 有时被称为阈值 (threshold)。

对于 x,若 y(x) ≥ 0,则它被分到 C1,否则被分到 C2。

因此,对应的决策面由 y(x) = 0 确定,它对应于 D 维空间中的一个D − 1 维超平面。

7

Page 15: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

线性判别函数最简单的形式为

y(x) = wTx + w0 (3)

其中

• w 为权向量 (weight vector);• w0 为偏置 (bias),−w0 有时被称为阈值 (threshold)。

对于 x,若 y(x) ≥ 0,则它被分到 C1,否则被分到 C2。

因此,对应的决策面由 y(x) = 0 确定,它对应于 D 维空间中的一个D − 1 维超平面。

7

Page 16: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

线性判别函数最简单的形式为

y(x) = wTx + w0 (3)

其中

• w 为权向量 (weight vector);• w0 为偏置 (bias),−w0 有时被称为阈值 (threshold)。

对于 x,若 y(x) ≥ 0,则它被分到 C1,否则被分到 C2。

因此,对应的决策面由 y(x) = 0 确定,它对应于 D 维空间中的一个D − 1 维超平面。

7

Page 17: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

• 考虑决策面上的任意两点 xA 和 xB,因 y(xA) = y(xB) = 0,故

wT(xA − xB) = 0

这说明 w 与决策面上的任何向量都正交,从而w 决定了决策面的方向。

• 若 x 是决策面 S 上的一个点,即 y(x) = 0,则原点 O 到决策面的距离为

d(O,S) = w0∥w∥

=wTx∥w∥

(4)

这说明w0 决定了决策面的位置。

8

Page 18: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

• 考虑决策面上的任意两点 xA 和 xB,因 y(xA) = y(xB) = 0,故

wT(xA − xB) = 0

这说明 w 与决策面上的任何向量都正交,从而w 决定了决策面的方向。

• 若 x 是决策面 S 上的一个点,即 y(x) = 0,则原点 O 到决策面的距离为

d(O,S) = w0∥w∥

=wTx∥w∥

(4)

这说明w0 决定了决策面的位置。

8

Page 19: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

考虑任一 x,设其到决策面 S 上的距离为 r,投影为 x⊥,则有

x = x⊥ + r w∥w∥

(5)

两边同乘 wT,再加上 w0,即得

wTx + w0 = wTx⊥ + w0 + rwTw∥w∥

即y(x) = y(x⊥) + r∥w∥

因 x⊥ 在决策面 S 上,故 y(x⊥) = 0,从而有

r = y(x)∥w∥

.

9

Page 20: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

考虑任一 x,设其到决策面 S 上的距离为 r,投影为 x⊥,则有

x = x⊥ + r w∥w∥

(5)

两边同乘 wT,再加上 w0,即得

wTx + w0 = wTx⊥ + w0 + rwTw∥w∥

即y(x) = y(x⊥) + r∥w∥

因 x⊥ 在决策面 S 上,故 y(x⊥) = 0,从而有

r = y(x)∥w∥

.

9

Page 21: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

考虑任一 x,设其到决策面 S 上的距离为 r,投影为 x⊥,则有

x = x⊥ + r w∥w∥

(5)

两边同乘 wT,再加上 w0,即得

wTx + w0 = wTx⊥ + w0 + rwTw∥w∥

即y(x) = y(x⊥) + r∥w∥

因 x⊥ 在决策面 S 上,故 y(x⊥) = 0,从而有

r = y(x)∥w∥

.

9

Page 22: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

图 1: 二维线性判别函数的几何表示。决策面 (红线) 垂直于 w,它距离原点的偏移量由 w0 控制。任一点 x 到决策面的距离为 y(x)/∥w∥

。10

Page 23: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类问题

为表示方便,可定义 w̃ =

(w0w

), x̃ =

(1x

),则 y(x) 可表示为

y(x) = w̃Tx̃. (6)

此时,决策面为一个 D 维超平面,它会穿过 D + 1 维扩展输入空间的原点。

11

Page 24: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

判别函数 (discriminant function)多分类问题 (K > 2)

Page 25: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类问题 (K > 2)

K 类判别函数可定义为

yk(x) = wTk x + wk0, k = 1, · · · ,K (7)

对于 x,若

yk(x) > yj(x), j ̸= k,

则将 x 分到类别 Ck。

于是,类别 Ck 和 Cj 之间的决策面为 yk(x) = yj(x),对应于一个 D − 1维超平面,其形式为

(wk − wj)Tx + (wk0 − wj0) = 0. (8)

12

Page 26: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类问题 (K > 2)

K 类判别函数可定义为

yk(x) = wTk x + wk0, k = 1, · · · ,K (7)

对于 x,若

yk(x) > yj(x), j ̸= k,

则将 x 分到类别 Ck。

于是,类别 Ck 和 Cj 之间的决策面为 yk(x) = yj(x),对应于一个 D − 1维超平面,其形式为

(wk − wj)Tx + (wk0 − wj0) = 0. (8)

12

Page 27: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类问题 (K > 2)

K 类判别函数可定义为

yk(x) = wTk x + wk0, k = 1, · · · ,K (7)

对于 x,若

yk(x) > yj(x), j ̸= k,

则将 x 分到类别 Ck。

于是,类别 Ck 和 Cj 之间的决策面为 yk(x) = yj(x),对应于一个 D − 1维超平面,其形式为

(wk − wj)Tx + (wk0 − wj0) = 0. (8)

12

Page 28: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类问题 (K > 2)

定理

判别函数 yk(x) = wTk x + wk0, k = 1, · · · ,K 的决策区域是单联通

的,并且是凸的。

图 2: 多类判别函数的决策区域。若两点 xA 和 xB 在同一决策区域 Rk 中,则任一位于连接两点的线段上的 x̂ 一定在 Rk 内,故决策区域一定是单联通的、凸的。

13

Page 29: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类问题 (K > 2)

定理

判别函数 yk(x) = wTk x + wk0, k = 1, · · · ,K 的决策区域是单联通

的,并且是凸的。

图 2: 多类判别函数的决策区域。若两点 xA 和 xB 在同一决策区域 Rk 中,则任一位于连接两点的线段上的 x̂ 一定在 Rk 内,故决策区域一定是单联通的、凸的。

13

Page 30: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类问题 (K > 2)

证明

考虑决策区域 Rk 中的任意两点 xA, xB,及

x̂ = λxA + (1 − λ)xB, 0 ≤ λ ≤ 1.

由 yk(x) 的性质可知

yk(x̂) = λyk(xA) + (1 − λ)yk(xB). (9)

由于 xA, xB ∈ Rk,故 ∀j ̸= k,有 yk(xA) > yj(xA)及 yk(xB) > yj(xB),因此

yk(x̂) > yj(x̂),

从而 x̂ 也在 Rk 内部,即 Rk 单联通并且为凸。

14

Page 31: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

判别函数 (discriminant function)

以下将介绍三种线性判别函数的参数估计方法,即

• 最小二乘法• Fisher 线性判别函数• 感知机算法

15

Page 32: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

判别函数 (discriminant function)最小二乘法

Page 33: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

设每个类 Ck 都由自己的线性模型描述,即

yk(x) = wTk x + wk0, k = 1, · · · ,K. (10)

w̃k =

(wk0wk

)∈ RD+1, x̃ =

(1x

)∈ RD+1, y(x) =

y1(x)...

yK(x)

∈ RK

W̃ =(

w̃1 · · · w̃K

)=

(wT

0W

)∈ R(D+1)×K,

w0 =(

w10 · · · wK0

)T, W =

(w1 · · · wK

)则(10)可表示为

y(x) = W̃Tx̃ = WTx + w0. (11)

16

Page 34: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

设每个类 Ck 都由自己的线性模型描述,即

yk(x) = wTk x + wk0, k = 1, · · · ,K. (10)

w̃k =

(wk0wk

)∈ RD+1, x̃ =

(1x

)∈ RD+1, y(x) =

y1(x)...

yK(x)

∈ RK

W̃ =(

w̃1 · · · w̃K

)=

(wT

0W

)∈ R(D+1)×K,

w0 =(

w10 · · · wK0

)T, W =

(w1 · · · wK

)则(10)可表示为

y(x) = W̃Tx̃ = WTx + w0. (11)

16

Page 35: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

设有一个训练数据集 {(xn, tn)}Nn=1,定义矩阵

T =

tT

1...

tTN

∈ RN×K, X̃ =

x̃T

1...

x̃TN

∈ RN×(D+1)

则平方和误差函数可表示为

ED(W̃) =N∑

n=1∥y(xn)− tn∥2

=N∑

n=1

(W̃Tx̃ − tn

)(W̃Tx̃ − tn

)T

=12 tr{(X̃W̃ − T)T(X̃W̃ − T)

}(12)

17

Page 36: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

它关于 W̃ 的导数为

∂ED(W̃)

∂W̃= X̃T

(X̃W̃ − T)

置其为零可得W̃ = (XTX̃)−1X̃T := X̃†T

其中 X̃†为 X̃ 的伪逆。

于是判别函数(10)的形式为

y(x) = TT(

X̃†)Tx̃. (13)

18

Page 37: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

它关于 W̃ 的导数为

∂ED(W̃)

∂W̃= X̃T

(X̃W̃ − T)

置其为零可得W̃ = (XTX̃)−1X̃T := X̃†T

其中 X̃†为 X̃ 的伪逆。

于是判别函数(10)的形式为

y(x) = TT(

X̃†)Tx̃. (13)

18

Page 38: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

性质

对于最小二乘法,若训练集中的每个目标向量 tn 满足线性约束

aTtn + b = 0, n = 1, · · · ,N, (14)

其中 a ∈ RK 和 b 为常数,则 ∀x,模型的预测也满足同样的约束,即

aTy(x) + b = 0. (15)

19

Page 39: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

证明

ED(W̃) 可改写为

ED(w0,W) =12 tr{(XW + 1wT

0 − T)T(XW + 1wT0 − T)

}, (16)

其中

1 =(

1 · · · 1)T

∈ RN.

对其关于 w0 求导可得

2Nw0 + 2(XW − T)T1

置其为零可求得w0 = t̄ − WTx̄

其中

t̄ = 1NTT1, x̄ =

1NXT1

20

Page 40: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

证明

将其代入(16)可得

ED(W) =12 tr{(XW + T̄ − X̄W − T)T(XW + T̄ − X̄W − T)

},

其中T̄ = 1t̄T

, X̄ = 1x̄T.

对 ED(W) 关于 W 求导并置其为零可得

W =(

X̂TX̂)−1

X̂TT̂ = X̂†T̂

其中X̂ = X − X̄, T̂ = T − T̄.

21

Page 41: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

证明

考虑一个新的输入 x∗ 的预测,

y(x∗) = WTx∗ + w0= WTx∗ + t̄ − WTx̄

= t̄ + T̂T (X̂†)T(x∗ − x̄)

而(14)可改写为aTTT + b1T = 0,

两端同时右乘 1 可得

aTTT1 + Nb = 0,

于是

aTt̄ = 1NaTTT1 = −b.

22

Page 42: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

证明

因此

aTy(x∗) = aTt̄ + aTT̂T (X̂†)T(x∗ − x̄)

= aTt = −b,

这里用到了 aTT̂T= aT(T − T̄)T = b(1 − 1)T = 0T.

23

Page 43: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

推论

对于 K 分类问题,若 t 使用的是“one hot encoding”,则 ∀x 有

K∑i=1

yi(x) = 1.

证明.将(14)中的 a 和 b 取为

a =

1...

1

, b = −1

即可。

24

Page 44: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

推论

对于 K 分类问题,若 t 使用的是“one hot encoding”,则 ∀x 有

K∑i=1

yi(x) = 1.

证明.将(14)中的 a 和 b 取为

a =

1...

1

, b = −1

即可。

24

Page 45: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

最小二乘法的缺点:最小二乘法给出了判别函数参数的解析解,但是它对离群点 (outliers) 缺少鲁棒性。

图 3: 最小二乘法用于二分类:相比与左图,右图中多了一些额外的数据,它们使得决策边界的位置发生了很大的改变,即使左图中的原始决策边界也能正确地分类。平方和误差函数惩罚了“过于正确”的预测,因为它们在正确的一侧,并且距离决策边界太远。

25

Page 46: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

图 4: 最小二乘法用于三分类问题。左图为最小二乘方法的结果,分配到绿色类别的区域过小,大部分来自该类别的点都被错误分类;右图为 softmax 回归的结果,给出了正确分类。

26

Page 47: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

最小二乘法

最小二乘法的失败并不意外,因为它是对应于高斯条件分布假设下的极大似然法,而二值目标向量的概率分布显然不是高斯分布。若使用恰当的概率模型,将会得到更好的分类方法。

27

Page 48: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

判别函数 (discriminant function)Fisher 线性判别函数

Page 49: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

Fisher 线性判别函数

Fisher 线性判别分析,又称线性判别分析 (Linear Discriminant Analysis,LDA),是一种监督学习的降维技术。

28

Page 50: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

设有输入向量 x ∈ RD,使用下式投影到一维空间:

y = wTx. (17)

对 y 设定一个阈值 −w0,

• 若 y ≥ −w0,则把样本分到 C1;

• 若 y < −w0,则把样本分到 C2。

此即标准的线性分类器。

一般来说,将高维样本投影到一维空间会造成信息的丢失,从而导致在高维空间中可分的样本在一维空间中不可分。但是,通过调整 w,可选择一个让类别之间间隔最大的投影。

29

Page 51: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

设有输入向量 x ∈ RD,使用下式投影到一维空间:

y = wTx. (17)

对 y 设定一个阈值 −w0,

• 若 y ≥ −w0,则把样本分到 C1;

• 若 y < −w0,则把样本分到 C2。

此即标准的线性分类器。

一般来说,将高维样本投影到一维空间会造成信息的丢失,从而导致在高维空间中可分的样本在一维空间中不可分。但是,通过调整 w,可选择一个让类别之间间隔最大的投影。

29

Page 52: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

设有输入向量 x ∈ RD,使用下式投影到一维空间:

y = wTx. (17)

对 y 设定一个阈值 −w0,

• 若 y ≥ −w0,则把样本分到 C1;

• 若 y < −w0,则把样本分到 C2。

此即标准的线性分类器。

一般来说,将高维样本投影到一维空间会造成信息的丢失,从而导致在高维空间中可分的样本在一维空间中不可分。但是,通过调整 w,可选择一个让类别之间间隔最大的投影。

29

Page 53: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

考虑二分类问题,设属于 C1 的样本个数为 N1,属于 C2 的样本个数为N2,则两类的均值向量分别为

m1 =1

N1

∑i∈C1

xi, m2 =1

N2

∑i∈C2

xi. (18)

最简单的度量类别之间间隔最大的方式是计算类别均值投影后的距离,

即求 w∗ 使得

w∗ = argmaxw

wT(m2 − m1) s.t. ∥w∥22 = 1

30

Page 54: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

考虑二分类问题,设属于 C1 的样本个数为 N1,属于 C2 的样本个数为N2,则两类的均值向量分别为

m1 =1

N1

∑i∈C1

xi, m2 =1

N2

∑i∈C2

xi. (18)

最简单的度量类别之间间隔最大的方式是计算类别均值投影后的距离,

即求 w∗ 使得

w∗ = argmaxw

wT(m2 − m1) s.t. ∥w∥22 = 1

30

Page 55: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

该优化问题可利用 Lagrange 乘子法求解,具体步骤如下:

• 构造 Lagrange 函数

L(w;λ) = wT(m2 − m1) + λ(∥w∥22 − 1)

• 计算梯度L(w;λ)

∂w = m2 − m1 + 2λw

L(w;λ)

∂λ= ∥w∥2

2 − 1

• 置其为零可得w∗ ∝ m2 − m1.

31

Page 56: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

图 5: 图中的样本在二维空间中可被完美的分开。左图中,所有样本点投影到连接两类别均值的直线上,出现了一定程度的重叠;右图的投影是基于 Fisher线性判别准则得到的,在分类效果上有极大的提升。

32

Page 57: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

Fisher 线性判别的思想

给定训练数据集,设法将样本投影到一条直线上,使得同类样本的投影点尽可能接近、异类样本的投影点尽可能地远离;对新样本分类时,将其投影到这条直线上,再根据投影点的位置来确定新样本的类别。

33

Page 58: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

投影公式y = wTx

将 x ∈ RD 投影到一维空间 y ∈ R。来自类别 Ck 的样本经投影后的类内方差为

s2k =

∑n∈Ck

(yn − mk)2,

其中yn = wTxn, mk = wTmk,

于是,可定义总的类内方差为

s21 + s2

2.

Fisher 准则根据类间方差和类内方差的比值来定义,即

J(w) =(m2 − m1)2

s21 + s2

2(19)

34

Page 59: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

投影公式y = wTx

将 x ∈ RD 投影到一维空间 y ∈ R。来自类别 Ck 的样本经投影后的类内方差为

s2k =

∑n∈Ck

(yn − mk)2,

其中yn = wTxn, mk = wTmk,

于是,可定义总的类内方差为

s21 + s2

2.

Fisher 准则根据类间方差和类内方差的比值来定义,即

J(w) =(m2 − m1)2

s21 + s2

2(19)

34

Page 60: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

它也可显式地写成

J(w) =wTSBwwTSWw

(20)

其中

SB = (m2 − m1)(m2 − m1)T

SW =∑n∈C1

(xn − m1)(xn − m1)T +

∑n∈C2

(xn − m2)(xn − m2)T (21)

分别表示类间 (between-class) 协方差矩阵和类内 (within-class) 协方差矩阵。

35

Page 61: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

对 J(w) 关于 w 求导可得∂J(w)

∂w = 2 (wTSWw)SBw − (wTSBw)SWw

(wTSWw)2 ,

置其为零可得 J(w) 取得极大值的条件为

(wTSBw)SWw = (wTSWw)SBw (22)

• 一方面,由 SB 的定义可知

SBw ∝ m2 − m1,

• 另一方面,我们只关注 w 的方向,可以忽略(22)中的标量因子,于是

SWw ∝ SBw

综上可知,w ∝ S−1

W (m2 − m1), (23)它被称为Fisher 线性判别函数 (Fisher Linear Discriminant)。

36

Page 62: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

对 J(w) 关于 w 求导可得∂J(w)

∂w = 2 (wTSWw)SBw − (wTSBw)SWw

(wTSWw)2 ,

置其为零可得 J(w) 取得极大值的条件为

(wTSBw)SWw = (wTSWw)SBw (22)

• 一方面,由 SB 的定义可知

SBw ∝ m2 − m1,

• 另一方面,我们只关注 w 的方向,可以忽略(22)中的标量因子,于是

SWw ∝ SBw

综上可知,w ∝ S−1

W (m2 − m1), (23)它被称为Fisher 线性判别函数 (Fisher Linear Discriminant)。

36

Page 63: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

对 J(w) 关于 w 求导可得∂J(w)

∂w = 2 (wTSWw)SBw − (wTSBw)SWw

(wTSWw)2 ,

置其为零可得 J(w) 取得极大值的条件为

(wTSBw)SWw = (wTSWw)SBw (22)

• 一方面,由 SB 的定义可知

SBw ∝ m2 − m1,

• 另一方面,我们只关注 w 的方向,可以忽略(22)中的标量因子,于是

SWw ∝ SBw

综上可知,w ∝ S−1

W (m2 − m1), (23)它被称为Fisher 线性判别函数 (Fisher Linear Discriminant)。

36

Page 64: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

对 J(w) 关于 w 求导可得∂J(w)

∂w = 2 (wTSWw)SBw − (wTSBw)SWw

(wTSWw)2 ,

置其为零可得 J(w) 取得极大值的条件为

(wTSBw)SWw = (wTSWw)SBw (22)

• 一方面,由 SB 的定义可知

SBw ∝ m2 − m1,

• 另一方面,我们只关注 w 的方向,可以忽略(22)中的标量因子,于是

SWw ∝ SBw

综上可知,w ∝ S−1

W (m2 − m1), (23)它被称为Fisher 线性判别函数 (Fisher Linear Discriminant)。 36

Page 65: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

若类内协方差矩阵各项同性,即 SW ∝ I,则 w ∝ m2 −m1,即 w正比于类均值的差。

严格来说,(23)并不是一个判别函数,而是对数据向一维投影方向的一个具体选择。有了投影方向,就可以构造判别函数,构造方式如下:

• 选择一个阈值 y0,当 y(x) ≥ y0 时,把数据 x 分到 C1;

• 否则,把数据 x 分到 C2。

37

Page 66: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

二分类的 Fisher 线性判别函数

若类内协方差矩阵各项同性,即 SW ∝ I,则 w ∝ m2 −m1,即 w正比于类均值的差。

严格来说,(23)并不是一个判别函数,而是对数据向一维投影方向的一个具体选择。有了投影方向,就可以构造判别函数,构造方式如下:

• 选择一个阈值 y0,当 y(x) ≥ y0 时,把数据 x 分到 C1;

• 否则,把数据 x 分到 C2。

37

Page 67: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

与最小二乘法的关系

对于分类问题,

• 最小二乘法的目标是使得模型的预测尽可能地与目标值接;• Fisher 判别准则的目标时使得输出空间的类别有最大的区分度。

以下将说明对于二分类问题,Fisher 判别准则是最小二乘法的一个特例。

38

Page 68: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

与最小二乘法的关系

我们修改一下目标值的表示方法:

tn =

NN1, n ∈ C1

− NN2, n ∈ C2

(24)

其中 N1,N2 分别为类别为 C1C2 的样本数,N 为样本总数;

39

Page 69: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

与最小二乘法的关系

定理

当目标值用(24)表示时,最小二乘解等价于 Fisher 解。

证明

平方和误差函数可表示为

ED(w0,w) =12

N∑n=1

(wTxn + w0 − tn

)2

令 E(w0,w) 关于 w0 和 w 的导数为零可得

N∑n=1

(wTxn + w0 − tn

)= 0, (25)

N∑n=1

(wTxn + w0 − tn

)xn = 0. (26)

40

Page 70: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

与最小二乘法的关系

定理

当目标值用(24)表示时,最小二乘解等价于 Fisher 解。

证明

平方和误差函数可表示为

ED(w0,w) =12

N∑n=1

(wTxn + w0 − tn

)2

令 E(w0,w) 关于 w0 和 w 的导数为零可得

N∑n=1

(wTxn + w0 − tn

)= 0, (25)

N∑n=1

(wTxn + w0 − tn

)xn = 0. (26)

40

Page 71: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

与最小二乘法的关系

证明

由(24)可知,N∑

n=1tn = N1

NN1

− N2NN2

= 0,

再由(25)可得w0 = −wTm

其中 m 为所有样本的均值,即

m =1N

N∑n=1

xn =1N (N1m1+N2m2), m1 =

1N1

∑n∈C1

xn, m2 =1

N2

∑n∈C2

xn,

(26)可改写为 ( N∑n=1

xn (xn − m)T)

w =N∑

n=1tnxn,

41

Page 72: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

与最小二乘法的关系

证明

注意到

N∑n=1

tnxn =∑n∈C1

NN1

xn −∑n∈C2

NN2

xn = N(m1 − m2),

N∑n=1

xn (xn − m)T =∑n∈C1

xn (xn − m)T +∑n∈C2

xn (xn − m)T

= SW +∑n∈C1

m1(m1 − m)T +∑n∈C2

m2(m2 − m)T

= SW +N2N∑n∈C1

m1(m1 − m2)T +

N1N∑n∈C2

m2(m2 − m1)T

= SW +N1N2

N (m2 − m1)(m2 − m1)T = SW +

N1N2N SB,

42

Page 73: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

与最小二乘法的关系

证明

(26)可写成 (SW +

N1N2N SB

)w = N(m1 − m2).

由于 SBw ∝ m1 − m2,故

w ∝ S−1W (m2 − m1).

由此可知,由最小二乘法确定的权向量恰好与 Fisher 准则得到的结果一致。

43

Page 74: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类的 Fisher 判别函数

现在考虑 K > 2 分类问题,假设输入空间的维度 D > K,引入 d > 1个线性特征

yk = wTk x, k = 1, · · · , d.

y =

y1...

yd

∈ Rd, W =(

w1 · · · wd

)∈ RD×d

则y = WTx.

44

Page 75: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类的 Fisher 判别函数

类内协方差矩阵的推广

SW =K∑

k=1Sk (27)

其中

Sk =∑n∈Ck

(xn − mk)(xn − mk)T (28)

mk =1

Nk

∑n∈Ck

xn. (29)

其中 Nk 表示类 Ck 中的样本个数。

45

Page 76: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类的 Fisher 判别函数

类间协方差矩阵的推广 考虑整体的协方差矩阵

ST =N∑

n=1(xn − m)(xn − m)T, (30)

其中 m 表示所有样本的均值,即

m =1N

N∑n=1

xn =1N

K∑k=1

Nkmk.

类间协方差矩阵可定义为

SB = ST − SW

=K∑

k=1

∑n∈Ck

(xn − m)(xn − m)T −K∑

k=1

∑n∈Ck

(xn − mk)(xn − mk)T

=K∑

k=1Nk(mk − m)(mk − m)T.

(31)请注意,这些协方差矩阵是定义在 x 空间的。 46

Page 77: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类的 Fisher 判别函数

类似地,也可以在 d 维 y 空间定义协方差矩阵:

sW =K∑

k=1

∑n∈Ck

(yn − µk)(yn − µk)T, (32)

sB =K∑

k=1Nk(µk − µ)(µk − µ)T, (33)

其中

µk =1

Nk

∑n∈Ck

yn, µ =1N

K∑k=1

Nkµk. (34)

47

Page 78: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

多分类的 Fisher 判别函数

Fisher 判别的思想仍然是希望极大化一个函数 J(W),其中 J (W) 使得类间方差较大而类内方差较小。关于 J (W) 的选择有很多方式,但最常见的一种选择是

J (W) = tr{

s−1W sB

}= tr

{(WTSWW

)−1 (WTSBW

)}. (35)

虽然求优化问题W∗ = argmax

WJ (W)

有些繁琐,但其推导是直接的。可验证 W∗ 由 S−1W SB 的 d 个最大特征

值所对应的特征向量确定。

48

Page 79: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

概率判别式模型

Page 80: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

概率判别式模型logistic 回归 (logistic regression)

Page 81: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

logistic 回归模型

logistic 回归模型是一种二分类模型,由条件概率分布 P(y | x) 表示,形式为参数化的 logistic 分布,即

P(t = 1 | x) = y = σ(wTϕ(x)), (36)P(t = 0 | x) = 1 − P(t = 1 | x), (37)

其中 x ∈ Rn 为输入,t ∈ {0, 1} 为输出,σ(·) 为 Sigmoid 函数,即

σ(x) = ex

1 + ex , (38)

对于给定的输入实例 x,按照(36)和(37)可以求得 P(y = 1 | x) 和P(y = 0 | x)。logistic 回归比较两个条件概率值的大小,将实例 x 分到概率值较大的那一类。

49

Page 82: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

logistic 回归模型

logistic 回归模型是一种二分类模型,由条件概率分布 P(y | x) 表示,形式为参数化的 logistic 分布,即

P(t = 1 | x) = y = σ(wTϕ(x)), (36)P(t = 0 | x) = 1 − P(t = 1 | x), (37)

其中 x ∈ Rn 为输入,t ∈ {0, 1} 为输出,σ(·) 为 Sigmoid 函数,即

σ(x) = ex

1 + ex , (38)

对于给定的输入实例 x,按照(36)和(37)可以求得 P(y = 1 | x) 和P(y = 0 | x)。logistic 回归比较两个条件概率值的大小,将实例 x 分到概率值较大的那一类。

49

Page 83: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

设 ϕ(x) ∈ RM 为基函数构成的向量,表示 x 的 M 维特征,即

ϕ(x) =(

ϕ0(x) ϕ1(x) · · · ϕM−1(x))T

, (39)

w ∈ RM 为权值向量,刻画的是各特征的重要性,即

w =(

w0 w1 · · · wM−1

)T. (40)

50

Page 84: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

Bernouli 分布

若随机变量 t 只取 0 和 1 两个值,并且相应的概率为

P(t = 1) = µ, P(t = 0) = 1 − µ, 0 ≤ µ ≤ 1,

则称随机变量 t 服从参数为 µ 的伯努利分布。上式也可表示称

p(t | µ) = µt(1 − µ)1−t.

Bernouli 分布的期望为E[t] = µ,

方差为var[t] = µ(1 − µ).

51

Page 85: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

设有数据集 {xn, tn}Nn=1,其中 tn ∈ {0, 1}, 可通过极大似然法来估计参

数 w。

似然函数可表示为

P(t | w) =N∏

n=1ytn

n (1 − yn)1−tn , (41)

其中

t =(

t1 t2 · · · tN

)T, yn = σ(wTϕn), ϕn = ϕ(xn).

52

Page 86: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

取似然函数负对数,即得交叉熵 (cross-entropy) 误差函数:

Cross-Entropy Error Function

E(w) = − lnP(t | w)

= −N∑

n=1[tn ln yn + (1 − tn) ln(1 − yn)]

= −N∑

n=1

[tn lnσ(wTϕn) + (1 − tn) ln(1 − σ(wTϕn))

].

(42)

53

Page 87: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

E(w) 的梯度

Φ =

ϕT

1...

ϕTN

∈ RN×M, (43)

则 E(w) 关于 w 的梯度为

∇E(w) =N∑

n=1(yn − tn)ϕn = ΦT(y − t) (44)

54

Page 88: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

证明

注意到 sigmoid 函数的性质 σ′ = σ(1 − σ), 令 z = wTϕ,则有

∂ lnσ(wTϕ)

∂w =∂ lnσ

σ· ∂σ(z)

∂z · ∂wTϕ

∂w = (1 − σ)ϕ

同理,∂ ln(1 − σ(wTϕ))

∂w = σϕ

因此

∂wE(w) = −N∑

n=1

[tn∂ lnσ(wTϕn)

∂w + (1 − tn)∂ ln(1 − σ(wTϕn))

∂w

]= −

N∑n=1

(tn − σ(wTϕ(xn)))ϕn

=N∑

n=1(yn − tn)ϕn = ΦT(y − t).

55

Page 89: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

对于 Logistic 回归,极大似然估计不再有解析解。这里介绍求最小值问题的一种迭代格式,它基于 Newton-Raphson 迭代方法:

Newton-Raphson 迭代

wnew = wold − H−1∇E(w)

其中 H 为 E(w) ∈ RM×M 的 Hessian 矩阵,其元素为

hij =∂2E

∂wi∂wj. (45)

56

Page 90: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

Newton-Raphson 迭代用于线性回归模型

设线性回归模型 y(x) = wTϕ(x), 其误差函数为

E(w) =N∑

n=1

(tn − wTϕ(xn)

)2,

它关于 w 的梯度和 Hessian 矩阵为

∇E(w) = ΦT(y − t), (46)

H = ∇2E(w) =T∑

n=1ϕnϕ

Tn = ΦTΦ. (47)

57

Page 91: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

于是, Newton-Raphson 迭代格式为

wnew = wold −(ΦTΦ

)−1 (ΦTΦwold −ΦTt

)=

(ΦTΦ

)−1ΦTt,

(48)

此即标准的最小二乘解。

此时的误差函数是二次的,因此 Newton-Raphson 公式迭代一次就给出了精确解。

58

Page 92: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

以下讨论如何将 Newton-Raphson 迭代法应用于 logistic 回归模型上。

E(w) 的 Hessian 矩阵

E(w) 关于 w 的 Hessian 矩阵为

H = ∇2E(w) =N∑

n=1yn(1 − yn)ϕnϕ

Tn = ΦTΛΦ, (49)

其中 Λ ∈ RN×N 为对角阵,其形式为

Λ =

y1(1 − y1) · · · 0

.... . .

...

0 · · · yN(1 − yN)

.

E(w) 的 Hessian 矩阵 H 不再是常量,它依赖于 w。

59

Page 93: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

以下讨论如何将 Newton-Raphson 迭代法应用于 logistic 回归模型上。

E(w) 的 Hessian 矩阵

E(w) 关于 w 的 Hessian 矩阵为

H = ∇2E(w) =N∑

n=1yn(1 − yn)ϕnϕ

Tn = ΦTΛΦ, (49)

其中 Λ ∈ RN×N 为对角阵,其形式为

Λ =

y1(1 − y1) · · · 0

.... . .

...

0 · · · yN(1 − yN)

.

E(w) 的 Hessian 矩阵 H 不再是常量,它依赖于 w。

59

Page 94: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

以下讨论如何将 Newton-Raphson 迭代法应用于 logistic 回归模型上。

E(w) 的 Hessian 矩阵

E(w) 关于 w 的 Hessian 矩阵为

H = ∇2E(w) =N∑

n=1yn(1 − yn)ϕnϕ

Tn = ΦTΛΦ, (49)

其中 Λ ∈ RN×N 为对角阵,其形式为

Λ =

y1(1 − y1) · · · 0

.... . .

...

0 · · · yN(1 − yN)

.

E(w) 的 Hessian 矩阵 H 不再是常量,它依赖于 w。 59

Page 95: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

定理

误差函数 E(w) 是关于 w 的凸函数,从而存在唯一的最小值点。

证明

由于 0 < yn < 1,对任意的 u ∈ RN 恒成立

uTHu = (Φu)TΛ(Φu) > 0,

因此 H 是正定的,于是 E(w) 是关于 w 的一个凸函数,从而有唯一的最小值。

60

Page 96: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

定理

误差函数 E(w) 是关于 w 的凸函数,从而存在唯一的最小值点。

证明

由于 0 < yn < 1,对任意的 u ∈ RN 恒成立

uTHu = (Φu)TΛ(Φu) > 0,

因此 H 是正定的,于是 E(w) 是关于 w 的一个凸函数,从而有唯一的最小值。

60

Page 97: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

Newton-Raphson 迭代格式用于 logistic 回归模型

wnew = wold −(ΦTΛΦ

)−1ΦT(y − t)

=(ΦTΛΦ

)−1 [ΦTΛΦwold −ΦT(y − t)

]=

(ΦTΛΦ

)−1ΦTΛz

(50)

其中z = Φwold − Λ−1(y − t). (51)

由(50)可知,它实际是加权最小二乘的法方程组。由于 Λ 依赖于w,必须迭代地求解法方程组,每次使用新的 w 来计算修正的 Λ,于是该算法被称为迭代重加权最小二乘 (iterate reweighted leastsquares, IRLS)。

61

Page 98: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

logistic 回归 (logistic regression)

Newton-Raphson 迭代格式用于 logistic 回归模型

wnew = wold −(ΦTΛΦ

)−1ΦT(y − t)

=(ΦTΛΦ

)−1 [ΦTΛΦwold −ΦT(y − t)

]=

(ΦTΛΦ

)−1ΦTΛz

(50)

其中z = Φwold − Λ−1(y − t). (51)

由(50)可知,它实际是加权最小二乘的法方程组。由于 Λ 依赖于w,必须迭代地求解法方程组,每次使用新的 w 来计算修正的 Λ,于是该算法被称为迭代重加权最小二乘 (iterate reweighted leastsquares, IRLS)。

61

Page 99: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

概率判别式模型softmax 回归

Page 100: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

softmax 回归主要用于多分类问题中。

softmax 函数

设有向量a = (a1, · · · , aK)

T ∈ RK,

softmax 函数是一个 RK → RK 的函数,记为 s(a),其元素为

si = si(a) =eai∑K

k=1 eak, i = 1, · · · ,K. (52)

62

Page 101: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

softmax 函数的导数

softmax 函数的导数是一个 Jacobi 矩阵,即

∂s∂a =

∂a1s1 · · · ∂aKs1...

. . ....

∂a1sK · · · ∂aKsK

(53)

其中

∂ajsi =∂si∂aj

=

{si(1 − si), i = j−sisj, i ̸= j

= si(δij − sj),

δij 为 Kronecker 函数,即

δij =

{1, i = j,0, i ̸= j.

63

Page 102: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

证明

记 Σ =∑K

k=1 eak,则 si 可表示为

si =eai

Σ.

以下分两种情形计算 ∂ajsi:

• 当 i = j 时,

∂aisi =∂

∂ai

eai

Σ=

eaiΣ− eaieai

Σ2 =eai

Σ

Σ− eai

Σ= si(1 − si).

• 当 i ̸= j 时,

∂ajsi =∂

∂aj

eai

Σ=

−eaieaj

Σ2 = −eai

Σ

eaj

Σ= −sisj.

综上所述,结论得证。

64

Page 103: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

类别 Ck 的条件概率可表示为

P(tk | x) = yk = sk(a), (54)

其中a = (a1, · · · , aK)

T, ak = wTk ϕ(x). (55)

softmax 回归模型

定义

W =

wT

1...

wTK

∈ RK×M, (56)

则 softmax 回归模型可表示为

y = s(Wϕ(x)) ∈ RK. (57)

65

Page 104: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

多分类问题的 softmax 回归

给定训练数据 {xn, tn},确定 softmax 回归模型(57)的参数 W。一般地,目标向量 tn 以”one hot ecoding” 的形式表示,即若样本 xn 属于类 Ck,则

tn = ek ∈ RK.

66

Page 105: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

多项式分布 (multinouli distribution)

多项式分布可看做是 Bernouli 分布对于多个输出的一个推广。设有随机变量 t ∈ RK,每种状态的取值可能性只有 0 或 1,且对应的概率为

P(tk = 1) = µk, 0 ≤ µk ≤ 1, 1 ≤ µk ≤ 1,

则称随机变量 t服从参数为 µ = (µ1, · · · , µK)T 的多项式分布。上式也可表示成

p(t | µ) =K∏

k=1µtk

k

67

Page 106: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

此时,似然函数可写成

P(T | w1, · · · ,wK) =N∏

n=1

K∏k=1

P(tk | xn)tnk =

N∏n=1

K∏k=1

ytnknk , (58)

其中 ynk = sk(ϕ(xn)),

T =

tT

1...

tTN

∈ RN×K.

68

Page 107: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

对其取负对数即得

多分类的交叉熵 (cross-entropy) 误差函数

E(W) = E(w1, · · · ,wK)

= − lnP(T | w1, · · · ,wK)

= −N∑

n=1

K∑i=1

tni ln yni

= −N∑

n=1(ln yn)

Ttn

(59)

69

Page 108: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

E(W) 的梯度

对 k = 1, · · · ,K,

∇wkE(w1, · · · ,wK) =N∑

n=1(ynk − tnk)ϕn = ΦT

y1k...

yNk

, (60)

即∇WE(W) = ΦT(Y − T), (61)

其中

Y =

y1...

yN

∈ RN×K, T =

t1...

tN

∈ RN×K

70

Page 109: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

证明

由链式法则知

∂ ln yn∂wk

=∂ ln sn∂wk

=∂ ln sn∂sn

∂s(an)

∂an

∂an∂wk

.

注意到

∂ ln sn∂sn

=

s−1

n1 0 · · · 00 s−1

n2 · · · 0...

.... . .

...

0 0 · · · s−1nK

∈ RK×K

∂s(an)

∂an=

sn1(1 − sn1) −sn1sn2 · · · −sn1snK

−sn2sn1 sn2(1 − sn2) · · · −sn2snK...

.... . .

...

−snKsn1 snKsn2 · · · snK(1 − snK)

∈ RK×K

71

Page 110: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

证明 (续)

∂an∂wk

=∂(Wϕn)

∂wk=

0...

ϕTn...

0

∈ RK×M

以及K∑

k=1tnk = 1,

72

Page 111: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

证明 (续)

从而有

(∂ ln sn∂wk

)Ttn =

(0 · · · ϕn · · · 0

)

(1 − sn1) −sn1 · · · −sn1−sn2 (1 − sn2) · · · −sn2

......

. . ....

−snK snK · · · (1 − snK)

tn1tn2...

tnK

=(

0 · · · ϕn · · · 0)

tn1 − sn1K∑

k=1tnk

tn2 − sn2K∑

k=1tnk

...

tnK − snKK∑

k=1tnk

=(

0 · · · ϕn · · · 0)

tn1 − sn1

tn2 − sn2

...

tnK − snK

= (tnk − snk)ϕn 73

Page 112: 模式识别与机器学习 - xpzhang.mexpzhang.me/teach/ME19_Spring/slide04.pdf · 引言 分类问题的三种方法 • 构造判别函数(discriminant function),直接把x 分到对应的类别

softmax 回归

证明 (续)

于是,

∂E∂wk

= −N∑

n=1

(∂ ln sn∂wk

)Ttn =

N∑n=1

(ynk − tnk)ϕn.

证毕.

74