Foundations of Machine Learning 2nd——第二章 PAC学习框架
前言
这篇博客是“Fundations of Machine Learning 2nd”这本书的系列笔记第二篇~
第一篇链接
有不对的地方欢迎指正=v=
下面是正文:
PAC:Probably Approximately Correct
当设计和分析算法时会遇到以下几个问题:
最本质的难点在哪儿?想要成功训练一个模型需要多少样本?对于当前问题是否有一个通用的模型能够被学习到?
为了解决这些问题,本章介绍PAC这一学习框架,它能够帮助确定算法的样本复杂度(需要多少样本才能训练出当前问题的性能很好的近似解)、以及这个某个问题是否是可学习的。
定义介绍
X
X
X:所有可获得的样本的集合。有时也表示输入空间
Y
Y
Y:所有可获得的标签或目标值。后面的例子一般都是
Y
Y
Y只有两个值,
Y
=
{
0
,
1
}
Y=\{0,1\}
Y={0,1},这种问题称为二分类。
A
c
o
n
c
e
p
t
concept
concept(一个concept,这个concept不好翻译,直接用英文)c:
X
→
Y
X\rightarrow Y
X→Y,也就是说,一个
c
o
n
c
e
p
t
concept
concept
c
c
c用来表示从输入到输出的一个映射。因为
Y
=
{
0
,
1
}
Y=\{0,1\}
Y={0,1},我们也可以用
c
c
c来表示
X
X
X值为1的子集。所以,在后文中我们会用一个
c
o
n
c
e
p
t
concept
concept表示
X
X
X到
{
0
,
1
}
\{0,1\}
{0,1}的映射,也会用他表示
X
X
X的一个子集。一个
c
o
n
c
e
p
t
concept
concept系列,也就是一个我们想要学习到的
c
o
n
c
e
p
t
s
concepts
concepts的集合,用
C
C
C表示。
h
y
p
o
t
h
e
s
i
s
hypothesis
hypothesis:直译是假设, 我认为他既有假设也有映射的意思。映射是指他的本质,就是从输入样本到输出标签的一个映射(函数),假设的意思是,他是由算法训练返回的,也就是拟合到的,(通常情况下与样本到标签的真实映射有一定的差距)。后问我会用"映射"来表示。
对于样本的假设是独立同分布(i.i.d.)于一个位置的分布 D D D。
大体学习框架如下:
模型会考虑一个固定的可学习的
c
o
n
c
e
p
t
s
concepts
concepts集合
H
H
H,即映射集合,
H
H
H并不一定要和
C
C
C完全一致。模型收到一个样本集
S
=
(
x
1
,
x
2
,
.
.
,
x
m
)
S=(x_1,x_2,..,x_m)
S=(x1,x2,..,xm) i.i.d.
D
D
D,以及样本对应的标签
(
c
(
x
1
)
,
c
(
x
2
)
,
.
.
,
c
(
x
m
)
)
(c(x_1),c(x_2),..,c(x_m))
(c(x1),c(x2),..,c(xm)),这个标签是基于一个特定的
c
∈
C
c\in C
c∈C(这里
c
c
c表示一个最优映射)来学习到的。
任务就是使用有标签的样本集
S
S
S来选择一个映射
h
s
∈
H
h_s\in H
hs∈H,这个
h
h
h相对于
c
o
n
c
e
p
t
concept
concept
c
c
c来说具有最小的generalization error。
Generalization error
给定一个映射
h
∈
H
h\in H
h∈H,一个目标映射
c
∈
C
c\in C
c∈C,一个样本服从的分布
D
D
D,
h
h
h的generalization error或者说risk(风险),定义如下(用
R
(
h
)
R(h)
R(h)表示):
R
(
h
)
=
P
x
∼
D
[
h
(
x
)
≠
c
(
x
)
]
=
E
x
∼
D
[
1
h
(
x
)
≠
c
(
x
)
]
1
w
=
1
,
w
=
t
r
u
e
;
1
w
=
0
,
w
=
f
a
l
s
e
R(h) = \mathop{P}\limits_{x\sim D}[h(x)\neq c(x)] = \mathop{E}\limits_{x\sim D}[1_{h(x)\neq c(x)}]\\ 1_w = 1,w = true; 1_w = 0, w = false
R(h)=x∼DP[h(x)=c(x)]=x∼DE[1h(x)=c(x)]1w=1,w=true;1w=0,w=false
然而generalization error不能直接获得,因为
D
D
D和
c
o
n
c
e
p
t
concept
concept
c
c
c都是未知的。不过我们可以学习一个映射在有标签样本
S
S
S上的empirical error,来近似generalization error。
Empirical error
给定一个映射
h
∈
H
h\in H
h∈H,一个目标映射
c
∈
C
c\in C
c∈C,一个样本服从的分布
D
D
D,
h
h
h的empirical error或者说empirical risk,定义如下(用
R
^
S
(
h
)
\hat{R}_S(h)
R^S(h)表示):
R
^
S
(
h
)
=
1
m
∑
i
=
1
m
1
h
(
x
i
)
≠
c
(
x
i
)
\hat{R}_S(h)=\frac{1}{m}\sum_{i=1}^m 1_{h(x_i)\neq c(x_i)}
R^S(h)=m1i=1∑m1h(xi)=c(xi)
明显的区别就是empirical error是对已知的样本集
S
S
S计算平均损失,而generalization error比较理想主义,想计算服从
D
D
D分布的整体的损失。
可以说明的是:对于一个给定的
h
∈
H
h\in H
h∈H,empirical error在i.i.d.样本集
S
S
S上的的期望等价于generalization error:
E
S
∼
D
m
[
R
^
S
(
h
)
]
=
R
(
h
)
\mathop{E}\limits_{S\sim D^m}[\hat{R}_S(h)] = R(h)
S∼DmE[R^S(h)]=R(h)
推导如下:
由于
S
S
S中的样本独立同分布,
E
S
∼
D
m
[
R
S
^
(
h
)
]
=
E
S
∼
D
m
[
1
m
∑
i
=
1
m
1
h
(
x
i
)
≠
c
(
x
i
)
]
=
1
m
∑
i
=
1
m
E
[
1
h
(
x
i
)
≠
c
(
x
i
)
]
=
E
S
∼
D
m
[
1
h
(
x
)
≠
c
(
x
)
]
\mathop{E}\limits_{S\sim D^m}[\hat{R_S}(h)] = \mathop{E}\limits_{S\sim D^m}[\frac{1}{m}\sum_{i=1}^m 1_{h(x_i)\neq c(x_i)}] = \frac{1}{m}\sum_{i=1}^m \mathop{E}\limits_{}[1_{h(x_i)\neq c(x_i)}] = \mathop{E}\limits_{S\sim D^m}[1_{h(x)\neq c(x)}]
S∼DmE[RS^(h)]=S∼DmE[m1i=1∑m1h(xi)=c(xi)]=m1i=1∑mE[1h(xi)=c(xi)]=S∼DmE[1h(x)=c(x)]
E S ∼ D m [ R S ^ ( h ) ] = E S ∼ D m [ 1 h ( x ) ≠ c ( x ) ] = E x ∼ D [ 1 h ( x ) ≠ c ( x ) ] = R ( h ) \mathop{E}\limits_{S\sim D^m}[\hat{R_S}(h)]=\mathop{E}\limits_{S\sim D^m}[1_{h(x)\neq c(x)}] = \mathop{E}\limits_{x\sim D}[1_{h(x)\neq c(x)}] = R(h) S∼DmE[RS^(h)]=S∼DmE[1h(x)=c(x)]=x∼DE[1h(x)=c(x)]=R(h)
n
n
n 指:表示一个元素
x
∈
X
x\in X
x∈X所用的计算开销,至多是O(n)
s
i
z
e
(
c
)
指
:
size(c)指:
size(c)指:表示
c
∈
C
c\in C
c∈C所用的最大计算开销。
h
s
h_s
hs: 算法
A
A
A接受了有标签样本集
S
S
S后返回的映射。
了解了基本定义后,下文开始正式介绍PAC 学习框架~
定理1 PAC-learning
一个
C
C
C可以称作PAC-learning的条件是:如果存在一个算法
A
A
A和一个多项式函数
p
o
l
y
(
⋅
,
⋅
,
⋅
,
⋅
)
poly(·,·,·,·)
poly(⋅,⋅,⋅,⋅),使得对于任意的
ϵ
>
0
\epsilon>0
ϵ>0 and
δ
>
0
\delta>0
δ>0,对于所有
X
X
X服从的分布
D
D
D以及所有的目标映射
c
∈
C
c\in C
c∈C,对于任何样本数量
m
≥
p
o
l
y
(
1
/
ϵ
,
1
/
δ
,
n
,
s
i
z
e
(
c
)
)
m\geq poly(1/\epsilon,1/\delta,n,size(c))
m≥poly(1/ϵ,1/δ,n,size(c))的样本集都满足下式:
P
S
∼
D
m
[
R
(
h
S
)
≤
ϵ
]
≥
1
−
δ
\mathop{P}\limits_{S\sim D^m}[R(h_S)\leq\epsilon]\geq 1-\delta
S∼DmP[R(hS)≤ϵ]≥1−δ
通俗化解释:
例如
δ
=
0.01
,
ϵ
=
0.1
\delta = 0.01,\epsilon=0.1
δ=0.01,ϵ=0.1,xxx
如果算法 A A A可以在 p o l y ( 1 / ϵ , 1 / δ , n , s i z e ( c ) ) poly(1/\epsilon,1/\delta,n,size(c)) poly(1/ϵ,1/δ,n,size(c))的时间内运行的话,就称 C C C是可以高效的PAC可学习的(efficiently PAC-learnable)。
PAC-learnable保证了在理论上可以在有限且足够大的数据集上学习到性能很好的近似解 h S h_S hS, efficiently PAC-learnable 保证了在实际运行中能够计算到这个结果,如果时间复杂度太大的话即便理论可行,实际也无法得到结果。
δ > 0 \delta>0 δ>0用来使得 1 − δ 1-\delta 1−δ表示可信度, ϵ > 0 \epsilon>0 ϵ>0使得 1 − ϵ 1-\epsilon 1−ϵ表示准确度。
一些关于PAC定义比较重要的key point:
- PAC框架的分布不受限制,也就是说对于样本的分布 D D D,不需要做特殊的假设。
- 用来计算error的训练集和样本集要从同一分布里采样。才能保证我们计算到的error近似等价generalization error。不过如果考虑域迁移的问题时,这个限制可以放宽。
- PAC框架处理的是一类 c o n c e p t s concepts concepts C C C是否可学习,而不是某一个特定的 c o n c e p t concept concept。注意,在算法中 C C C是已知的,但是目标映射 c c c是未知的。
后面根据几个具体的实例进一步说明
Example 1
设在二维平面坐标系中有一些点,同时有一个和坐标轴平行的矩形R,在R内的点赋值为1,否则赋值为0,任务是根据已有标签的样本集来找到这个矩形分界线。由此可得:
X
=
R
2
X = R^2
X=R2,
c
o
n
c
e
p
t
concept
concept class 是所有在
R
2
R^2
R2上的和坐标轴平行的矩形。
下面证明这个任务是PAC-learnable
算法 A A A接受一个有标签的样本集 S S S,返回一个平行坐标轴的矩阵 R ′ = R S R' = R_S R′=RS。这个 R ′ R' R′是包含所有正样本的面积最小的矩阵(tightest rectangle)。由于 R ′ R' R′不会把产生假正样本,因此出错的点肯定是在 R R R内。
已知
R
∈
C
R\in C
R∈C是目标
c
o
n
c
e
p
t
concept
concept,设
ϵ
>
0
\epsilon > 0
ϵ>0。
P
(
R
)
P(R)
P(R)成为R的概率量,表示随机从分布
D
D
D中采样的点会落在
R
R
R内的概率。根据前面对于算法返回的
R
′
R'
R′的设定,该映射只会对落在R内而落在
R
′
R'
R′外的点判断出错,我们可以假设
P
(
R
)
>
ϵ
P(R)>\epsilon
P(R)>ϵ,
P
(
R
′
)
P(R')
P(R′)对于未曾见过的点,出错的概率小于或者等于
ϵ
\epsilon
ϵ。
同时沿着R的四个边定义四个矩形区域
r
1
,
r
2
,
r
3
,
r
4
r_1,r_2,r_3,r_4
r1,r2,r3,r4,每一个的区域的概率量至少为
ϵ
/
4
\epsilon/4
ϵ/4。
设
l
,
r
,
b
,
t
l,r,b,t
l,r,b,t来定义
R
:
R
=
[
l
,
r
]
×
[
b
,
t
]
R:R=[l,r]\times [b,t]
R:R=[l,r]×[b,t],设
s
i
来
定
义
r
i
:
r
4
=
[
l
,
s
4
]
×
[
b
,
t
]
s_i来定义r_i: r_4 = [l,s_4]\times [b,t]
si来定义ri:r4=[l,s4]×[b,t],
s
4
=
i
n
f
{
s
:
P
[
[
l
,
s
]
×
[
b
,
t
]
≥
ϵ
/
4
]
}
,
i
n
f
{
⋅
}
表
示
下
限
s_4 = inf\{s: P[[l,s]\times [b,t] \geq \epsilon/4]\},inf\{·\}表示下限
s4=inf{s:P[[l,s]×[b,t]≥ϵ/4]},inf{⋅}表示下限,由此可以定义
r
i
r_i
ri的概率量
r
i
−
=
[
l
,
s
i
]
×
[
b
,
t
]
,
i
=
1
,
2
,
3
,
4
\mathop{r_i}\limits^{-} = [l,s_i]\times [b,t], i = 1,2,3,4
ri−=[l,si]×[b,t],i=1,2,3,4
如果
R
S
R_S
RS的四个边都在
r
i
r_i
ri里面,那么他的错误区域,也就是他没有覆盖的R的部分区域被包含在
r
i
−
\mathop{r_i}\limits^{-}
ri−里,概率量不会超过
ϵ
\epsilon
ϵ。也就是说,如果
R
(
R
S
)
>
ϵ
R(R_S) > \epsilon
R(RS)>ϵ,
R
S
R_S
RS至少有一个边不在region
r
i
r_i
ri里。于是可得:
P
S
∼
D
m
[
R
(
R
S
)
>
ϵ
]
≤
P
S
∼
D
m
[
∪
i
=
1
4
{
R
S
∩
r
i
=
∅
}
]
≤
∑
i
=
1
4
P
S
∼
D
m
[
R
S
∩
r
i
=
∅
]
≤
4
(
1
−
ϵ
/
4
)
m
,
因
为
P
(
r
i
)
≥
ϵ
/
4
≤
4
exp
(
−
m
ϵ
/
4
)
,
因
为
(
1
−
x
)
≤
exp
(
−
x
)
\mathop{P}\limits_{S\sim D^m}[R(R_S) > \epsilon]\leq \mathop{P}\limits_{S\sim D^m}[\cup_{i=1}^4\{R_S\cap r_i = \varnothing\}] \\\leq\sum_{i=1}^4\mathop{P}\limits_{S\sim D^m}[R_S\cap r_i = \varnothing]\\ \leq4(1-\epsilon/4)^m,\quad因为P(r_i) \geq\epsilon/4\\ \leq4\exp(-m\epsilon/4),\quad因为(1-x)\leq\exp(-x)
S∼DmP[R(RS)>ϵ]≤S∼DmP[∪i=14{RS∩ri=∅}]≤i=1∑4S∼DmP[RS∩ri=∅]≤4(1−ϵ/4)m,因为P(ri)≥ϵ/4≤4exp(−mϵ/4),因为(1−x)≤exp(−x)
这里要着重解释一下倒第二步,为什么这样把
m
m
m引进不等式:
我们要注意到这里的
P
P
P表示的不是传统意义上概率论里面的概率,他表示的是概率量,
P
S
∼
D
m
[
R
S
∩
r
i
=
∅
]
\mathop{P}\limits_{S\sim D^m}[R_S\cap r_i = \varnothing]
S∼DmP[RS∩ri=∅]针对的是对于
S
S
S里的所有样本。这个
S
S
S是算法
A
A
A获得的一批有标签的
S
S
S,且正样本全都包含在
R
S
R_S
RS里(因为返回的是tightest rectangle, 输入样本只包含正样本即可),因为
R
S
R_S
RS的形状是完全取决于训练样本的位置的,那么
R
S
∩
r
i
=
∅
R_S\cap r_i=\varnothing
RS∩ri=∅的概率就等价于这
m
m
m个点都落在r_i外的概率。
回到前面的定义:要对于任何样本数量
m
≥
p
o
l
y
(
1
/
ϵ
,
1
/
δ
,
n
,
s
i
z
e
(
c
)
)
m\geq poly(1/\epsilon,1/\delta,n,size(c))
m≥poly(1/ϵ,1/δ,n,size(c))的样本集都满足下式:
P
S
∼
D
m
[
R
(
h
S
)
≤
ϵ
]
≥
1
−
δ
e
.
g
.
P
S
∼
D
m
[
R
(
h
S
)
≥
ϵ
]
≤
δ
e
.
g
.
4
exp
(
−
m
ϵ
/
4
)
≤
δ
e
.
g
.
m
≥
4
ϵ
log
4
δ
\mathop{P}\limits_{S\sim D^m}[R(h_S)\leq\epsilon]\geq 1-\delta\\ e.g. \quad \mathop{P}\limits_{S\sim D^m}[R(h_S)\geq\epsilon]\leq \delta\\ e.g. \quad 4\exp(-m\epsilon/4)\leq\delta\\ e.g. \quad m\geq \frac{4}{\epsilon}\log\frac{4}{\delta}
S∼DmP[R(hS)≤ϵ]≥1−δe.g.S∼DmP[R(hS)≥ϵ]≤δe.g.4exp(−mϵ/4)≤δe.g.m≥ϵ4logδ4
也就是说,想要在给定 S S S的情况下,算法返回的映射的generalization error < ϵ <\epsilon <ϵ,输入样本 S S S的大小 m m m必须大于等于 4 ϵ log 4 δ \frac{4}{\epsilon}\log\frac{4}{\delta} ϵ4logδ4。同时,输入样本的表达和待求矩阵的表达的计算开销都是常数(点由坐标即可表示,矩阵由4个角即可表示),这样就得到了该问题的样本复杂度。 因为样本复杂度为 O ( 1 / ϵ log 1 / δ ) O(1/\epsilon\log 1/\delta) O(1/ϵlog1/δ),所以该问题是PAC-learnable。
相应的,我们也可以给出当前问题的generalization bound。也就是,有大于等于
1
−
δ
1-\delta
1−δ的概率,
R
(
R
S
)
R(R_S)
R(RS)的上界由
m
,
δ
m,\delta
m,δ决定。
我们令
δ
=
4
exp
(
−
m
ϵ
/
4
)
\delta = 4\exp(-m\epsilon/4)
δ=4exp(−mϵ/4)从而计算
ϵ
=
4
m
log
4
δ
\epsilon = \frac{4}{m}\log\frac{4}{\delta}
ϵ=m4logδ4
可得上界:
R
(
R
S
)
≤
4
m
log
4
δ
R(R_S)\leq\frac{4}{m}\log\frac{4}{\delta}
R(RS)≤m4logδ4
不过一个相似的证明并不能直接应用到另一个相似的 c o n c e p t s concepts concepts class,因为证明过程中特定的几何参数是十分重要的,无法直接作用到其他 c o n c e p t s concepts concepts里。 所以我们需要一个更为普遍的证明技巧和一个更为普遍的结论。下面就来介绍一般化的情况~
Guarantees for finite hypothesis sets——consistent case
上一个例子中,算法返回的
h
S
h_S
hS总是"一致的"(consistent,下面都用英文来表示,更突显其定义性),consistent就是说在训练集
S
S
S上不会出错。
这一节主要针对的consistent 映射来讨论他的样本复杂度,或者说generalization bound。这里讨论的映射集的基数
∣
H
∣
|H|
∣H∣是有限的,同时因为我们针对的是consistent 映射,我们会假定目标
c
o
n
c
e
p
t
s
concepts
concepts
c
c
c在
H
H
H里。
定理2
令
H
H
H表示从
X
X
X到
Y
Y
Y的有限映射集合。
A
A
A是解决这一类问题的算法,并且返回一个consistent 映射
h
S
:
R
S
^
(
h
S
)
=
0
h_S:\hat{R_S}(h_S)=0
hS:RS^(hS)=0。对于任何
ϵ
,
δ
>
0
\epsilon,\delta > 0
ϵ,δ>0,不等式
P
s
∼
D
m
[
R
(
h
s
)
≤
ϵ
]
≥
1
−
δ
P_{s\sim D^m}[R(h_s)\leq\epsilon]\geq1-\delta
Ps∼Dm[R(hs)≤ϵ]≥1−δ都在以下情况成立的条件下成立:
m
≥
1
ϵ
(
log
∣
H
∣
+
log
1
δ
)
m\geq\frac{1}{\epsilon}(\log|H|+\log\frac{1}{\delta})
m≥ϵ1(log∣H∣+logδ1)
据此也可得出generalization bound:对于任意
ϵ
,
δ
>
0
\epsilon,\delta > 0
ϵ,δ>0,至少有
1
−
δ
1-\delta
1−δ的概率认为:
R
(
h
S
)
≤
1
m
(
log
∣
H
∣
+
l
o
g
1
δ
)
R(h_S)\leq\frac{1}{m}(\log|H|+log\frac{1}{\delta})
R(hS)≤m1(log∣H∣+logδ1)
证明如下:
给定一个
ϵ
>
0
\epsilon>0
ϵ>0。我们并不知道算法将会返回哪一个consistent映射,所以我们要对所有的consistent映射做一个“统一的收敛边界”,也就是所有的consistent映射都成立。因此,我们要重点限制那些error大于
ϵ
\epsilon
ϵ的consistent映射。定义
H
ϵ
=
{
h
∈
H
:
R
(
h
)
>
ϵ
}
H_\epsilon=\{h\in H:R(h) > \epsilon\}
Hϵ={h∈H:R(h)>ϵ}可以得到以下边界:
P
[
R
S
(
h
)
=
0
^
]
≤
(
1
−
ϵ
)
m
,
h
∈
H
ϵ
P[\hat{R_S(h)=0}]\leq(1-\epsilon)^m,h\in H_\epsilon
P[RS(h)=0^]≤(1−ϵ)m,h∈Hϵ
解释:因为已知 h ∈ H ϵ h\in H_\epsilon h∈Hϵ对于i.i.d.的样本的generalization error > ϵ >\epsilon >ϵ,那么该假设同时consistent的概率就是对于训练样本集 S S S中所有的样本都不犯错的概率,也就是 ( 1 − ϵ ) m (1-\epsilon)^m (1−ϵ)m。
由此可以推出:
P
[
∃
h
∈
H
ϵ
:
R
S
^
=
0
]
=
P
[
R
S
^
(
h
1
)
=
0
∨
R
S
^
(
h
2
)
=
0
,
.
.
.
,
R
S
^
(
h
∣
H
ϵ
∣
)
=
0
]
≤
∑
h
∈
H
ϵ
P
[
R
S
^
(
h
)
=
0
]
≤
∑
h
∈
H
ϵ
(
1
−
ϵ
)
m
≤
∣
H
∣
(
1
−
ϵ
)
m
≤
∣
H
∣
e
−
m
ϵ
P[\exists h\in H_\epsilon:\hat{R_S} = 0] = P[\hat{R_S}(h_1)=0 \lor \hat{R_S}(h_2)=0 ,...,\hat{R_S}(h_{|H_\epsilon|})=0]\\ \leq \sum\limits_{h\in H_\epsilon}P[\hat{R_S}(h)=0]\\ \leq \sum\limits_{h\in H_\epsilon}(1-\epsilon)^m \leq|H|(1-\epsilon)^m\leq|H|e^{-m\epsilon}
P[∃h∈Hϵ:RS^=0]=P[RS^(h1)=0∨RS^(h2)=0,...,RS^(h∣Hϵ∣)=0]≤h∈Hϵ∑P[RS^(h)=0]≤h∈Hϵ∑(1−ϵ)m≤∣H∣(1−ϵ)m≤∣H∣e−mϵ
不等式解释:
P
[
∃
h
∈
H
ϵ
:
R
S
^
=
0
]
P[\exists h\in H_\epsilon:\hat{R_S} = 0]
P[∃h∈Hϵ:RS^=0]表示存在generalization error大于
ϵ
\epsilon
ϵ的consistent映射的概率,存在这样的映射的概率要小于
δ
\delta
δ,等价于
P
[
R
(
h
S
)
<
ϵ
]
P[R(h_S) < \epsilon]
P[R(hS)<ϵ],又因为要求
P
[
R
(
h
S
)
<
ϵ
]
<
δ
P[R(h_S) < \epsilon]<\delta
P[R(hS)<ϵ]<δ:
令
∣
H
∣
e
−
m
ϵ
=
δ
|H|e^{-m\epsilon} = \delta
∣H∣e−mϵ=δ即可得证上述两个定理
这说明:一个consistent算法 A A A是PAC-learning算法的要求是他的映射集的基数有限(为常数)。
注意:
R
(
h
S
)
≤
1
m
(
log
∣
H
∣
+
l
o
g
1
δ
)
R(h_S)\leq\frac{1}{m}(\log|H|+log\frac{1}{\delta})
R(hS)≤m1(log∣H∣+logδ1)这个公式说明了consistent映射的generalization error的上界随
m
m
m的上升而下降,这也非常符合我们的常识:训练的数据量越大,模型越准确。
我们想让设计一个consistent算法的代价就是要用更大的映射集
H
H
H,使得它能够包含目标映射。尽管损失边界也随着
H
H
H基数增加而增加,不过这是一个log级别的差距
下面举几个具体的例子来说明PAC怎么用:
Example 2 布尔变量的合取式
class
C
n
C_n
Cn是至多n个布尔变量
x
1
,
x
2
,
.
.
.
,
x
n
x_1,x_2,...,x_n
x1,x2,...,xn的合取式集合。每一个变量都有两种表现形式,
x
i
x_i
xi 或者
x
i
−
\mathop{x_i}\limits^{-}
xi−(取反)。例如一个concept是
x
1
∧
x
2
−
∧
x
4
x_1\land \mathop{x_2}\limits^{-}\land x_4
x1∧x2−∧x4,那么对于样本
(
1
,
0
,
0
,
1
)
(1,0,0,1)
(1,0,0,1),它的结果是1(true),对于样本
(
1
,
0
,
0
,
0
)
(1,0,0,0)
(1,0,0,0)它的结果是0(false)。
算法要做的就是分析给定的样本集,返回最符合样本的布尔表达式。对于每一个正样本
(
b
1
,
.
.
,
b
n
)
(b_1,..,b_n)
(b1,..,bn),如果
b
i
=
1
b_i = 1
bi=1,那么
x
i
−
\mathop{x_i}\limits^{-}
xi−就被排除了,反之
x
i
x_i
xi被排除。最后把剩下的布尔元素组合起来。
于是
∣
H
∣
=
∣
C
∣
=
3
n
|H| = |C| = 3^n
∣H∣=∣C∣=3n,因为一个变量,一个布尔表达式可能包含的他本身,也可能包含他的逆,也可能不包含这个变量。带入上文计算样本复杂度的公式,对于任意的
ϵ
,
δ
>
0
\epsilon,\delta > 0
ϵ,δ>0:
m
≥
1
ϵ
(
(
log
3
)
n
+
l
o
g
1
δ
)
m\geq\frac{1}{\epsilon}((\log3)n+log\frac{1}{\delta})
m≥ϵ1((log3)n+logδ1)
因为右式是关于
1
ϵ
、
1
δ
\frac{1}{\epsilon}、\frac{1}{\delta}
ϵ1、δ1的多项式,所以这一问题是PAC-learnable。
令 δ = 0.02 , ϵ = 0.1 = = > m ≥ 149 \delta = 0.02,\epsilon = 0.1==>m\geq149 δ=0.02,ϵ=0.1==>m≥149。所以,当训练样本至少为149时,边界保证我们至少有98%的把握说我们找到的映射的准确度是90%。
Eample 3
令
X
=
{
0
,
1
}
n
X=\{0,1\}^n
X={0,1}n表示所有有n个元素的布尔向量。
U
n
U_n
Un是
c
o
n
c
e
p
t
concept
concept class,由
X
X
X的所有子集构成。
为了保证能consistent 映射,映射集合
H
H
H必须包含
c
o
n
c
e
p
t
s
concepts
concepts集合
U
n
U_n
Un==>
∣
H
∣
≥
∣
U
n
∣
=
2
2
n
|H| \geq |U_n| = 2^{2^n}
∣H∣≥∣Un∣=22n
样本复杂度:
m
≥
1
ϵ
(
(
l
o
g
2
)
2
n
+
l
o
g
1
δ
)
m\geq\frac{1}{\epsilon}((log2)2^n+log\frac{1}{\delta})
m≥ϵ1((log2)2n+logδ1)
这是关于n的指数表达式,表达样本的复杂度也是指数的(
2
n
2^n
2n)。所以不能保证任务是PAC-learnable。
Example 4 k-term DNF formulea
这里把上面提到的布尔表达式(单纯的与or或)扩展成了析取范式(k-term DNF formulea),析取范式包括k项,每一项都是n个布尔变量的合取式。例如: k = 2 , n = 3 k=2,n=3 k=2,n=3的一个concept: ( x 1 ∧ x 2 ∧ x 3 ) ∨ ( x 1 ∧ x 2 − ∨ x 3 ) (x_1\land x_2\land x_3)\lor(x_1\land \mathop{x_2}\limits^{-}\lor x_3) (x1∧x2∧x3)∨(x1∧x2−∨x3)。
显然,class
C
C
C的基数是
3
n
k
3^{nk}
3nk。为了保证consistent,
∣
H
∣
≥
∣
C
∣
=
3
n
k
|H| \geq |C|=3^{nk}
∣H∣≥∣C∣=3nk
样本复杂性边界是:
m
≥
1
ϵ
(
(
log
3
)
n
k
+
log
1
δ
)
m\geq \frac{1}{\epsilon}((\log 3)nk+\log\frac{1}{\delta})
m≥ϵ1((log3)nk+logδ1)
是关于
1
ϵ
\frac{1}{\epsilon}
ϵ1和
log
1
δ
\log\frac{1}{\delta}
logδ1的多项式。因此是PAC-learnable.
然而这个算法并不是efficently PAC-learnable。因为这个问题可以看做是三色图问题,解决他是一个NP问题。除非当RP=NP的时候,但是这几乎不可能发生。
Example 5 k-term CNF formulea
上一个例子是析取范式,现在看一看合取范式(k-CNF formulea)。他是否也跟析取范式一样,不是一个efficiently PAC-learnable问题呢?
答案是:k-CNF formulea是一个efficiently PAC-learnable问题。
Why??
回想我们举得第一个关于布尔表达式例子,是n个布尔变量的合区式,而k-CNF的表达形式是:
(
x
1
∨
.
.
.
∨
x
k
)
∧
.
.
.
∧
(
x
1
∨
.
.
.
∨
x
k
)
=
>
T
1
∧
.
.
.
∧
T
n
(x_1\lor...\lor x_k)\land ... \land (x_1\lor...\lor x_k)=>T_1\land ... \land T_n
(x1∨...∨xk)∧...∧(x1∨...∨xk)=>T1∧...∧Tn。
也就是说我们可以引入一个新的变量
T
i
T_i
Ti来表示k-CNF的每一个合区的项
(
x
1
∨
.
.
.
∨
x
k
)
(x_1\lor...\lor x_k)
(x1∨...∨xk)。虽然这样的变化会使得样本分布改变,但是并不影响PAC-learn框架,因为他并不需要对样本分布做特殊假设。这样就把k-CNF问题转变成了n个布尔变量的合取形式。因此也是PAC-learnable。
有同学可能会想到:k-DNF也是可以转换成k-CNF的形式呀?为什么k-DNF不是efficiently PAC-learnable呢?
因为从k-DNF转换到k-CNF这个过程本身就是一个NP问题。
Guarantees for finite hypothesis sets——inconsistent case
上一节介绍的是映射(hypothesis)集 H H H基数有限,并且算法返回的映射是consistent的情况下,样本复杂度以及generalization error边界的计算。这一节扩展到了inconsistent case。因为一般情况下, H H H里也许没有consistent的映射,能够在训练集上完全不犯错误。因为现实生活中的 c o n c e p t s concepts concepts classes比能学习的映射集 H H H复杂多了。(想象一下:影响房价的因素可能有房屋大小、地理位置、历史价格等等许多因素,这个影响过程是非常复杂的,即 c o n c e p t s concepts concepts十分复杂,而我们在做机器学习来学习映射集时只能通过多项式+非线性函数来逼近这个映射过程,却很难做到完全一致。然而找到一个在训练集上犯错概率很小的映射也是很具有实用意义的)所以考虑inconsistent case更具有现实意义。
为了推导出这种情况下的边界,使用了霍夫丁不等式(Hoeffding’s inequality)或者下属的这一有关某一固定映射(hypothesis)的empirical error和generalization error推论
Hoeffding不等式指的是某个事件的真实概率与在伯努利试验中观察到的频率之间的差异
推论1
固定
ϵ
>
0
\epsilon>0
ϵ>0,对于任意假设
h
:
X
→
{
0
,
1
}
h:X\rightarrow \{0,1\}
h:X→{0,1},下述不等式成立:
P
S
∼
D
m
[
R
S
^
(
h
)
−
R
(
h
)
≥
ϵ
]
≤
exp
(
−
2
m
ϵ
2
)
P
S
∼
D
m
[
R
S
^
(
h
)
−
R
(
h
)
]
≤
−
ϵ
]
≤
exp
(
−
2
m
ϵ
2
)
=
>
P
S
∼
D
m
[
∣
R
S
^
(
h
)
−
R
(
h
)
∣
]
≥
ϵ
]
≤
2
exp
(
−
2
m
ϵ
2
)
\mathop{P}\limits_{S\sim D^m}[\hat{R_S}(h)-R(h)\geq\epsilon]\leq\exp(-2m\epsilon^2)\\ \mathop{P}\limits_{S\sim D^m}[\hat{R_S}(h)-R(h)]\leq-\epsilon]\leq\exp(-2m\epsilon^2)\\ =>\mathop{P}\limits_{S\sim D^m}[|\hat{R_S}(h)-R(h)|]\geq\epsilon]\leq2\exp(-2m\epsilon^2)
S∼DmP[RS^(h)−R(h)≥ϵ]≤exp(−2mϵ2)S∼DmP[RS^(h)−R(h)]≤−ϵ]≤exp(−2mϵ2)=>S∼DmP[∣RS^(h)−R(h)∣]≥ϵ]≤2exp(−2mϵ2)
(上述公式直接从霍夫丁不等式导出)
设
δ
=
2
exp
(
−
2
m
ϵ
2
)
\delta = 2\exp(-2m\epsilon^2)
δ=2exp(−2mϵ2),计算出
ϵ
\epsilon
ϵ可以得到下一推论:
推论2
给定一个映射
h
:
X
→
{
0
,
1
}
h:X\rightarrow\{0,1\}
h:X→{0,1},对任意
δ
>
0
\delta>0
δ>0,以下不等式至少有
1
−
δ
1-\delta
1−δ的概率成立:
R
(
h
)
≤
R
S
^
+
log
2
δ
2
m
R(h)\leq\hat{R_S}+\sqrt{\frac{\log\frac{2}{\delta}}{2m}}
R(h)≤RS^+2mlogδ2
(由上一个推论得到)
举个栗子:
Example 6 扔硬币
假设一个不均匀的硬币,正面朝上的概率是
p
p
p,同时设一个映射只会猜反面。。那么这个映射的generalization error
R
(
h
)
=
p
R(h) = p
R(h)=p,empirical error
R
S
^
=
p
^
\hat{R_S} = \hat{p}
RS^=p^,
p
^
\hat{p}
p^就是映射在训练集上猜错的概率。这样推论2保证了有
1
−
δ
1-\delta
1−δ的概率使得:
∣
p
−
p
^
∣
≤
log
2
δ
2
m
|p-\hat{p}|\leq\sqrt{\frac{\log\frac{2}{\delta}}{2m}}
∣p−p^∣≤2mlogδ2
如果我们设
δ
=
0.02
\delta = 0.02
δ=0.02,样本大小为500,那么我们就有
98
%
98\%
98%的把握说:
∣
p
−
p
^
∣
≤
log
(
10
)
1000
≈
0.048
|p-\hat{p}|\leq\sqrt{\frac{\log(10)}{1000}} \approx 0.048
∣p−p^∣≤1000log(10)≈0.048
这意味着:对于一个固定的映射和 δ \delta δ,当我们使用的训练样本越多,计算得到的empirical error在 1 − δ 1-\delta 1−δ的把握下越接近generalization error。
然而对于我们在真实学习的时候面对的是一个映射集 H H H而非单个映射,要保证对于每一个返回的映射都能使其empirical error尽可能和generalization error接近。
定理 3
令
H
H
H是一个有限映射集。对于任意
δ
>
0
\delta>0
δ>0,至少有
1
−
δ
1-\delta
1−δ的概率使得下式成立:
∀
h
∈
H
,
R
(
h
)
≤
R
S
^
(
h
)
+
log
∣
H
∣
+
log
2
δ
2
m
\forall h\in H,\quad R(h)\leq\hat{R_S}(h)+\sqrt{\frac{\log|H|+\log\frac{2}{\delta}}{2m}}
∀h∈H,R(h)≤RS^(h)+2mlog∣H∣+logδ2
证明如下:
设
h
1
,
h
2
,
.
.
,
h
∣
H
∣
h_1,h_2,..,h_{|H|}
h1,h2,..,h∣H∣是
H
H
H的元素,基于推论2的联合概率如下:
P
[
∃
h
∈
H
∣
R
S
^
(
h
)
−
R
(
h
)
∣
>
ϵ
]
=
P
[
(
∣
R
S
^
(
h
1
)
−
R
(
h
1
)
∣
>
ϵ
)
∨
(
∣
R
S
^
(
h
2
)
−
R
(
h
2
)
∣
>
ϵ
)
∨
.
.
.
∨
(
∣
R
S
^
(
h
∣
H
∣
)
−
R
(
h
∣
H
∣
)
∣
>
ϵ
)
]
≤
∑
h
∈
H
P
[
∣
R
S
^
(
h
)
−
R
(
h
)
∣
>
ϵ
]
≤
2
∣
H
∣
exp
(
−
2
m
ϵ
2
)
P[\exists h\in H|\hat{R_S}(h)-R(h)|>\epsilon]\\ =P[(|\hat{R_S}(h_1)-R(h_1)|>\epsilon)\lor (|\hat{R_S}(h_2)-R(h_2)|>\epsilon)\lor ...\lor (|\hat{R_S}(h_{|H|})-R(h_{|H|})|>\epsilon)]\\ \leq\sum\limits_{h\in H}P[|\hat{R_S}(h)-R(h)|>\epsilon]\\ \leq 2|H|\exp(-2m\epsilon^2)
P[∃h∈H∣RS^(h)−R(h)∣>ϵ]=P[(∣RS^(h1)−R(h1)∣>ϵ)∨(∣RS^(h2)−R(h2)∣>ϵ)∨...∨(∣RS^(h∣H∣)−R(h∣H∣)∣>ϵ)]≤h∈H∑P[∣RS^(h)−R(h)∣>ϵ]≤2∣H∣exp(−2mϵ2)
令
2
∣
H
∣
exp
(
−
2
m
ϵ
2
)
=
δ
2|H|\exp(-2m\epsilon^2)=\delta
2∣H∣exp(−2mϵ2)=δ可以计算得到
ϵ
\epsilon
ϵ。从而得到定理3.
因此对于一个有限的映射集
H
H
H:
R
(
h
)
≤
R
S
^
(
h
)
+
O
(
log
2
(
∣
H
∣
)
m
)
R(h)\leq \hat{R_S}(h)+O(\sqrt{\frac{\log_2(|H|)}{m}})
R(h)≤RS^(h)+O(mlog2(∣H∣))
和前面说的一样 log 2 ( ∣ H ∣ ) \log_2(|H|) log2(∣H∣)可以指用来表示 H H H所占用的bits数。
这个不等式也符合我们的直观认识:更大的训练样本能提供更好的泛化性,虽然这个边界也随
∣
H
∣
|H|
∣H∣上升而上升,不过是
log
\log
log级别的。
同时也注意到,
R
(
h
)
R(h)
R(h)是和
log
2
(
∣
H
∣
)
m
\frac{\log_2(|H|)}{m}
mlog2(∣H∣)的开方一致的,所以对于一个固定的
∣
H
∣
|H|
∣H∣,相比于consistent 的情况,inconsistent的情况需要提供更大的样本量来保证相似的泛化性。
这个不等式也提供了一个平衡“减小empirical error”和“控制
∣
H
∣
|H|
∣H∣”的思想:
我们要控制映射集的大小,但同时较大的映射集也可以帮助减小empirical error。但是empirical error相似的时候,建议使用更小的映射集(这样泛化性更高)。