Foundations of Machine Learning 2nd——第二章 PAC学习框架

  • 前言
  • 定义介绍
    • Generalization error
    • Empirical error
    • 定理1 PAC-learning
    • Example 1
  • Guarantees for finite hypothesis sets——consistent case
    • 定理2
    • Example 2 布尔变量的合取式
    • Eample 3
    • Example 4 k-term DNF formulea
    • Example 5 k-term CNF formulea
  • Guarantees for finite hypothesis sets——inconsistent case
    • 推论1
    • 推论2
    • Example 6 扔硬币
    • 定理 3

前言

这篇博客是“Fundations of Machine Learning 2nd”这本书的系列笔记第二篇~
第一篇链接
有不对的地方欢迎指正=v=

下面是正文:
PAC:Probably Approximately Correct
当设计和分析算法时会遇到以下几个问题:
最本质的难点在哪儿?想要成功训练一个模型需要多少样本?对于当前问题是否有一个通用的模型能够被学习到?
为了解决这些问题,本章介绍PAC这一学习框架,它能够帮助确定算法的样本复杂度(需要多少样本才能训练出当前问题的性能很好的近似解)、以及这个某个问题是否是可学习的。

定义介绍

XXX:所有可获得的样本的集合。有时也表示输入空间
YYY:所有可获得的标签或目标值。后面的例子一般都是YYY只有两个值,Y={0,1}Y=\{0,1\}Y={0,1},这种问题称为二分类。
A conceptconceptconcept(一个concept,这个concept不好翻译,直接用英文)c:X→YX\rightarrow YX→Y,也就是说,一个conceptconceptconcept ccc用来表示从输入到输出的一个映射。因为Y={0,1}Y=\{0,1\}Y={0,1},我们也可以用ccc来表示XXX值为1的子集。所以,在后文中我们会用一个conceptconceptconcept表示XXX到{0,1}\{0,1\}{0,1}的映射,也会用他表示XXX的一个子集。一个conceptconceptconcept系列,也就是一个我们想要学习到的conceptsconceptsconcepts的集合,用CCC表示。
hypothesishypothesishypothesis:直译是假设, 我认为他既有假设也有映射的意思。映射是指他的本质,就是从输入样本到输出标签的一个映射(函数),假设的意思是,他是由算法训练返回的,也就是拟合到的,(通常情况下与样本到标签的真实映射有一定的差距)。后问我会用"映射"来表示。

对于样本的假设是独立同分布(i.i.d.)于一个位置的分布DDD。

大体学习框架如下:
模型会考虑一个固定的可学习的conceptsconceptsconcepts集合HHH,即映射集合,HHH并不一定要和CCC完全一致。模型收到一个样本集S=(x1,x2,..,xm)S=(x_1,x_2,..,x_m)S=(x1​,x2​,..,xm​) i.i.d. DDD,以及样本对应的标签(c(x1),c(x2),..,c(xm))(c(x_1),c(x_2),..,c(x_m))(c(x1​),c(x2​),..,c(xm​)),这个标签是基于一个特定的c∈Cc\in Cc∈C(这里ccc表示一个最优映射)来学习到的。
任务就是使用有标签的样本集SSS来选择一个映射hs∈Hh_s\in Hhs​∈H,这个hhh相对于conceptconceptconcept ccc来说具有最小的generalization error。

Generalization error

给定一个映射h∈Hh\in Hh∈H,一个目标映射c∈Cc\in Cc∈C,一个样本服从的分布DDD,hhh的generalization error或者说risk(风险),定义如下(用R(h)R(h)R(h)表示):
R(h)=Px∼D[h(x)≠c(x)]=Ex∼D[1h(x)≠c(x)]1w=1,w=true;1w=0,w=falseR(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 = falseR(h)=x∼DP​[h(x)​=c(x)]=x∼DE​[1h(x)​=c(x)​]1w​=1,w=true;1w​=0,w=false
然而generalization error不能直接获得,因为DDD和conceptconceptconcept ccc都是未知的。不过我们可以学习一个映射在有标签样本SSS上的empirical error,来近似generalization error。

Empirical error

给定一个映射h∈Hh\in Hh∈H,一个目标映射c∈Cc\in Cc∈C,一个样本服从的分布DDD,hhh的empirical error或者说empirical risk,定义如下(用R^S(h)\hat{R}_S(h)R^S​(h)表示):
R^S(h)=1m∑i=1m1h(xi)≠c(xi)\hat{R}_S(h)=\frac{1}{m}\sum_{i=1}^m 1_{h(x_i)\neq c(x_i)}R^S​(h)=m1​i=1∑m​1h(xi​)​=c(xi​)​

明显的区别就是empirical error是对已知的样本集SSS计算平均损失,而generalization error比较理想主义,想计算服从DDD分布的整体的损失。
可以说明的是:对于一个给定的h∈Hh\in Hh∈H,empirical error在i.i.d.样本集SSS上的的期望等价于generalization error:
ES∼Dm[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)
推导如下:
由于SSS中的样本独立同分布,
ES∼Dm[RS^(h)]=ES∼Dm[1m∑i=1m1h(xi)≠c(xi)]=1m∑i=1mE[1h(xi)≠c(xi)]=ES∼Dm[1h(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​[m1​i=1∑m​1h(xi​)​=c(xi​)​]=m1​i=1∑m​E​[1h(xi​)​=c(xi​)​]=S∼DmE​[1h(x)​=c(x)​]

ES∼Dm[RS^(h)]=ES∼Dm[1h(x)≠c(x)]=Ex∼D[1h(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)

nnn 指:表示一个元素x∈Xx\in Xx∈X所用的计算开销,至多是O(n)
size(c)指:size(c)指:size(c)指:表示c∈Cc\in Cc∈C所用的最大计算开销。
hsh_shs​: 算法AAA接受了有标签样本集SSS后返回的映射。

了解了基本定义后,下文开始正式介绍PAC 学习框架~

定理1 PAC-learning

一个CCC可以称作PAC-learning的条件是:如果存在一个算法AAA和一个多项式函数poly(⋅,⋅,⋅,⋅)poly(·,·,·,·)poly(⋅,⋅,⋅,⋅),使得对于任意的ϵ>0\epsilon>0ϵ>0 and δ>0\delta>0δ>0,对于所有XXX服从的分布DDD以及所有的目标映射c∈Cc\in Cc∈C,对于任何样本数量m≥poly(1/ϵ,1/δ,n,size(c))m\geq poly(1/\epsilon,1/\delta,n,size(c))m≥poly(1/ϵ,1/δ,n,size(c))的样本集都满足下式:
PS∼Dm[R(hS)≤ϵ]≥1−δ\mathop{P}\limits_{S\sim D^m}[R(h_S)\leq\epsilon]\geq 1-\deltaS∼DmP​[R(hS​)≤ϵ]≥1−δ

通俗化解释:
例如δ=0.01,ϵ=0.1\delta = 0.01,\epsilon=0.1δ=0.01,ϵ=0.1,xxx

如果算法AAA可以在poly(1/ϵ,1/δ,n,size(c))poly(1/\epsilon,1/\delta,n,size(c))poly(1/ϵ,1/δ,n,size(c))的时间内运行的话,就称CCC是可以高效的PAC可学习的(efficiently PAC-learnable)。

PAC-learnable保证了在理论上可以在有限且足够大的数据集上学习到性能很好的近似解hSh_ShS​, efficiently PAC-learnable 保证了在实际运行中能够计算到这个结果,如果时间复杂度太大的话即便理论可行,实际也无法得到结果。

δ>0\delta>0δ>0用来使得1−δ1-\delta1−δ表示可信度,ϵ>0\epsilon>0ϵ>0使得1−ϵ1-\epsilon1−ϵ表示准确度。

一些关于PAC定义比较重要的key point:

  1. PAC框架的分布不受限制,也就是说对于样本的分布DDD,不需要做特殊的假设。
  2. 用来计算error的训练集和样本集要从同一分布里采样。才能保证我们计算到的error近似等价generalization error。不过如果考虑域迁移的问题时,这个限制可以放宽。
  3. PAC框架处理的是一类conceptsconceptsconcepts CCC是否可学习,而不是某一个特定的conceptconceptconcept。注意,在算法中CCC是已知的,但是目标映射ccc是未知的。

后面根据几个具体的实例进一步说明

Example 1

设在二维平面坐标系中有一些点,同时有一个和坐标轴平行的矩形R,在R内的点赋值为1,否则赋值为0,任务是根据已有标签的样本集来找到这个矩形分界线。由此可得:
X=R2X = R^2X=R2, conceptconceptconcept class 是所有在R2R^2R2上的和坐标轴平行的矩形。
下面证明这个任务是PAC-learnable

算法AAA接受一个有标签的样本集SSS,返回一个平行坐标轴的矩阵R′=RSR' = R_SR′=RS​。这个R′R'R′是包含所有正样本的面积最小的矩阵(tightest rectangle)。由于R′R'R′不会把产生假正样本,因此出错的点肯定是在RRR内。

已知R∈CR\in CR∈C是目标conceptconceptconcept,设ϵ>0\epsilon > 0ϵ>0。P(R)P(R)P(R)成为R的概率量,表示随机从分布DDD中采样的点会落在RRR内的概率。根据前面对于算法返回的R′R'R′的设定,该映射只会对落在R内而落在R′R'R′外的点判断出错,我们可以假设P(R)>ϵP(R)>\epsilonP(R)>ϵ,P(R′)P(R')P(R′)对于未曾见过的点,出错的概率小于或者等于ϵ\epsilonϵ。
同时沿着R的四个边定义四个矩形区域r1,r2,r3,r4r_1,r_2,r_3,r_4r1​,r2​,r3​,r4​,每一个的区域的概率量至少为ϵ/4\epsilon/4ϵ/4。

设l,r,b,tl,r,b,tl,r,b,t来定义R:R=[l,r]×[b,t]R:R=[l,r]\times [b,t]R:R=[l,r]×[b,t],设si来定义ri:r4=[l,s4]×[b,t]s_i来定义r_i: r_4 = [l,s_4]\times [b,t]si​来定义ri​:r4​=[l,s4​]×[b,t], s4=inf{s:P[[l,s]×[b,t]≥ϵ/4]},inf{⋅}表示下限s_4 = inf\{s: P[[l,s]\times [b,t] \geq \epsilon/4]\},inf\{·\}表示下限s4​=inf{s:P[[l,s]×[b,t]≥ϵ/4]},inf{⋅}表示下限,由此可以定义rir_iri​的概率量ri−=[l,si]×[b,t],i=1,2,3,4\mathop{r_i}\limits^{-} = [l,s_i]\times [b,t], i = 1,2,3,4ri​−​=[l,si​]×[b,t],i=1,2,3,4

如果RSR_SRS​的四个边都在rir_iri​里面,那么他的错误区域,也就是他没有覆盖的R的部分区域被包含在ri−\mathop{r_i}\limits^{-}ri​−​里,概率量不会超过ϵ\epsilonϵ。也就是说,如果R(RS)>ϵR(R_S) > \epsilonR(RS​)>ϵ,RSR_SRS​至少有一个边不在region rir_iri​里。于是可得:
PS∼Dm[R(RS)>ϵ]≤PS∼Dm[∪i=14{RS∩ri=∅}]≤∑i=14PS∼Dm[RS∩ri=∅]≤4(1−ϵ/4)m,因为P(ri)≥ϵ/4≤4exp⁡(−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∑4​S∼DmP​[RS​∩ri​=∅]≤4(1−ϵ/4)m,因为P(ri​)≥ϵ/4≤4exp(−mϵ/4),因为(1−x)≤exp(−x)

这里要着重解释一下倒第二步,为什么这样把mmm引进不等式:
我们要注意到这里的PPP表示的不是传统意义上概率论里面的概率,他表示的是概率量,
PS∼Dm[RS∩ri=∅]\mathop{P}\limits_{S\sim D^m}[R_S\cap r_i = \varnothing]S∼DmP​[RS​∩ri​=∅]针对的是对于SSS里的所有样本。这个SSS是算法AAA获得的一批有标签的SSS,且正样本全都包含在RSR_SRS​里(因为返回的是tightest rectangle, 输入样本只包含正样本即可),因为RSR_SRS​的形状是完全取决于训练样本的位置的,那么RS∩ri=∅R_S\cap r_i=\varnothingRS​∩ri​=∅的概率就等价于这mmm个点都落在r_i外的概率。

回到前面的定义:要对于任何样本数量m≥poly(1/ϵ,1/δ,n,size(c))m\geq poly(1/\epsilon,1/\delta,n,size(c))m≥poly(1/ϵ,1/δ,n,size(c))的样本集都满足下式:
PS∼Dm[R(hS)≤ϵ]≥1−δe.g.PS∼Dm[R(hS)≥ϵ]≤δe.g.4exp⁡(−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≥ϵ4​logδ4​

也就是说,想要在给定SSS的情况下,算法返回的映射的generalization error<ϵ<\epsilon<ϵ,输入样本SSS的大小mmm必须大于等于4ϵlog⁡4δ\frac{4}{\epsilon}\log\frac{4}{\delta}ϵ4​logδ4​。同时,输入样本的表达和待求矩阵的表达的计算开销都是常数(点由坐标即可表示,矩阵由4个角即可表示),这样就得到了该问题的样本复杂度。 因为样本复杂度为O(1/ϵlog⁡1/δ)O(1/\epsilon\log 1/\delta)O(1/ϵlog1/δ),所以该问题是PAC-learnable。

相应的,我们也可以给出当前问题的generalization bound。也就是,有大于等于1−δ1-\delta1−δ的概率,R(RS)R(R_S)R(RS​)的上界由m,δm,\deltam,δ决定。
我们令δ=4exp⁡(−mϵ/4)\delta = 4\exp(-m\epsilon/4)δ=4exp(−mϵ/4)从而计算ϵ=4mlog⁡4δ\epsilon = \frac{4}{m}\log\frac{4}{\delta}ϵ=m4​logδ4​
可得上界:R(RS)≤4mlog⁡4δR(R_S)\leq\frac{4}{m}\log\frac{4}{\delta}R(RS​)≤m4​logδ4​

不过一个相似的证明并不能直接应用到另一个相似的conceptsconceptsconcepts class,因为证明过程中特定的几何参数是十分重要的,无法直接作用到其他conceptsconceptsconcepts里。 所以我们需要一个更为普遍的证明技巧和一个更为普遍的结论。下面就来介绍一般化的情况~

Guarantees for finite hypothesis sets——consistent case

上一个例子中,算法返回的hSh_ShS​总是"一致的"(consistent,下面都用英文来表示,更突显其定义性),consistent就是说在训练集SSS上不会出错。
这一节主要针对的consistent 映射来讨论他的样本复杂度,或者说generalization bound。这里讨论的映射集的基数∣H∣|H|∣H∣是有限的,同时因为我们针对的是consistent 映射,我们会假定目标conceptsconceptsconcepts ccc在HHH里。

定理2

令HHH表示从XXX到YYY的有限映射集合。AAA是解决这一类问题的算法,并且返回一个consistent 映射hS:RS^(hS)=0h_S:\hat{R_S}(h_S)=0hS​:RS​^​(hS​)=0。对于任何ϵ,δ>0\epsilon,\delta > 0ϵ,δ>0,不等式Ps∼Dm[R(hs)≤ϵ]≥1−δP_{s\sim D^m}[R(h_s)\leq\epsilon]\geq1-\deltaPs∼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-\delta1−δ的概率认为:
R(hS)≤1m(log⁡∣H∣+log1δ)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[RS(h)=0^]≤(1−ϵ)m,h∈HϵP[\hat{R_S(h)=0}]\leq(1-\epsilon)^m,h\in H_\epsilonP[RS​(h)=0^​]≤(1−ϵ)m,h∈Hϵ​

解释:因为已知h∈Hϵh\in H_\epsilonh∈Hϵ​对于i.i.d.的样本的generalization error >ϵ>\epsilon>ϵ,那么该假设同时consistent的概率就是对于训练样本集SSS中所有的样本都不犯错的概率,也就是(1−ϵ)m(1-\epsilon)^m(1−ϵ)m。

由此可以推出:
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[\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ϵ:RS^=0]P[\exists h\in H_\epsilon:\hat{R_S} = 0]P[∃h∈Hϵ​:RS​^​=0]表示存在generalization error大于ϵ\epsilonϵ的consistent映射的概率,存在这样的映射的概率要小于δ\deltaδ,等价于P[R(hS)<ϵ]P[R(h_S) < \epsilon]P[R(hS​)<ϵ],又因为要求P[R(hS)<ϵ]<δP[R(h_S) < \epsilon]<\deltaP[R(hS​)<ϵ]<δ:
令∣H∣e−mϵ=δ|H|e^{-m\epsilon} = \delta∣H∣e−mϵ=δ即可得证上述两个定理

这说明:一个consistent算法AAA是PAC-learning算法的要求是他的映射集的基数有限(为常数)。

注意:
R(hS)≤1m(log⁡∣H∣+log1δ)R(h_S)\leq\frac{1}{m}(\log|H|+log\frac{1}{\delta})R(hS​)≤m1​(log∣H∣+logδ1​)这个公式说明了consistent映射的generalization error的上界随mmm的上升而下降,这也非常符合我们的常识:训练的数据量越大,模型越准确。
我们想让设计一个consistent算法的代价就是要用更大的映射集HHH,使得它能够包含目标映射。尽管损失边界也随着HHH基数增加而增加,不过这是一个log级别的差距

下面举几个具体的例子来说明PAC怎么用:

Example 2 布尔变量的合取式

class CnC_nCn​是至多n个布尔变量x1,x2,...,xnx_1,x_2,...,x_nx1​,x2​,...,xn​的合取式集合。每一个变量都有两种表现形式,xix_ixi​ 或者xi−\mathop{x_i}\limits^{-}xi​−​(取反)。例如一个concept是x1∧x2−∧x4x_1\land \mathop{x_2}\limits^{-}\land x_4x1​∧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)。
算法要做的就是分析给定的样本集,返回最符合样本的布尔表达式。对于每一个正样本(b1,..,bn)(b_1,..,b_n)(b1​,..,bn​),如果bi=1b_i = 1bi​=1,那么xi−\mathop{x_i}\limits^{-}xi​−​就被排除了,反之xix_ixi​被排除。最后把剩下的布尔元素组合起来。

于是∣H∣=∣C∣=3n|H| = |C| = 3^n∣H∣=∣C∣=3n,因为一个变量,一个布尔表达式可能包含的他本身,也可能包含他的逆,也可能不包含这个变量。带入上文计算样本复杂度的公式,对于任意的ϵ,δ>0\epsilon,\delta > 0ϵ,δ>0:
m≥1ϵ((log⁡3)n+log1δ)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}nX=\{0,1\}^nX={0,1}n表示所有有n个元素的布尔向量。UnU_nUn​是conceptconceptconcept class,由XXX的所有子集构成。
为了保证能consistent 映射,映射集合HHH必须包含conceptsconceptsconcepts集合UnU_nUn​==>∣H∣≥∣Un∣=22n|H| \geq |U_n| = 2^{2^n}∣H∣≥∣Un​∣=22n
样本复杂度:
m≥1ϵ((log2)2n+log1δ)m\geq\frac{1}{\epsilon}((log2)2^n+log\frac{1}{\delta})m≥ϵ1​((log2)2n+logδ1​)
这是关于n的指数表达式,表达样本的复杂度也是指数的(2n2^n2n)。所以不能保证任务是PAC-learnable。

Example 4 k-term DNF formulea

这里把上面提到的布尔表达式(单纯的与or或)扩展成了析取范式(k-term DNF formulea),析取范式包括k项,每一项都是n个布尔变量的合取式。例如:k=2,n=3k=2,n=3k=2,n=3的一个concept:(x1∧x2∧x3)∨(x1∧x2−∨x3)(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 CCC的基数是3nk3^{nk}3nk。为了保证consistent, ∣H∣≥∣C∣=3nk|H| \geq |C|=3^{nk}∣H∣≥∣C∣=3nk
样本复杂性边界是:
m≥1ϵ((log⁡3)nk+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的表达形式是:(x1∨...∨xk)∧...∧(x1∨...∨xk)=>T1∧...∧Tn(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​。
也就是说我们可以引入一个新的变量TiT_iTi​来表示k-CNF的每一个合区的项(x1∨...∨xk)(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)集HHH基数有限,并且算法返回的映射是consistent的情况下,样本复杂度以及generalization error边界的计算。这一节扩展到了inconsistent case。因为一般情况下,HHH里也许没有consistent的映射,能够在训练集上完全不犯错误。因为现实生活中的conceptsconceptsconcepts classes比能学习的映射集HHH复杂多了。(想象一下:影响房价的因素可能有房屋大小、地理位置、历史价格等等许多因素,这个影响过程是非常复杂的,即conceptsconceptsconcepts十分复杂,而我们在做机器学习来学习映射集时只能通过多项式+非线性函数来逼近这个映射过程,却很难做到完全一致。然而找到一个在训练集上犯错概率很小的映射也是很具有实用意义的)所以考虑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},下述不等式成立:
PS∼Dm[RS^(h)−R(h)≥ϵ]≤exp⁡(−2mϵ2)PS∼Dm[RS^(h)−R(h)]≤−ϵ]≤exp⁡(−2mϵ2)=>PS∼Dm[∣RS^(h)−R(h)∣]≥ϵ]≤2exp⁡(−2mϵ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)
(上述公式直接从霍夫丁不等式导出)
设δ=2exp⁡(−2mϵ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-\delta1−δ的概率成立:
R(h)≤RS^+log⁡2δ2mR(h)\leq\hat{R_S}+\sqrt{\frac{\log\frac{2}{\delta}}{2m}}R(h)≤RS​^​+2mlogδ2​​​
(由上一个推论得到)

举个栗子:

Example 6 扔硬币

假设一个不均匀的硬币,正面朝上的概率是ppp,同时设一个映射只会猜反面。。那么这个映射的generalization error R(h)=pR(h) = pR(h)=p,empirical error RS^=p^\hat{R_S} = \hat{p}RS​^​=p^​,p^\hat{p}p^​就是映射在训练集上猜错的概率。这样推论2保证了有1−δ1-\delta1−δ的概率使得:
∣p−p^∣≤log⁡2δ2m|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-\delta1−δ的把握下越接近generalization error。

然而对于我们在真实学习的时候面对的是一个映射集HHH而非单个映射,要保证对于每一个返回的映射都能使其empirical error尽可能和generalization error接近。

定理 3

令HHH是一个有限映射集。对于任意δ>0\delta>0δ>0,至少有1−δ1-\delta1−δ的概率使得下式成立:
∀h∈H,R(h)≤RS^(h)+log⁡∣H∣+log⁡2δ2m\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​​​

证明如下:
设h1,h2,..,h∣H∣h_1,h_2,..,h_{|H|}h1​,h2​,..,h∣H∣​是HHH的元素,基于推论2的联合概率如下:
P[∃h∈H∣RS^(h)−R(h)∣>ϵ]=P[(∣RS^(h1)−R(h1)∣>ϵ)∨(∣RS^(h2)−R(h2)∣>ϵ)∨...∨(∣RS^(h∣H∣)−R(h∣H∣)∣>ϵ)]≤∑h∈HP[∣RS^(h)−R(h)∣>ϵ]≤2∣H∣exp⁡(−2mϵ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⁡(−2mϵ2)=δ2|H|\exp(-2m\epsilon^2)=\delta2∣H∣exp(−2mϵ2)=δ可以计算得到ϵ\epsilonϵ。从而得到定理3.
因此对于一个有限的映射集HHH:
R(h)≤RS^(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∣)可以指用来表示HHH所占用的bits数。

这个不等式也符合我们的直观认识:更大的训练样本能提供更好的泛化性,虽然这个边界也随∣H∣|H|∣H∣上升而上升,不过是log⁡\loglog级别的。
同时也注意到,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相似的时候,建议使用更小的映射集(这样泛化性更高)。

Foundations of Machine Learning 2nd——第二章 PAC学习框架相关推荐

  1. Foundations of Machine Learning 2nd——第二章 PAC学习框架 后记

    Foundations of Machine Learning 2nd--第二章 PAC学习框架后记 前言 Generalities 一般性 可确定性 VS 随机场景 定义1 Agnostic PAC ...

  2. Foundations of Machine Learning 2nd——第一章 机器学习预备知识

    Foundations of Machine Learning 2nd--第一章 机器学习预备知识 前言 1.1 什么是机器学习(Machine learning) 1.2 什么样的问题可以用机器学习 ...

  3. Foundations of Machine Learning 2nd——第三章(一)拉德马赫复杂度

    Foundations of Machine Learning 2nd--第三章(一)拉德马赫复杂度和VC维度 回顾第二章 拉德马赫复杂度 定义1 经验拉德马赫复杂度(Empirical Radema ...

  4. Foundations of Machine Learning 2nd——第三章(二)growth fuction和 VC-Dimension

    Foundations of Machine Learning 2nd--第三章(二)growth fuction和 VC-Dimension 前言 Growth function 引理1 Massa ...

  5. Foundations of Machine Learning 2nd——第五章SVMs(一)

    Foundations of Machine Learning 2nd--第五章(一) 本章内容 线性分类 可分情况 定义5.1 Geometric margin(几何边距) 优化目标 支持向量 Su ...

  6. Foundations of Machine Learning 2nd——第四章Model Selection(二)

    Foundations of Machine Learning 2nd--第四章Model Selection(二) 交叉验证 Cross Validation(CV) 交叉验证的步骤 交叉验证有效性 ...

  7. 图机器学习(Graph Machine Learning)- 第二章 图机器学习简介 Graph Machine Learning

    第二章 图机器学习简介 Graph Machine Learning 文章目录 第二章 图机器学习简介 Graph Machine Learning 前言 1. 环境要求Technical requi ...

  8. Hand on Machine Learning第三章课后作业(1):垃圾邮件分类

    import os import email import email.policy 1. 读取邮件数据 SPAM_PATH = os.path.join("E:\\3.Study\\机器学 ...

  9. Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2)

    Foundations of Machine Learning: Rademacher complexity and VC-Dimension(2) Foundations of Machine Le ...

最新文章

  1. 生态环境部:提升5.5亿居民饮用水环境安全保障水平
  2. 使用LVS+TUN搭建集群实现负载均衡
  3. php获取上海时间代码,PHP获取星期的方法及代码
  4. 分别是什么意思_美国FBA头程:空派/海派分别是什么意思?
  5. OpenGL 2D Prefix Sum 2维前缀总和的实例
  6. startindex 不能大于字符串长度_「12」学习MySQL第二类函数:字符串函数
  7. access month函数用法_学会了这7个EXCEL日期函数技巧,老板再让你加班,你找我!...
  8. python模拟登录淘宝直通车_Python实现的淘宝直通车数据抓取(1)
  9. ubuntu内核和主线内核_Linux 5.7新内核特性
  10. linux上验证cudnn是否安装成功_Ubuntu 18.04安装CUDA(版本10.2)和cuDNN
  11. elasticsearch知识点总结
  12. Python爬取某短视频热点
  13. 广东省计算机学校,广东省计算机基础练习平台(高校版)安装设置方法
  14. 携程数据开发2022留用实习面试
  15. 木兰开源许可证:开源社如是说
  16. 安卓小游戏:飞机大战
  17. linux 多点触摸屏测试,c – Linux中的多点触控
  18. PHP实现微信的时间显示方式
  19. android图片上水印字体颜色,Android给图片添加文字和水印
  20. 音效codec芯片解决方案

热门文章

  1. Word 2007教程:使用多级编号列表
  2. flutter中List遍历
  3. NetBeans Collaboration (二) :MSN, Gtalk,Yahoo的All in One 客户端
  4. gitlab集成ldap认证
  5. Spring Boot原理详解(一)
  6. Android Studio虚拟机手机连接显示
  7. 计算机网路原理与应用试题,2018年10月全国自考 04741计算机网络原理历年真题试题及答案...
  8. 分析最新12306滑动验证
  9. 12306 验证图片模式网摘思路
  10. 图解LeetCode——994. 腐烂的橘子