对于一个concept class C,如果存在一个算法A和一个多项式poly(.,.,.,.),有对于任意的ε>0、δ>0以及X的任意分布D和任何target concept C,当sample size m>=poly(1/ε,1/δ,n,size(c))时,不等式:

都成立,那么就说这个concept class C是PAC-learnable的。

(1).n:x的维度。

(2).size(c):

O(n):an upper bound on the cost of the computational representation of any element xЄX。对于一个维度为n的用数组表示的x来说要计算的话时间复杂度最高就是O(n)。

size(n):the maximal cost of the computation representation of cЄC。同O(n)的解释,可以看做就是c的大小。

如果算法A的样本复杂度关于1/δ,1/ε,n,size(c)的大小是多项式的,那么就说C是efficiently PAC-learnable的。当这样的A存在的时候,该算法A被叫做concept class C的PAC learning algorithm。

对于PAC-learnability还有一些要注意的地方:

(1).PAC对于x的任意分布D都是成立的。

(2).虽然对分布没有限定,training sample和testing sample都要产生与同一个分布D。

(3).PAC所解决的是一个concept class C的可学习性问题,并不针对一个特别的concept c(通常target c也是未知的但C是已知的)。

一个例子:

如图,X=R^2,concept class C是在R^2上的所有边与坐标轴平行的矩阵,目标是求得一个concept C使得矩阵内部的点都为1(蓝点),矩阵外部的点都为2(红点)。对于这个问题设计了一个非常简单的算法,算法返回包含了所有label为1的点的最小的矩阵。

假设算法返回的矩阵为R',我们沿R的四个边做四个矩形为r1,r2,r3,r4,并令它们的probability mass等于ε/4,如果我们要使R(R')也就是R'的gerneralization error大于ε,那么R'不能和四个矩阵都有交集,否则R-R'=R(R')必小于ε。也就是R'至少要和一个矩阵ri没有交集。

于是有:

(1):由于Rs与ri没有交集等价于没有蓝点落在ri中,又ri在target concept R中,所以没有红点落在ri中,综合下也就是没有点落在ri中,每个点落在ri的概率为ε/4,那么对于每个ri,m个点都不落在其中的概率为(1-ε/4)^m,有四个ri。

(2):为exp^(-x)的泰勒展开缩放。

由此得:

也就是样本大小m在满足上述不等式时能够保证concept space是PAC Learnable的。这里对于1/δ是ln复杂度,对于1/ε是线性复杂度,总的来说是efficiently PAC-learnable的。

上面矩阵的例子是对于PAC在一种特殊情况下的证明,下面我们试着推广至更多的情况:

1.finite H,consistent case

假设H为X至Y的一个有限空间函数集,对于任何目标concept cЄH以及独立同分布的样本集S,算法A都能返回一个与S一致的hypothesis hS,也就是Rhat(hS)=0.那么有对于任意的ε,δ>0:

如果:

都成立。

改写上式得到相应的generalization bound:

证明:我们要限制出现某个h和sample一致(consistent),但是error大于ε的情况发生的概率:

最后一步根据P(A∧B)=P(A|B)*P(B)<P(A|B)。

又有:

带入可得:

设不等式右边等于δ得证。

2.finite H,inconsistent case

H是一个有限的假设空间,对于任意δ>0,以至少1-δ的概率,有:

证明:Corollary(1):

固定ε>0,S为大小为m的i.i.d分布的样本集,那么对于任意hypothesis h:X->{0,1},下面的不等式都成立:

证明:直接使用Hoeffiding不等式可得。

Corollary(2):

单个hypothesis的generalization bound:

H是一个有限的假设空间,那么对于任意的δ>0,以至少1-δ的概率有:

证明:假设corollary(1)不等式右边等于δ可得。

定理证明:

最后一步运用Corollary(1),设不等式右边等于δ原式得证。

注意到,这里得到的bound要求我们在empirical error和H的大小中寻求一个平衡,一个大的H虽然会增加第二项的值但是会同时减少empirical error。当然,当empirical error差不多时,要尽量选择大小更小的hypothesis set,这也符合了Occam剃刀原则。

[FML]学习笔记二 PAC Learning Model的更多相关文章

  1. Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools

    中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...

  2. [FML]学习笔记三 Rademacher Complexity

    该章节证明用到的不等式:Hoeffding不等式,McDiarmid不等式以及jensen不等式 Hoeffding's: McDiarmid不等式是Hoeffding不等式的一个推广,用f(S)代替 ...

  3. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  4. Django学习笔记二

    Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...

  5. kvm虚拟化学习笔记(二)之linux kvm虚拟机安装

    KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...

  6. (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem

    (转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...

  7. 微信小程序学习笔记二 数据绑定 + 事件绑定

    微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...

  8. MongoDB学习笔记二- Mongoose

    MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...

  9. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

随机推荐

  1. HTML&CSS基础学习笔记1.25-input标签隐藏元素

    隐藏元素 有时候我们编写前端代码的时候,可能需要把一些数据告诉后台,但是这些数据又不想让用户看到,我们可以设置<input>标签的[type]属性为"hidden". ...

  2. Ubuntu下配置使用maven

    下载界面: http://maven.apache.org/download.cgi 当前下载:apache-maven-3.2.5-bin.zip 解压到:/usr/lib/jvm/apache-m ...

  3. Android系统服务-简介

    http://blog.csdn.net/chenyafei617/article/details/6577907 Introduction 我们知道Android系统服务挺多的,做程序时经常会用到, ...

  4. ThrottleStop

    ThrottleStop 我的要开这个软件,睿频才能开.不然一直工作在1.8Ghz下默认频率太低了开了这个速度才有提升

  5. PowerShell中调用外部程序和进程操作命令例子

    学习PowerShell,我们不指望通过C#编程去搞定所有事情,我们应该记住cmd.exe或者说批处理给我们留下的宝贵财富——通过调用外部程序去解决问题.调用了外部程序,势必就要对进程进行管理,这就是 ...

  6. 【转】解决java.lang.IllegalStateException: The content of the adapter has changed but ListView...的问题

    原文网址:http://blog.csdn.net/ueryueryuery/article/details/20607845 我写了一个Dialog,Dialog中有一个ListView,想要点Li ...

  7. 使用css框架的优缺点

    使用css框架的优点 1.加速开发 CSS框架提供通用的代码(如reset,和移动端开发的一些常用设置)和许多丰富的UI组件样式——因此我们不需要从头开始写. 2.无兼容性烦恼 CSS框架解决了各个浏 ...

  8. poj 2456 Aggressive cows(二分搜索之最大化最小值)

    Description Farmer John has built a <= N <= ,) stalls. The stalls are located along a straight ...

  9. WPF与输入法冲突研究之一:百度输入法会导致WPF程序的崩溃!

    在学习和使用了WPF一段时间之后,有点感觉WPF是个不太成熟的框架,不知道是我学的太肤浅,还是WPF得BUG太多! >>>>>>>模拟场景<<&l ...

  10. iPhone、iPod和iPad离线固件升级的方法

    我们知道iOS升级的过程过程超级简单,特别是在线升级只需要点击几个按钮就ok了,但是对于开发者来说,经常升级的iOS固件都是preview版的,需要自己下载好固件之后,手动来更新,我找了一下网上的资料 ...