关于周志华老师的《机器学习》这本书的学习笔记
记录学习过程
本博客记录Chapter12
1 基础知识
计算学习理论(computational learning theory):关于通过“计算”来进行“学习”的理论,即关于机器学习的理论基础,其目的是分析学习任务的困难本质,为学习算法体统理论保证,并根据结果指导算法设计。
对于二分类问题,给定样本集 { ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯ , ( x m , y m ) } \{(x_1,y_1),(x_2,y_2),\cdots,(x_m,y_m)\} {(x1,y1),(x2,y2),⋯,(xm,ym)}, y i ∈ { − 1 , + 1 } y_i\in\{-1,+1\} yi∈{−1,+1}。假设所有样本服从一个隐含未知的分布 D D D,所有样本均独立同分布(independent and identically distributed)。
令
h
h
h为样本到
{
−
1
,
+
1
}
\{-1,+1\}
{−1,+1}上的一个映射,其泛化误差为
E
(
h
;
D
)
=
P
x
∼
D
(
h
(
x
)
≠
y
)
E(h;D)=P_{x\sim D}(h(x)\neq y)
E(h;D)=Px∼D(h(x)=y)
h
h
h在
D
D
D上的经验误差为
E
^
(
h
;
D
)
=
1
m
∑
i
=
1
m
Ⅱ
(
h
(
x
i
)
≠
y
i
)
\hat{E}(h;D)=\frac{1}{m}\sum_{i=1}^m Ⅱ(h(x_i)\neq y_i)
E^(h;D)=m1i=1∑mⅡ(h(xi)=yi)
由于D是 D D D的独立同分布采样,因此 h h h的经验误差的期望等于其泛化误差。 在上下文明确时,我们将 E ( h ; D ) E(h;D) E(h;D)和 E ^ ( h ; D ) \hat E(h;D) E^(h;D)分别简记为 E ( h ) E(h) E(h)和 E ^ ( h ) \hat E(h) E^(h)。 令 ϵ \epsilon ϵ为 E ( h ) E(h) E(h)的上限,即 E ( h ) ≤ ϵ E(h)\le \epsilon E(h)≤ϵ;我们通常用 ϵ \epsilon ϵ表示预先设定的学得模型所应满足的误差要求,亦称“误差参数”。
我们将研究经验误差和泛化误差之间的逼近程度;若
h
h
h在数据集上的经验误差为0,则称
h
h
h与D一致,否则称其不一致。对于任意两个映射
h
1
,
h
2
∈
X
→
Y
h_1,h_2\in X \rightarrow Y
h1,h2∈X→Y,用不合(disagreement)来度量他们之间的差别:
d
(
h
1
,
h
2
)
=
P
x
∼
D
(
h
1
(
x
)
≠
h
2
(
x
)
)
d(h_1,h_2)=P_{x\sim D}(h_1(x)\neq h_2(x))
d(h1,h2)=Px∼D(h1(x)=h2(x))
我们将会用到几个常见的不等式:
-
Jensen不等式:对任意凸函数,有
f ( E ( X ) ) ≠ E ( f ( x ) ) f(E(X))\neq E(f(x)) f(E(X))=E(f(x)) -
Hoeffding不等式:若 x 1 , x 2 , … , x m x_1,x_2,\dots,x_m x1,x2,…,xm为 m m m个独立随机变量,且满足 0 ≤ x i ≤ 1 0\le x_i\le 1 0≤xi≤1,对任意 ϵ > 0 \epsilon>0 ϵ>0,有
P ( 1 m ∑ i = 1 m x i − 1 m ∑ i = 1 m E ( x i ) ≥ ϵ ) ≤ e − 2 m ϵ 2 P ( ∣ 1 m ∑ i = 1 m x i − 1 m ∑ i = 1 m E ( x i ) ∣ ≥ ϵ ) ≤ 2 e − 2 m ϵ 2 P(\frac{1}{m}\sum_{i=1}^mx_i-\frac{1}{m}\sum_{i=1}^mE(x_i)\ge\epsilon)\le e^{-2m\epsilon^2}\\ P(|\frac{1}{m}\sum_{i=1}^mx_i-\frac{1}{m}\sum_{i=1}^mE(x_i)|\ge\epsilon)\le 2e^{-2m\epsilon^2} P(m1i=1∑mxi−m1i=1∑mE(xi)≥ϵ)≤e−2mϵ2P(∣m1i=1∑mxi−m1i=1∑mE(xi)∣≥ϵ)≤2e−2mϵ2 -
McDiarmid不等式:若 x 1 , x 2 , … , x m x_1,x_2,\dots,x_m x1,x2,…,xm为 m m m个独立随机变量,且满足 1 ≤ i ≤ m 1\le i\le m 1≤i≤m,函数 f f f满足:
sup x 1 , ⋯ , x m , x i ′ ∣ f ( x 1 , ⋯ , x m ) − f ( x 1 , ⋯ , x i − 1 , x i ′ , x i + 1 , ⋯ , x m ) ∣ ≤ c i , \sup_{x_1,\cdots,x_m,\ x_i'} |f(x_1,\cdots,x_m)-f(x_1,\cdots,x_{i-1},x_i',x_{i+1},\cdots,x_m)|\le c_i, x1,⋯,xm, xi′sup∣f(x1,⋯,xm)−f(x1,⋯,xi−1,xi′,xi+1,⋯,xm)∣≤ci,
则对任意 ϵ > 0 \epsilon >0 ϵ>0,有
P ( f ( x 1 , ⋯ , x m ) − E ( f ( x 1 , ⋯ , x m ) ) ≥ ϵ ) ≤ e x p ( − 2 ϵ 2 ∑ i c i 2 ) P ( ∣ f ( x 1 , ⋯ , x m ) − E ( f ( x 1 , ⋯ , x m ) ) ∣ ≥ ϵ ) ≤ 2 e x p ( − 2 ϵ 2 ∑ i c i 2 ) P(f(x_1,\cdots,x_m)-E(f(x_1,\cdots,x_m))\ge\epsilon )\le exp (\frac{-2\epsilon^2}{\sum_ic_i^2})\\ P(|f(x_1,\cdots,x_m)-E(f(x_1,\cdots,x_m))|\ge\epsilon )\le 2\ exp (\frac{-2\epsilon^2}{\sum_ic_i^2}) P(f(x1,⋯,xm)−E(f(x1,⋯,xm))≥ϵ)≤exp(∑ici2−2ϵ2)P(∣f(x1,⋯,xm)−E(f(x1,⋯,xm))∣≥ϵ)≤2 exp(∑ici2−2ϵ2)
2 PAC学习
概率近似正确理论(Probably Approximately Correct,PAC):
-
首先介绍两个概念:
- C C C:概念类。表示从样本空间到标记空间的映射,对任意样例,都能使得 c ( x ) = y c(x)=y c(x)=y。
- H H H:假设类。学习算法会把认为可能的目标概念集中起来构成 H H H。
- 若 c ∈ H c\in H c∈H,则说明假设能将所有示例按真实标记一致的方式完全分开,称为该问题对学习算法而言是”可分的“;否则,称为”不可分的“
-
对于训练集,我们希望学习算法学习到的模型所对应的假设 h h h尽可能接近目标概念 c c c。我们是希望以比较大的把握学得比较好的模型,也就是说,以较大的概率学得误差满足预设上限的模型,这就是"概率近似正确"的含义。形式化地说,令 δ \delta δ表示置信度,可定义:
-
PAC辨识:对 0 ≤ ϵ , δ < 1 0\le \epsilon, \delta<1 0≤ϵ,δ<1,所有的 c ∈ C c\in C c∈C和分布 D D D,若存在学习算法,其输出假设 h ∈ H h\in H h∈H满足:
P ( E ( h ) ≤ ϵ ) ≥ 1 − δ P(E(h)\le \epsilon)\ge 1- \delta P(E(h)≤ϵ)≥1−δ
则称学习算法能从假设空间 H H H中PAC辨识概念类 C C C。这样的学习算法能以较大的概率(至少 1 − δ 1-\delta 1−δ) 学得目标概念 c c c的近似 (误差最多为 ϵ \epsilon ϵ)。在此基础上可定义: -
PAC可学习:令 m m m表示从分布 D D D中独立同分布采样得到的样例数目, 0 < ϵ , δ < 1 0 < \epsilon, \delta < 1 0<ϵ,δ<1,对所有分布 D D D,若存在学习算法和多项式函数 p o l y ( 1 / ϵ , 1 / d e l t a , s i z e ( x ) , s i z e ( c ) ) poly(1/\epsilon,1/delta,size(x),size(c)) poly(1/ϵ,1/delta,size(x),size(c))(样例数目 m m m与误差 ϵ \epsilon ϵ、置信度 1 − δ 1-\delta 1−δ、数据本身的复杂度 s i z e ( x ) size(x) size(x)、目标概念的复杂度 s i z e ( c ) size(c) size(c)都有关),使得对于任何 m ≥ p o l y ( 1 / ϵ , 1 / d e l t a , s i z e ( x ) , s i z e ( c ) ) m\ge poly(1/\epsilon,1/delta,size(x),size(c)) m≥poly(1/ϵ,1/delta,size(x),size(c)) ,学习算法能从假设空间中PAC辨识概念类 C C C,则称概念类 C C C对假设空间而言是PAC可学习的,有时也简称概念类 C C C是PAC 可学习的。
-
PAC学习算法:满足PAC可学习的算法。(假定学习算法处理每个样本的时间为常数,因此 C C C的时间复杂度等价于样本复杂度。于是,我们对算法时间复杂度的关心就转化为对样本复杂度的关心)
-
样本复杂度(Sample Complexity):满足 m ≥ p o l y ( 1 / ϵ , 1 / δ , s i z e ( x ) , s i z e ( c ) ) m \ge poly(1/\epsilon,1/\delta,size(x),size(c)) m≥poly(1/ϵ,1/δ,size(x),size(c))的最小的 m m m。
-
-
PAC学习中一个关键因素是假设空间H的复杂度。H包含了学习算法所有可能输出的假设,若在PAC学习中假设空间与概念类完全相同,即H=C,这称为"恰PAC可学习" (properly PAC learnable)。直观地看,这意味着学习算法的能力与学习任务”恰好匹配“。
然而,这种让所有候选假设都来自概念类的要求看似合理,但却并不实际,因为在现实应用中我们对概念类 C C C通常一无所知,更别说获得一个假设空间与概念类恰好相同的学习算法。显然,更重要的是研究假设空间与概念类不同的情形,即 H ≠ C H\neq C H=C。 一般而言, H H H越大,其包含任意目标概念的可能性越大,但从中找到某个具体目标概念的难度也越大。 ∣ H ∣ |H| ∣H∣有限时,我们称究为"有限假设空间",否则称为"无限假设空间"。
3 有限假设空间
3.1 可分情形
对于PAC来说,只要训练集 D D D的规模能使得学习算法以概率 1 − δ 1-\delta 1−δ找到目标假设的 ϵ \epsilon ϵ近似即可。
先估计泛化误差大于
ϵ
\epsilon
ϵ但在训练集上仍表现完美的假设出现的概率。假定
h
h
h的泛化误差大于
ϵ
\epsilon
ϵ,对分布
D
D
D上随机采样而得到的任何样例
(
x
,
y
)
(x,y)
(x,y),有:
P
(
h
(
x
)
=
y
)
=
1
−
P
(
h
(
x
)
≠
y
)
=
1
−
E
(
h
)
≤
1
−
ϵ
P(h(x)=y)=1-P(h(x)\neq y)\\ \ \ \ \ \ \ \ \ \ \ =1-E(h)\\ \ \ \ \le1-\epsilon
P(h(x)=y)=1−P(h(x)=y) =1−E(h) ≤1−ϵ
由于
D
D
D中包含
m
m
m个样例,因此,
h
h
h与
D
D
D表现一致的概率为:
P
(
(
h
(
x
1
)
=
y
1
)
(
h
(
x
2
)
=
y
2
)
⋯
(
h
(
x
m
)
=
y
m
)
)
<
(
1
−
ϵ
)
m
P((h(x_1)=y_1)(h(x_2)=y_2)\cdots(h(x_m)=y_m))<(1-\epsilon)^m
P((h(x1)=y1)(h(x2)=y2)⋯(h(xm)=ym))<(1−ϵ)m
我们事先不知道学习算法会输出那个假设,但仅需要保证泛化误差大于
ϵ
\epsilon
ϵ,且在训练集上变现完美的多有假设出现概率之和不大于
δ
\delta
δ即可。
P
(
h
∈
H
:
E
(
h
)
>
ϵ
∩
E
^
(
h
)
=
0
)
<
∣
H
∣
(
1
−
ϵ
)
m
<
∣
H
∣
e
−
m
ϵ
P(h\in H:E(h)>\epsilon \ \cap \ \hat E(h)=0) \lt |H|(1-\epsilon)^m\\ \lt |H|e^{-m\epsilon}
P(h∈H:E(h)>ϵ ∩ E^(h)=0)<∣H∣(1−ϵ)m<∣H∣e−mϵ
令上式不大于
δ
\delta
δ
∣
H
∣
e
−
m
ϵ
≤
δ
|H|e^{-m\epsilon}\le \delta
∣H∣e−mϵ≤δ
可得
m
≥
1
ϵ
(
ln
∣
H
∣
+
ln
1
δ
)
m \ge \frac{1}{\epsilon}(\ln|H|+\ln \frac{1}{\delta})
m≥ϵ1(ln∣H∣+lnδ1)
由此可知,有限假设空间
H
H
H都是PAC可学习的,所需的样例数目如上式所示,输出假设
h
h
h的泛化误差随样例数目的增多而收敛到 0,收敛速率为
O
(
1
m
)
O(\frac{1}{m})
O(m1)。
3.2 不可分情形
当 c ∉ H c\notin H c∈/H时,我们的学习算法无法学习到目标概念 c c c的 ϵ \epsilon ϵ近似,但是当假设空间给定时,必定存在一个泛化误差最小的假设,找出此假设的 ϵ \epsilon ϵ近似也不失为一种较好的目标。
H H H中泛化误差最小的假设是 arg min h ∈ H E ( h ) \arg \min_{h\in H} E(h) argminh∈HE(h),以此为目标可将PAC学习推广到 c ∉ H c\notin H c∈/H的情况,称为**”不可知学习“**(agnostic learning)。其概念如下:
令
m
m
m表示从分布
D
D
D中独立同分布采样得到的样例数目,
0
<
ϵ
,
δ
<
1
0\lt \epsilon,\delta \lt 1
0<ϵ,δ<1,对所有分布
D
D
D,若存在学习算法和多项式函数
p
o
l
y
poly
poly,使得对于任何
m
≥
p
o
l
y
(
1
/
ϵ
,
1
/
δ
,
s
i
z
e
(
x
)
,
s
i
z
e
(
c
)
)
m\ge poly(1/\epsilon,1/\delta,size(x),size(c))
m≥poly(1/ϵ,1/δ,size(x),size(c)),学习算法能从假设空间中输出满足下式的假设
h
h
h:
P
(
E
(
h
)
−
min
h
′
∈
H
E
(
h
′
)
≤
ϵ
)
≥
1
−
δ
P(E(h)-\min_{h'\in H}E(h')\le \epsilon)\ge1-\delta
P(E(h)−h′∈HminE(h′)≤ϵ)≥1−δ
则称假设空间是不可知PAC学习的。
4 VC维
VC维:假设空间
H
H
H的VC维是能被
H
H
H打散的最大示例集的大小:
V
C
(
H
)
=
max
{
m
:
Π
H
(
m
)
=
2
m
}
VC(H)=\max \{m:\Pi_{H}(m)=2^m \}
VC(H)=max{m:ΠH(m)=2m}
例如对二分类问题来说,m个样本最多有
2
m
2^m
2m个可能结果,每种可能结果称为一种“对分”,若假设空间能实现数据集D的所有对分,则称数据集能被该假设空间打散。VC维指能被
H
H
H打散的最大示例集的大小。
应注意到,VC维与数据分布 D D D无关!在数据分布未知时,仍能计算出假设空间的VC维。
若假设空间
H
H
H的VC维是
d
d
d,则对任意整数
m
>
d
m \gt d
m>d,有:
Π
H
(
m
)
≤
(
e
⋅
m
d
)
d
\Pi_H (m)\le (\frac{e\cdot m}{d})^d
ΠH(m)≤(de⋅m)d
同时任何VC维有限的假设空间
H
H
H都是(不可知)PAC学习的。
5 Rademacher复杂度
Rademacher 复杂度 (Rademacher complexity) 是另一种刻画假设空间复杂度的途径,与VC维不同的是,它在一定程度上考虑了数据分布。
考虑实值函数空间
F
→
R
F \rightarrow \mathbb R
F→R,令
Z
=
{
z
1
,
z
2
,
⋯
,
z
m
}
Z=\{z_1,z_2,\cdots,z_m\}
Z={z1,z2,⋯,zm}。函数空间
F
F
F关于
Z
Z
Z的经验Rademacher复杂度
R
^
Z
(
F
)
=
E
σ
[
sup
f
∈
F
1
m
∑
i
=
1
m
σ
i
f
(
z
i
)
]
\hat R_Z(F)=\mathbb E_{\sigma}[ \sup_{f\in F}\frac{1}{m}\sum_{i=1}^m\sigma_if(z_i) ]
R^Z(F)=Eσ[f∈Fsupm1i=1∑mσif(zi)]
经验Rademacher复杂度衡量了函数空间
F
F
F与随机噪声在集合
Z
Z
Z中的相关性。通常我们希望了解函数空间
F
F
F在
Z
Z
Z上关于分布
D
D
D的相关性,因此,对所
有从
D
D
D独立同分布采样而得的大小为
m
m
m的集合
Z
Z
Z求期望可得
R
m
(
F
)
=
E
Z
⊆
Z
:
∣
Z
∣
=
m
[
R
^
Z
(
F
)
]
R_m(F)=\mathbb E_{Z \subseteq Z:|Z|=m}[\hat R_Z(F)]
Rm(F)=EZ⊆Z:∣Z∣=m[R^Z(F)]
假设空间
H
H
H的Rdemacher复杂度
R
m
(
H
)
R_m(H)
Rm(H)与增长函数
Π
H
(
m
)
\Pi_H(m)
ΠH(m)满足
R
m
(
H
)
≤
2
ln
Π
H
(
m
)
m
R_m(H)\le \sqrt{\frac{2\ln \Pi_H(m)}{m}}
Rm(H)≤m2lnΠH(m)
6 稳定性
顾名思义,算法的“稳定性”考察的是算法在输入发生变化时,其输出是否会随之发生较大的变化。学习算法的输入是训练集,因此下面我们先定义训练集的两种变化:
-
移除: D \ i D^{\backslash i} D\i,表示移除 D D D中第 i i i个样例得到的集合
D \ i = { z 1 , z 2 , ⋯ , z i − 1 , z i + 1 , ⋯ , z m } D^{\backslash i}=\{z_1,z_2,\cdots,z_{i-1},z_{i+1},\cdots,z_m \} D\i={z1,z2,⋯,zi−1,zi+1,⋯,zm} -
替换: D i D^{i} Di,表示替换 D D D中第 i i i个样本得到的集合
D i = { z 1 , z 2 , ⋯ , z i ′ , ⋯ , z m } D^i=\{z_1,z_2,\cdots,z_i',\cdots,z_m \} Di={z1,z2,⋯,zi′,⋯,zm}
损失函数刻画了预测标记和真实标记的差别:
算法的均匀稳定性:
因此,移除示例的稳定性包含了替换示例的稳定性。
若学习算法符合经验风险最小化原则(ERM)且稳定的,则假设空间 H H H是可学习的。稳定性通过损失函数与假设空间的可学习联系在了一起。