[FML]学习笔记二 PAC Learning Model
对于一个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的更多相关文章
- Learning ROS for Robotics Programming Second Edition学习笔记(二) indigo tools
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- [FML]学习笔记三 Rademacher Complexity
该章节证明用到的不等式:Hoeffding不等式,McDiarmid不等式以及jensen不等式 Hoeffding's: McDiarmid不等式是Hoeffding不等式的一个推广,用f(S)代替 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- Django学习笔记二
Django学习笔记二 模型类,字段,选项,查询,关联,聚合函数,管理器, 一 字段属性和选项 1.1 模型类属性命名限制 1)不能是python的保留关键字. 2)不允许使用连续的下划线,这是由dj ...
- kvm虚拟化学习笔记(二)之linux kvm虚拟机安装
KVM虚拟化学习笔记系列文章列表----------------------------------------kvm虚拟化学习笔记(一)之kvm虚拟化环境安装http://koumm.blog.51 ...
- (转载)林轩田机器学习基石课程学习笔记1 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
- 微信小程序学习笔记二 数据绑定 + 事件绑定
微信小程序学习笔记二 1. 小程序特点概述 没有DOM 组件化开发: 具备特定功能效果的代码集合 体积小, 单个压缩包体积不能大于2M, 否则无法上线 小程序的四个重要的文件 *js *.wxml - ...
- MongoDB学习笔记二- Mongoose
MongoDB学习笔记二 Mongoose Mongoose 简介 之前我们都是通过shell来完成对数据库的各种操作, 在开发中大部分时候我们都需要通过程序来完成对数据库的操作 而Mongoose就 ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
随机推荐
- 禁用与启用Button点击
//启用查询按钮 btnFpSelect.setClickable(true); //禁用查询按钮 btnFpSelect.setClickable(false);
- Ubuntu12.04 下修改Apache端口号
1:$sudo vim /etc/apache2/ports.conf NameVirtualHost *:80Listen 8090 #将此行的80修改成8090 2:sudo vim /etc/a ...
- cf A. Down the Hatch!
http://codeforces.com/contest/332/problem/A #include <cstdio> #include <iostream> #inclu ...
- C++ 中 struct和class 的区别
来自:http://hi.baidu.com/pengxiangbobin19890125/blog/item/b05586eee77300212df53411.html C++ prime 中 ...
- PHP常见报错解析
{错误类型}: {错误原因} in {错误文件} on {错误行数} 说明了在哪个文件的哪一行中因何种原因出现了何种错误. 常见的错误类型一般有下面几种: Parse error(解析错误)一般都伴随 ...
- uiautomatorviewer 识别android微信元素报错
org.xml.sax.SAXParseException; systemId: file:/C:/Users/xxxxxxxxx/AppData/Local/Temp/uiautomatorview ...
- linux shell在while中用read从键盘输入
系统是ubuntu 14.04 64bit,之前曾想安装Stream来玩dota2,但最终没成功.由于Stream只有32bit,安装Stream时也安装了大量32bit的库.删除Stream后,这些 ...
- java bootstrap分页
样式如下 datumMap.total总共多少页 datumMap.page第几页 <nav class="pull-right"> <ul class=&quo ...
- 执行eclipse,迅速failed to create the java virtual machine。
它们必须在一排,否则会出现The Eclipse executable launcher was unable to locate its companion shared library的错误 打开 ...
- Gunplot 命令大全
在linux命令提示符下运行gnuplot命令启动,输入quit或q或exit退出. plot命令 gnuplot> plot sin(x) with line linetype 3 linew ...