05 Training versus Testing
train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0;
test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g)。

如果|H|小,更易保证test(不等式右式小),难保证train(选择少);
如果|H|大,更易保证train(选择多),难保证test(不等式右式大)。
如果|H|无限呢?2Mexp(...)可能大于1了,对于概率值上限来说失去意义。那能否用个有限值代替|H|呢?
看一下2Mexp(...)这个上限的来源。

本质是求并集,但是得出2Mexp(...)这个式子是默认无交集的情况下求的并集,
实际上,A确定后,H形式也确定,
给定D,在H里存在相似的h,这些h在D上的表现一致,即存在交集,所以2Mexp(...)这个式子作为上限来说过大了。
给定D,可通过将H里相似h分到同类里(同类里h的数目可能是无限的),将|H|变为类数,就可能将无限的|H|变为有限的类数。
定义给定D下,将|H|分得的类为dichotomies,每一个dichotomy在D上表现相同。
假设D里有2个样本点,将D分为OO、OX、XO、XX的h分别归为一类,共有4类。
可以发现dichotomies的数量是依赖于具体D和H的,但是dichotomies的数量的最大值只依赖与D里样本点的个数N和H,
例如感知器算法里,N=2时,最大值不超过2的N次方,这里是4。
定义dichotomies的数量的最大值为N的成长函数,记为mH(N)。------只和H、N有关
即给定样本数N,H里假设类数是小于等于mH(N)的。
对于2维感知机,mH(1)=2,mH(2)=4,mH(3)=8,mH(4)=14。



可以看出,成长函数可能是多项式型的(好的,能保证只要N足够大,2mH(N)exp(...)小),也可能是指数型的(坏的)。
对于2维及以上维数的感知机,成长函数是多项式型的吗?

shatter:如果H里的假设能够保证k个输入能够输出任意标签的组合,称H能shatter这k个输入。
break point k:H不能shatter这k个输入,称k为断点。


猜想,只要存在断点,就能保证成长函数是多项式型,进而保证了test。
05 Training versus Testing的更多相关文章
- 机器学习基石:05 Training versus Testing
train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...
- 机器学习基石笔记:05 Training versus Testing
train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...
- 机器学习基石 5 Training versus Testing
机器学习基石 5 Training versus Testing Recap and Preview 回顾一下机器学习的流程图: 机器学习可以理解为寻找到 \(g\),使得 \(g \approx f ...
- Coursera台大机器学习课程笔记4 -- Training versus Testing
这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题: 为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才 ...
- 【Training versus Testing】林轩田机器学习基石
接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...
- 理解机器为什么可以学习(二)---Training versus Testing
前边由Hoeffding出发讨论了为什么机器可以学习,主要就是在N很大的时候Ein PAC Eout,选择较小的Ein,这样的Eout也较小,但是当时还有一个问题没有解决,就是当时的假设的h的集合是个 ...
- 林轩田机器学习基石课程学习笔记5 — Training versus Testing
上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...
- Note for video Machine Learning and Data Mining——training vs Testing
Here is the note for lecture five. There will be several points 1. Training and Testing Both of th ...
- 机器学习基石的泛化理论及VC维部分整理(第五讲)
第五讲 Training versus Testing 一.问题的提出 \(P_{\mathcal{D}}\left [ BAD \mathcal{D} \right ] \leq 2M \cd ...
随机推荐
- HTML5 File接口(在web页面上使用文件)
File接口提供了与文件相关的信息,并且运行JavaScript在web页面上去访问文件中的内容. File对象来自于用户使用input标签选择文件返回的FileList对象,来自于拖放操作的Data ...
- [看图说话] 基于Spark UI性能优化与调试——初级篇
Spark有几种部署的模式,单机版.集群版等等,平时单机版在数据量不大的时候可以跟传统的java程序一样进行断电调试.但是在集群上调试就比较麻烦了...远程断点不太方便,只能通过Log的形式,进行分析 ...
- 前端项目经验总结之js防缓存(避免缓存的影响)
一.问题描述:打包后的h5项目中有个server.js文件夹,这个文件夹有些时候用户更新了h5,但是加载的还是旧的server.js,所以怀疑是缓存的问题,为了避免缓存的影响所以要给server.js ...
- 【转】JDBC连接数据库
创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Java虚拟机), 这通过java.lang.Class类的 ...
- Nginx+tomcat动静分离安装脚本
#!/bin/bashsetenforce 0systemctl stop firewalldtar -zxvf nginx-1.8.0.tar.gz -C /usr/src/ cd /usr/src ...
- Ubuntu下安装Redis并实现远程访问
之前的一篇随笔写到Redis在Windows下的安装,但目前好多大数据处理的服务是在Linux上的,所以想以Redis为例并实现在Windows上利用C#代码远程访问. 以在Ubuntu下为例,步骤如 ...
- Ichars制作数据统计图
数据统计图基本上每个网站的后台都要做,不仅要做还要的非常详细才行,这样才能全面的具体的了解网站数据.之前用的jfreechart没有iChartjs用着方便,也没有iChartjs的效果炫,所以果断弃 ...
- 怎么用php语言来做文件缓存
使用缓存能够让我们的程序访问起来更加快速,缓存可以减少对数据库的操作,体验起来更好一些,对服务器的压力也小一些,当然服务速度很快 php文件执行完之后产生的解析完的数据,保存成静态的网页,下次打开的这 ...
- C++ 11 学习1:类型自动推导 auto和decltype
Cocos 3.x 用了大量的C++ 11 的东西,所以作为一个C++忠实粉丝,有必要对C++ 11进行一个系统的学习. 使用C++11之前,一定要注意自己使用的编译器对C++11的支持情况,有些编译 ...
- 1197: [HNOI2006]花仙子的魔法
1197: [HNOI2006]花仙子的魔法 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 762 Solved: 443[Submit][Stat ...