PAC 学习模型

基础定义

Probably Approximately Correct (PAC),即概率近似正确。PAC 学习可以分为两部分:

  1. 近似正确( Approximately Correct ):一个假设 PAC 学习框架 - 图1 是“近似正确”的,是指其在泛化错误 PAC 学习框架 - 图2#card=math&code=R%28h%29) 小于一个界限 PAC 学习框架 - 图3PAC 学习框架 - 图4 一般为趋于0的一个数,如果 PAC 学习框架 - 图5#card=math&code=R%28h%29) 比较大,说明模型不能用来做正确的“预测”.
  2. 可能( Probably ):一个学习算法 PAC 学习框架 - 图6 有“可能”以 PAC 学习框架 - 图7 的概率学习到这样一个“近似正确”的假设.

一个 PAC 可学习( PAC-Learnable )的算法是指该学习算法能够在多项式时间内从合理数量的训
练数据中学习到一个近似正确的假设 PAC 学习框架 - 图8

PAC 学习框架 - 图9

PAC 学习框架 - 图10 表示在样本 PAC 学习框架 - 图11 上学习到的假设 ,PAC 学习框架 - 图12#card=math&code=R%28h_S%29) 表示 PAC 学习框架 - 图13 的泛化误差。

该公式表明:对于任意小的 PAC 学习框架 - 图14, 只要样本个数 PAC 学习框架 - 图15 足够大(能被关于 PAC 学习框架 - 图16#card=math&code=1%2F%5Cepsilon%2C1%2F%5Cdelta%2Csize%28c%29) 的多项式表示),就能以 PAC 学习框架 - 图17 的概率使 PAC 学习框架 - 图18%5Cleq%20%5Cepsilon#card=math&code=R%28h_S%29%5Cleq%20%5Cepsilon) 成立.

这样的概念类 PAC 学习框架 - 图19 称为PAC可学的(PAC-learnable)

沿轴矩形的学习(axis-aligned rectangles)

PAC 学习框架 - 图20

PAC 学习框架 - 图21 是我们要学习的矩形框,矩形框内的样本为正例,框外的样本为负例,PAC 学习框架 - 图22 是可能的一个假设.

我们可以证明这种矩形框是PAC可学的——我们设定一个简单的算法:取包裹所有正例样本的最小矩形框,就像这样:

PAC 学习框架 - 图23

首先,我们先假设样本点由随机分布 PAC 学习框架 - 图24 产生,用 PAC 学习框架 - 图25 表示 PAC 学习框架 - 图26 区域的概率质量,即一个样本点落在 PAC 学习框架 - 图27 中的概率.

我们先定义假设框 PAC 学习框架 - 图28 的泛化误差 PAC 学习框架 - 图29#card=math&code=%5Cmathcal%7BR%7D%28R_S%29):样本点落在 PAC 学习框架 - 图30 区域的期望.

之后我们做一个假设 :

PAC 学习框架 - 图31

否则, PAC 学习框架 - 图32%3C%5Cepsilon#card=math&code=%5Cmathcal%7BR%7D%28R_S%29%3C%5Cepsilon) 显然恒成立.

然后,我们在矩形的四边构建4个小矩形 PAC 学习框架 - 图33,使得 PAC 学习框架 - 图34.

PAC 学习框架 - 图35

我们记周围这一圈阴影部分为 PAC 学习框架 - 图36,显然有:

PAC 学习框架 - 图37

如果我们的假设框 PAC 学习框架 - 图38 的四条边都在阴影部分 PAC 学习框架 - 图39 中,即 PAC 学习框架 - 图40 ,那么有:

PAC 学习框架 - 图41%3D%5Cmathbb%7BP%7D%5Cleft%5B%20r-R_S%20%5Cright%5D%20%3C%5Cmathbb%7BP%7D%5Cleft%5B%20r%20%5Cright%5D%20%5Cle%20%5Cepsilon%0A#card=math&code=%5Cmathcal%7BR%7D%28R_S%29%3D%5Cmathbb%7BP%7D%5Cleft%5B%20r-R_S%20%5Cright%5D%20%3C%5Cmathbb%7BP%7D%5Cleft%5B%20r%20%5Cright%5D%20%5Cle%20%5Cepsilon%0A)

那么我们考虑其逆否命题:

PAC 学习框架 - 图42,可推出 PAC 学习框架 - 图43,也就是说 PAC 学习框架 - 图44 至少与 PAC 学习框架 - 图45 中的某一个相交为空集,即: PAC 学习框架 - 图46

PAC 学习框架 - 图47 说明 PAC 学习框架 - 图48,即 PAC 学习框架 - 图49.

于是上述命题可转化为公式形式:

PAC 学习框架 - 图50%20%5Em%5C%5C%0A%09%26%5Cleq%204%5Cexp%20%5Cleft(%20-m%5Cepsilon%20%2F4%20%5Cright)%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0A%09%5Cunderset%7BS%5Csim%20%5Cmathcal%7BD%7D%5Em%7D%7B%5Cmathbb%7BP%7D%7D%5Cleft%5B%20%5Cmathcal%7BR%7D%5BRS%5D%3E%5Cepsilon%20%5Cright%5D%20%26%5Cleq%20%5Cunderset%7BS%5Csim%20%5Cmathcal%7BD%7D%5Em%7D%7B%5Cmathbb%7BP%7D%7D%5Cleft%5B%20%5Cbigcup%7Bi%3D1%7D%5E4%7B%5Cleft%5C%7B%20RS%5Ccap%20r_i%3D%5Cemptyset%20%5Cright%5C%7D%7D%20%5Cright%5D%5C%5C%0A%09%26%5Cleq%20%5Csum%7Bi%3D1%7D%5E4%7B%5Cunderset%7BS%5Csim%20%5Cmathcal%7BD%7D%5Em%7D%7B%5Cmathbb%7BP%7D%7D%5Cleft%5B%20%5Cleft%5C%7B%20R_S%5Ccap%20r_i%3D%5Cemptyset%20%5Cright%5C%7D%20%5Cright%5D%7D%5C%5C%0A%09%26%5Cleq%204%5Cleft%28%201-%5Cfrac%7B%5Cepsilon%7D%7B4%7D%20%5Cright%29%20%5Em%5C%5C%0A%09%26%5Cleq%204%5Cexp%20%5Cleft%28%20-m%5Cepsilon%20%2F4%20%5Cright%29%0A%5Cend%7Baligned%7D%0A)

其中第3行到第4行的转化是重点:我们的假设框 PAC 学习框架 - 图51 是由样本 PAC 学习框架 - 图52 生成的,如果假设框与 PAC 学习框架 - 图53 不相交,那么必然没有样本点落在 PAC 学习框架 - 图54 内,对于 PAC 学习框架 - 图55 个样本点都没落进的概率为 PAC 学习框架 - 图56%20%5Em#card=math&code=%5Cleft%28%201-%5Cfrac%7B%5Cepsilon%7D%7B4%7D%20%5Cright%29%20%5Em).

如果我们要使 PAC 学习框架 - 图57 恒成立,那么需使:

PAC 学习框架 - 图58%20%3C%5Cdelta%20%0A#card=math&code=4%5Cexp%20%5Cleft%28%20-m%5Cepsilon%20%2F4%20%5Cright%29%20%3C%5Cdelta%20%0A)

解得:

PAC 学习框架 - 图59

最终得出结论:

PAC 学习框架 - 图60,时,有 PAC 学习框架 - 图61 成立.

泛化界

除此之外,PAC可学性的另一种等价描述可以由泛化界(generalization bound)表示:

PAC 学习框架 - 图62 的概率下,泛化误差有关于 PAC 学习框架 - 图63 表示的上界: PAC 学习框架 - 图64

有限假设集上的学习保证——一致情况

参考【Mohri-机器学习基础】第2章: PAC学习框架

一致(consistent)

有限假说集的学习问题划分为两大类:

  • 一致
  • 不一致

对于有限假设集 PAC 学习框架 - 图65 ,我们要学习的目标概念 PAC 学习框架 - 图66 可能在 PAC 学习框架 - 图67 中,也可能不在.

如果 PAC 学习框架 - 图68 ,那么称为一致情况(consistent case).

对于一致性的情况,我们能找到假设 PAC 学习框架 - 图69 使得其在 PAC 学习框架 - 图70 上的经验误差为0,即 PAC 学习框架 - 图71%3D0#card=math&code=%5Cwidehat%7BR%7D%28h_S%29%3D0) .

上面那个矩形学习的例子明显是一致的:学到的假设框 PAC 学习框架 - 图72 在样本 PAC 学习框架 - 图73 上没有误差.

学习界(Learning bound)

PAC 学习框架 - 图74

该定理给出了一般性的结论:对于有限假设集 PAC 学习框架 - 图75 ,如果学习算法 PAC 学习框架 - 图76 每次学到的假设 PAC 学习框架 - 图77 都是一致的——经验误差为0,那么 PAC 学习框架 - 图78 为 PAC可学算法,并且给出了样本复杂度与泛化界.

可以看到,随着样本数 PAC 学习框架 - 图79 的增大,泛化误差减少的速率为 PAC 学习框架 - 图80#card=math&code=O%281%2Fm%29).

证明: 定义 PAC 学习框架 - 图81, 对于单个样本 PAC 学习框架 - 图82,有: PAC 学习框架 - 图83%20%3Dc%5Cleft(%20x%20%5Cright)%20%5Cmid%20h%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%20%5Cright%5D%20%5Cle%201-%5Cepsilon%0A#card=math&code=%5Cmathbb%7BP%7D%5Cleft%5B%20h%5Cleft%28%20x%20%5Cright%29%20%3Dc%5Cleft%28%20x%20%5Cright%29%20%5Cmid%20h%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%20%5Cright%5D%20%5Cle%201-%5Cepsilon%0A) 那么对于样本 PAC 学习框架 - 图84,有: PAC 学习框架 - 图85%20%3D0%5Cmid%20h%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%20%5Cright%5D%20%5Cle%20%5Cleft(%201-%5Cepsilon%20%5Cright)%20%5Em%0A#card=math&code=%5Cmathbb%7BP%7D%5Cleft%5B%20%5Cwidehat%7BR%7D_S%5Cleft%28%20h%20%5Cright%29%20%3D0%5Cmid%20h%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%20%5Cright%5D%20%5Cle%20%5Cleft%28%201-%5Cepsilon%20%5Cright%29%20%5Em%0A) 那么存在 使得 的概率为: PAC 学习框架 - 图86%3D0%5Cright%5D%20%26%3D%5Cmathbb%7BP%7D%5Cleft%5B%5Cwidehat%7BR%7D%7BS%7D%5Cleft(h%7B1%7D%5Cright)%3D0%20%5Cvee%20%5Ccdots%20%5Cvee%20%5Cwidehat%7BR%7D%7BS%7D%5Cleft(h%7B%5Cleft%7C%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%5Cright%7C%7D%5Cright)%3D0%5Cright%5D%20%5C%5C%0A%26%20%5Cleq%20%5Csum%7Bh%20%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%7D%20%5Cmathbb%7BP%7D%5Cleft%5B%5Cwidehat%7BR%7D%7BS%7D(h)%3D0%5Cright%5D%20%5C%5C%0A%26%20%5Cleq%20%5Csum%7Bh%20%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%7D(1-%5Cepsilon)%5E%7Bm%7D%20%5Cleq%7C%5Cmathcal%7BH%7D%7C(1-%5Cepsilon)%5E%7Bm%7D%20%5Cleq%7C%5Cmathcal%7BH%7D%7C%20e%5E%7B-m%20%5Cepsilon%7D%0A%5Cend%7Baligned%7D%0A#card=math&code=%5Cbegin%7Baligned%7D%0A%5Cmathbb%7BP%7D%5Cleft%5B%5Cexists%20h%20%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%3A%20%5Cwidehat%7BR%7D%7BS%7D%28h%29%3D0%5Cright%5D%20%26%3D%5Cmathbb%7BP%7D%5Cleft%5B%5Cwidehat%7BR%7D%7BS%7D%5Cleft%28h%7B1%7D%5Cright%29%3D0%20%5Cvee%20%5Ccdots%20%5Cvee%20%5Cwidehat%7BR%7D%7BS%7D%5Cleft%28h%7B%5Cleft%7C%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%5Cright%7C%7D%5Cright%29%3D0%5Cright%5D%20%5C%5C%0A%26%20%5Cleq%20%5Csum%7Bh%20%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%7D%20%5Cmathbb%7BP%7D%5Cleft%5B%5Cwidehat%7BR%7D%7BS%7D%28h%29%3D0%5Cright%5D%20%5C%5C%0A%26%20%5Cleq%20%5Csum%7Bh%20%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%7D%281-%5Cepsilon%29%5E%7Bm%7D%20%5Cleq%7C%5Cmathcal%7BH%7D%7C%281-%5Cepsilon%29%5E%7Bm%7D%20%5Cleq%7C%5Cmathcal%7BH%7D%7C%20e%5E%7B-m%20%5Cepsilon%7D%0A%5Cend%7Baligned%7D%0A) 由于:学到的一致假设 PAC 学习框架 - 图87 的概率 PAC 学习框架 - 图88 存在一致假设 PAC 学习框架 - 图89 的概率 PAC 学习框架 - 图90%3D0%20%5Cright%5D%20%5Cle%20%7C%5Cmathcal%7BH%7D%7Ce%5E%7B-m%5Cepsilon%7D%0A#card=math&code=%5Cmathbb%7BP%7D%5Cleft%5B%20hS%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%20%5Cright%5D%20%5Cle%20%5Cmathbb%7BP%7D%5Cleft%5B%20%5Cexists%20h%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%3A%5Cwidehat%7BR%7D_S%28h%29%3D0%20%5Cright%5D%20%5Cle%20%7C%5Cmathcal%7BH%7D%7Ce%5E%7B-m%5Cepsilon%7D%0A) 要使: ![](https://g.yuque.com/gr/latex?%5Cmathbb%7BP%7D%5Cleft%5B%20h_S%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%20%5Cright%5D%5Cleq%20%5Cdelta%0A#card=math&code=%5Cmathbb%7BP%7D%5Cleft%5B%20hS%5Cin%20%5Cmathcal%7BH%7D%7B%5Cepsilon%7D%20%5Cright%5D%5Cleq%20%5Cdelta%0A) 需使: PAC 学习框架 - 图91 解得: PAC 学习框架 - 图92%0A#card=math&code=m%5Cge%20%5Cfrac%7B1%7D%7B%5Cepsilon%7D%5Cleft%28%20%5Cln%20%7C%5Cmathcal%7BH%7D%7C%2B%5Cln%20%5Cfrac%7B1%7D%7B%5Cdelta%7D%20%5Cright%29%0A)

布尔变量的组合

PAC 学习框架 - 图93

假如我们需要学习的概念类 PAC 学习框架 - 图94PAC 学习框架 - 图95 个布尔变量(Boolean literals)的组合,例如当 PAC 学习框架 - 图96 时,目标概念可以是 PAC 学习框架 - 图97,那么对于这个目标概念而言,PAC 学习框架 - 图98#card=math&code=%281%2C0%2C0%2C1%29) 是一个正样本,而 PAC 学习框架 - 图99#card=math&code=%281%2C0%2C0%2C0%29) 是一个负样本.

首先,每个布尔变量有3种状态:0、1或不包含,因此样本空间大小为 PAC 学习框架 - 图100.

这时,我们给出一个算法去根据样本预测原目标(具体算法略去),保证得到的假设是一致的.

那么,对于任意的 PAC 学习框架 - 图101,我们可以算出其样本复杂度:

PAC 学习框架 - 图102%0A#card=math&code=m%5Cge%20%5Cfrac%7B1%7D%7B%5Cepsilon%7D%5Cleft%28%20n%5Cln3%2B%5Cln%20%5Cfrac%7B1%7D%7B%5Cdelta%7D%20%5Cright%29%0A)

PAC 学习框架 - 图103 时,我们可算出 PAC 学习框架 - 图104.

也就是说,在至少149个样本的训练后,我们有98%的概率保证,算法习得假设的泛化误差小于 0.1,即精确度可达到 90% 以上。

有限假设集上的学习保证——不一致情况

对于一致情况,我们能找到 PAC 学习框架 - 图105 使得 PAC 学习框架 - 图106%3D0#card=math&code=%5Cwidehat%7BR%7D%28h_S%29%3D0) ,那么学习保证(Guarantees)可以由 PAC 学习框架 - 图107 来刻画.

对于不一致的情况,我们不一定能找到使得这样的 PAC 学习框架 - 图108 ,学习保证就只能由 PAC 学习框架 - 图109 来刻画:

PAC 学习框架 - 图110

该推论可以直接由 Hoeffding’s inequality 得到:

PAC 学习框架 - 图111

对于 0-1分类问题,我们将第 PAC 学习框架 - 图112 次分类正确记为 PAC 学习框架 - 图113,那么

PAC 学习框架 - 图114%20%3D%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%7BY_i%7D%2C%5Cquad%20R%5Cleft(%20h%20%5Cright)%20%3D%5Cmathbb%7BE%7D%5Cleft%5B%20%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%7BYi%7D%20%5Cright%5D%20%0A#card=math&code=%5Cwidehat%7BR%7D_S%5Cleft%28%20h%20%5Cright%29%20%3D%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%7BYi%7D%2C%5Cquad%20R%5Cleft%28%20h%20%5Cright%29%20%3D%5Cmathbb%7BE%7D%5Cleft%5B%20%5Cfrac%7B1%7D%7Bm%7D%5Csum%7Bi%3D1%7D%5Em%7BY_i%7D%20%5Cright%5D%20%0A)

注意到 PAC 学习框架 - 图115,代入即可得证.

学习界

PAC 学习框架 - 图116

从式 (2.20) 可以看出,当样本量 PAC 学习框架 - 图117 增大时,误差界是在减小的,但比一致的情况要慢一些.

此外,还能看出一个在经验误差和假设集之间的权衡(trade-off):

  • 假设集越大,那么拟合能力越强,经验误差就越小
  • 但假设集增大的同时,本身会使误差界增大

两道习题

习题 2.3

PAC 学习框架 - 图118

PAC 学习框架 - 图119

习题2.4

PAC 学习框架 - 图120

PAC 学习框架 - 图121

该证明的前提条件是:若学到的假设圆 PAC 学习框架 - 图122PAC 学习框架 - 图123 都相交,那么必然有 PAC 学习框架 - 图124%3C%20%5Cepsilon#card=math&code=R%28h_S%29%3C%20%5Cepsilon).

我们知道其泛化误差就是一个样本点落在图中阴影部分的概率.

对于上一题的同心圆来说,我们知道点落在错误区域的概率一定会小于 PAC 学习框架 - 图125.

但对于非同心圆的情况,在已知条件仅有 PAC 学习框架 - 图126 的情况下,由于不知道其他区域样本的分布情况,因此无法证明点落在阴影部分的概率小于 PAC 学习框架 - 图127.