训练与测试
2016-08-02 18:16
232 查看
回顾一下,在上一节中,我们知道在H是有限的时候,我们可以证明得到
如果N足够大,那么我们无论从H中选出一个g,有很大的概率保证Eout(g)≈Ein(g)
如果我们找到了一个g,他的Ein(g)≈0,那么PAC保证Eout(g)≈0
我们抽取的样本服从同一分布
以上就说明了两个核心问题!
1. 我们能否保证Eout(g)接近Ein(g)
2. 我们能否使得Ein(g)足够的小
H内h的个数M对上面两个问题有什么影响??
1. 当M很小时,可以保证第一个要求Eout(g)接近Ein(g),但是不能保证第二个。因为M太小,h的选择就小,不一定能找到Ein(g)≈0的h
2. 当M很大时,可以保证第二个,因为此时h足够多,但是不能保证第一个,
但是一般情况下,H的M是无穷大的
方法就是,我们能不能找到一个有限大小的mH,来代替无限的M呢???
我们把这每一个类别成为一条有效的线。类别的综合称为有效线的数量
当只有一个数据点的时候,有效线的数量为2
当有两个数据点的时候,有效线的数量为4
当有3个数据点的时候,有效线的数量最多为8
如果像下面的那种情况,有效线的数量就只有6条
当有4个数据点的时候,有效线的数量最多为14,不是16。一下图形只画了7条,还有7条刚好对称
即N与有效线的长度为的关系为
我们好奇的是,能不能用有效线的个数effective(N) 去代替 M呢?
即像这样
其中effective(N)是小于2N,但是林轩田老师说希望远小于。其实应该没有必要。因为2∗2N∗exp(−2ϵ2∗N)依然是随着N递减的,很好算,这里就不写了。
这种以训练样本的分类情况来确定一类假设的方式,称为二分类(dichotomy)。使用符号表示为H(x1,x2,…,xn),即假设空间在特定的训练样本集合(x1,x2,…,xn)上被分为几类。
我们考虑能否用| H(x1,x2,x3,…,xn) |代替M
发现| H(x1,x2,x3,…,xn) |很依赖于样本集(x1,x2,x3,…,xn),为了解决这个问题,我们定义
我们称mH(N)为成长函数
那怎么计算成长函数呢???现在举几个简单的例子!!!
题目要求右边只能为正的,左边只能为负的。那么结果为
这个题是要求,中间的为正的,旁边的为负的。结果为:
对于凸函数
里面凸函数是正的,外面是负的,得到的 mH(N)=2N(这个看不出来,前两个好强调内容理解)
综述,我们得到了4种情况的成长函数
定义突破点 break point
比如2D 情况,数据点为1,2,3时,其mH(N)为 2,4,8,满足2N,但是当N=4时,其mH(N)为14,而不是16,就不满足2N,而且,对于任意情况(不仅仅是2D,是所有的点分布)。若在N=k时不满足2N,则在N=k+1,k+2,k+3,… 都不满足2N。则我们定义k为 突破点break point 。这里2D的突破点的值为4.
其他三种的突破点的值为2,3,0.
同时还发现了一个有趣的规律————我们可以通过突破点的值来求出mH(N)的复杂度。刚刚好是突破点的值减去1.
通过以上图形,是否可以猜测出2D的mH(N)的复杂度为 O(N3)
如果N足够大,那么我们无论从H中选出一个g,有很大的概率保证Eout(g)≈Ein(g)
如果我们找到了一个g,他的Ein(g)≈0,那么PAC保证Eout(g)≈0
我们抽取的样本服从同一分布
以上就说明了两个核心问题!
1. 我们能否保证Eout(g)接近Ein(g)
2. 我们能否使得Ein(g)足够的小
H内h的个数M对上面两个问题有什么影响??
1. 当M很小时,可以保证第一个要求Eout(g)接近Ein(g),但是不能保证第二个。因为M太小,h的选择就小,不一定能找到Ein(g)≈0的h
2. 当M很大时,可以保证第二个,因为此时h足够多,但是不能保证第一个,
但是一般情况下,H的M是无穷大的
方法就是,我们能不能找到一个有限大小的mH,来代替无限的M呢???
有效线的数量
由于H是无限的,样本集是有限的,我们能不能根据 有限的数据 把H分成 有限的类别(每一类别里的线都差不多)我们把这每一个类别成为一条有效的线。类别的综合称为有效线的数量
当只有一个数据点的时候,有效线的数量为2
当有两个数据点的时候,有效线的数量为4
当有3个数据点的时候,有效线的数量最多为8
如果像下面的那种情况,有效线的数量就只有6条
当有4个数据点的时候,有效线的数量最多为14,不是16。一下图形只画了7条,还有7条刚好对称
即N与有效线的长度为的关系为
我们好奇的是,能不能用有效线的个数effective(N) 去代替 M呢?
即像这样
其中effective(N)是小于2N,但是林轩田老师说希望远小于。其实应该没有必要。因为2∗2N∗exp(−2ϵ2∗N)依然是随着N递减的,很好算,这里就不写了。
有效超平面的个数
上一节的内容介绍了,将无限多的假设转换成为有限多种类型上。这种以训练样本的分类情况来确定一类假设的方式,称为二分类(dichotomy)。使用符号表示为H(x1,x2,…,xn),即假设空间在特定的训练样本集合(x1,x2,…,xn)上被分为几类。
我们考虑能否用| H(x1,x2,x3,…,xn) |代替M
发现| H(x1,x2,x3,…,xn) |很依赖于样本集(x1,x2,x3,…,xn),为了解决这个问题,我们定义
我们称mH(N)为成长函数
那怎么计算成长函数呢???现在举几个简单的例子!!!
题目要求右边只能为正的,左边只能为负的。那么结果为
这个题是要求,中间的为正的,旁边的为负的。结果为:
对于凸函数
里面凸函数是正的,外面是负的,得到的 mH(N)=2N(这个看不出来,前两个好强调内容理解)
综述,我们得到了4种情况的成长函数
定义突破点 break point
比如2D 情况,数据点为1,2,3时,其mH(N)为 2,4,8,满足2N,但是当N=4时,其mH(N)为14,而不是16,就不满足2N,而且,对于任意情况(不仅仅是2D,是所有的点分布)。若在N=k时不满足2N,则在N=k+1,k+2,k+3,… 都不满足2N。则我们定义k为 突破点break point 。这里2D的突破点的值为4.
其他三种的突破点的值为2,3,0.
同时还发现了一个有趣的规律————我们可以通过突破点的值来求出mH(N)的复杂度。刚刚好是突破点的值减去1.
通过以上图形,是否可以猜测出2D的mH(N)的复杂度为 O(N3)
相关文章推荐
- 您的企业信息,安全吗?
- 巡检查看数据库Process 连接数
- 【MySQL】MySQL中针对大数据量常用技术
- UITableView 自定义分割线
- 使用外部拦截法处理滑动冲突
- jsp中中文乱码
- Python杨辉三角算法
- c# OpenFileDialog 打开多个文件
- POJ 2560 浮点型的带权值
- Cardboard使用空间音频(一)原文翻译
- AFN解析返回的html文件和ContentType是“text/plain”类型的json文件
- 前端开发人员必须了解的七大技术图谱
- lock,Monitor,Mutex的区别
- SPI_FLASH时序描述及驱动编程
- 生产环境oracle 数据库迁移操作
- linux下安装mysql
- SPI_FLASH时序描述及驱动编程
- MySQL分库分表
- 学习一点java的知识
- poj-2631-Road in the North【树的直径】