机器学习(周志华) 第十二章计算学习理论

关于周志华老师的《机器学习》这本书的学习笔记
记录学习过程
本博客记录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)=PxD(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=1m(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,h2XY,用不合(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)=PxD(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 0xi1,对任意 ϵ > 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=1mxim1i=1mE(xi)ϵ)e2mϵ2P(m1i=1mxim1i=1mE(xi)ϵ)2e2mϵ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 1im,函数 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, xisupf(x1,,xm)f(x1,,xi1,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(ici22ϵ2)P(f(x1,,xm)E(f(x1,,xm))ϵ)2 exp(ici22ϵ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 cH,则说明假设能将所有示例按真实标记一致的方式完全分开,称为该问题对学习算法而言是”可分的“;否则,称为”不可分的“
  • 对于训练集,我们希望学习算法学习到的模型所对应的假设 h h h尽可能接近目标概念 c c c。我们是希望以比较大的把握学得比较好的模型,也就是说,以较大的概率学得误差满足预设上限的模型,这就是"概率近似正确"的含义。形式化地说,令 δ \delta δ表示置信度,可定义:

    • PAC辨识:对 0 ≤ ϵ , δ < 1 0\le \epsilon, \delta<1 0ϵ,δ<1,所有的 c ∈ C c\in C cC和分布 D D D,若存在学习算法,其输出假设 h ∈ H h\in H hH满足:
      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)) mpoly(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)) mpoly(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)=1P(h(x)=y)          =1E(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(hH:E(h)>ϵ  E^(h)=0)<H(1ϵ)m<Hemϵ

令上式不大于 δ \delta δ
∣ H ∣ e − m ϵ ≤ δ |H|e^{-m\epsilon}\le \delta Hemϵδ
可得
m ≥ 1 ϵ ( ln ⁡ ∣ H ∣ + ln ⁡ 1 δ ) m \ge \frac{1}{\epsilon}(\ln|H|+\ln \frac{1}{\delta}) mϵ1(lnH+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) argminhHE(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)) mpoly(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)hHminE(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)(dem)d
同时任何VC维有限的假设空间 H H H都是(不可知)PAC学习的。

5 Rademacher复杂度

Rademacher 复杂度 (Rademacher complexity) 是另一种刻画假设空间复杂度的途径,与VC维不同的是,它在一定程度上考虑了数据分布

考虑实值函数空间 F → R F \rightarrow \mathbb R FR,令 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σ[fFsupm1i=1mσ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)=EZZ: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,,zi1,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是可学习的。稳定性通过损失函数与假设空间的可学习联系在了一起。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值