《机器学习基础》学习笔记-第二章 PAC学习框架-2.2对有限假设集的学习保证(一致的情况)
回顾:2.1节中讲到的矩形例子中,学习算法返回的假设总是一致的,即这样的假设在训练样本上准确无误。
本节内容另外又参考了(周志华老师)《机器学习》一书的一些解释。分为两种情况分开讨论其泛化能力。
不一致的情况——即:可分情形
不一致的情况,或者说可分情形意味着,目标概念c属于假设空间H,即 c ∈ H c\in H c∈H,而且假设都能完美的区分数据集。
那问题来了,如果我们给定包含m个训练样本的训练集D,如何能找到满足误差的假设呢?
按照PAC的理论,我们要找到一个样本规模m,使得学习算法L能以概率至少 1 − δ 1-\delta 1−δ找到目标近似即可。
所以,在此种情形下,我们在假设集的势 ∣ H ∣ |H| ∣H∣有限的情况下,对一致的假设给出一个具有一般性的样本复杂度界(即泛化界),给出如下定理:
定理2.1:学习界——有限假设集H,一致的情况:令H为一个有限的、由 X \mathcal{X} X到 Y \mathcal{Y} Y的映射函数组成的集合。令 A \mathcal{A} A为学习任意目标概念 c ∈ H c\in H c∈H的算法并且根据i.i.d. 样本S返回的是一个一致的假设 h s : R ^ ( h s ) = 0 h_s:\hat{R}(h_s) = 0 hs:R^(hs)=0。那么,对任意的 ε , δ > 0 \varepsilon ,\delta >0 ε,δ>0,PAC不等式 ( 1 − δ ) (1-\delta) (1−δ)成立的条件是: m ≥ 1 ε ( l o g ∣ H ∣ + l o g 1 δ ) m\ge \frac{1}{\varepsilon}(log|H|+log \frac{1}{\delta}) m≥ε1(log∣H∣+logδ1)
对应地,由这样的样本复杂度等价地可以得到如下的泛化边界:对于任意 ε , δ > 0 \varepsilon ,\delta >0 ε,δ>0,以至少为 ( 1 − δ ) (1-\delta) (1−δ)的概率,有: R ( h s ) ≤ 1 m ( l o g ∣ H ∣ + l o g 1 δ ) R(h_s)\le \frac{1}{m}(log|H|+log \frac{1}{\delta}) R(hs)≤m1(log∣H∣+logδ1)
下面给出证明:
首先理解,这个定理的原理:在可分情形下,我们的目标是找到一个假设hs=目标概念c。
针对此,我们容易想到这么一种学习策略,既然c在假设空间中,那么任何的训练集D上出现标记错误的假设,即
h
(
x
i
)
≠
c
(
x
i
)
h(x_i)\neq c(x_i)
h(xi)=c(xi),那这个假设肯定不是目标概念c,于是,我们只需要保留与D一致的假设,提出与D不一致的假设,如果训练集D足够大,我们可以不断借助D中的样例剔除不一致的假设,直到H中仅剩下一个假设为止,那么这个假设就是目标概念c。
但是,通常,训练集的规模是有限的,这就导致假设空间中可能不止一个假设与D一致,即存在“等效”的假设,无法再根据D来进一步区分。
OK,针对这个问题,我们就考虑PAC框架了,我们要求的不是一定找到这个标准的c,我们要的是PAC,高概率、近似即可。所以,按照PAC的思想,我们只需要让样本规模达到一定的程度,使得,学习算法L能够以概率 1 − δ 1-\delta 1−δ找到目标假设的 ε \varepsilon ε近似即可。
好,我们知道如果我们非要找到一条标准的c,那这个样本量可能很大,甚至无穷,但由于PAC框架的引入,我们知道没有必要这样,所以我们现在不需要找到标准的c了,我们现在的目标改为,找到近似的c即可,那么对于某个假设而言什么程度算近似呢?这时候,我们就提出了一致收敛界的概念,即包括 h s h_s hs在内对于由所有一致的假设构成的集合均满足PAC的界。
下面,我们先估计泛化误差大于
ε
\varepsilon
ε,但在训练集上仍表现一致性的假设出现的概率.
假定某假设h的泛化误差大于
ε
\varepsilon
ε,对分布D上 随机采样得到的任何样例
(
x
,
y
)
(x,y)
(x,y),有
P
(
h
(
x
)
=
y
)
=
1
−
P
(
h
(
x
)
≠
y
)
=
1
−
R
(
h
)
<
1
−
ε
P(h(x)=y)=1-P(h(x)\neq y)=1-R(h)<1-\varepsilon
P(h(x)=y)=1−P(h(x)=y)=1−R(h)<1−ε
由于,D上样本规模为m,且满足独立同分布,则h与D表现出一致性的概率为:
P
(
(
h
(
x
1
)
=
y
)
∧
.
.
.
∧
(
h
(
x
m
)
=
y
)
)
=
(
1
−
P
(
h
(
x
)
≠
y
)
)
m
<
(
1
−
ε
)
m
P((h(x_1)=y)\wedge ... \wedge (h(x_m)=y))=(1-P(h(x)\neq y))^m < (1-\varepsilon)^m
P((h(x1)=y)∧...∧(h(xm)=y))=(1−P(h(x)=y))m<(1−ε)m
我们并不知道,学习算法会输出H中的哪个假设,但只需要保证,假设中那些泛化误差大于
ε
\varepsilon
ε且对D一致的所有假设,出现的概率之和不大于
δ
\delta
δ即可:
P
[
h
∈
H
:
(
R
(
h
)
>
ε
)
∧
(
R
^
(
h
)
=
0
)
]
=
P
[
(
h
1
∈
H
,
R
(
h
1
)
>
ε
∧
R
^
(
h
1
)
=
0
)
∨
(
h
2
∈
H
,
R
(
h
2
)
>
ε
∧
R
^
(
h
2
)
=
0
)
]
≤
∑
h
∈
H
∣
H
∣
P
[
h
i
∈
H
:
(
R
(
h
i
)
>
ε
)
∧
(
R
^
(
h
i
)
=
0
)
]
≤
∑
h
∈
H
∣
H
∣
P
[
h
i
∈
H
:
(
R
(
h
i
)
>
ε
)
∣
(
R
^
(
h
i
)
=
0
)
]
≤
∣
H
∣
(
1
−
ε
)
m
\begin{split} &P[h\in H :(R(h)>\varepsilon ) \wedge (\hat{R}(h)=0)]\\ = &P[(h_1\in H,R(h_1)>\varepsilon \wedge \hat{R}(h_1)=0)\vee(h_2\in H,R(h_2)>\varepsilon \wedge \hat{R}(h_2)=0)]\\ \leq & \sum _{h\in H} ^{|H|} P[h_i\in H :(R(h_i)>\varepsilon ) \wedge (\hat{R}(h_i)=0)]\\ \leq & \sum _{h\in H} ^{|H|} P[h_i\in H :(R(h_i)>\varepsilon ) | (\hat{R}(h_i)=0)]\\ \leq & |H|(1-\varepsilon)^m \end{split}
=≤≤≤P[h∈H:(R(h)>ε)∧(R^(h)=0)]P[(h1∈H,R(h1)>ε∧R^(h1)=0)∨(h2∈H,R(h2)>ε∧R^(h2)=0)]h∈H∑∣H∣P[hi∈H:(R(hi)>ε)∧(R^(hi)=0)]h∈H∑∣H∣P[hi∈H:(R(hi)>ε)∣(R^(hi)=0)]∣H∣(1−ε)m
所以,令右边为
δ
\delta
δ即可得到:
∣
H
∣
(
1
−
ε
)
m
≤
δ
|H|(1-\varepsilon)^m \leq \delta
∣H∣(1−ε)m≤δ,解得:
m
≥
1
ε
l
n
∣
H
∣
+
l
n
1
δ
m\geq \frac{1}{\varepsilon}ln|H|+ln\frac{1}{\delta}
m≥ε1ln∣H∣+lnδ1
证毕。