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的更多相关文章

  1. 机器学习基石:05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  2. 机器学习基石笔记:05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  3. 机器学习基石 5 Training versus Testing

    机器学习基石 5 Training versus Testing Recap and Preview 回顾一下机器学习的流程图: 机器学习可以理解为寻找到 \(g\),使得 \(g \approx f ...

  4. Coursera台大机器学习课程笔记4 -- Training versus Testing

     这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:    为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才 ...

  5. 【Training versus Testing】林轩田机器学习基石

    接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...

  6. 理解机器为什么可以学习(二)---Training versus Testing

    前边由Hoeffding出发讨论了为什么机器可以学习,主要就是在N很大的时候Ein PAC Eout,选择较小的Ein,这样的Eout也较小,但是当时还有一个问题没有解决,就是当时的假设的h的集合是个 ...

  7. 林轩田机器学习基石课程学习笔记5 — Training versus Testing

    上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...

  8. 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 ...

  9. 机器学习基石的泛化理论及VC维部分整理(第五讲)

    第五讲 Training versus Testing 一.问题的提出 \(P_{\mathcal{D}}\left [ BAD   \mathcal{D} \right ]  \leq 2M \cd ...

随机推荐

  1. JavaScript两个变量交换值(不使用临时变量)

    概要  本文主要描述,如何不使用中间值,将两个变量的值进行交换. 一.普通做法 var a = 1, b = 2, tmp; tmp = a; a = b; b = tmp;  普通的做法就是声明多一 ...

  2. 每天一个Linux命令(20)--find命令之exec

    find 是我们很常用的一个Linux命令,但是我们一般查找出来的额并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec  参数后面跟的是 comm ...

  3. MySQL学习分享--数值类型

    数值类型 MySQL的数值类型包括整数类型.浮点数类型.定点数类型.位类型. 整数类型 MySQL支持的整数类型有tinyint.smallint.mediumint.int.bigint(范围从小到 ...

  4. python算法(一)

    python算法(一) 一.求数x的因子 x=100 divisors=()#初始化空的元组 for i in range(1,x): if x%i==0: divisors=divisors+(i, ...

  5. jQuery入门(一)

    相信学js的人多多少少听过JQuery,JQuery对于前端开发人员来说是不可或缺的,他让开发变得更加简单.那到底什么是JQuery呢?用一句话来说,JQuery就是一个javascript的库.所谓 ...

  6. Linked List Cycle && Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note ...

  7. (18)IO流之字节缓冲路

    缓冲流 BufferedInputStream 缓冲输入流 前面的练习告诉我们使用缓冲数组读取的效率更高,为了方便的大家的操作,sun 位大家提供了一个缓冲输入字节流对象,让我们可以更高效率的读取文件 ...

  8. SQL Server跨数据库 增删查改

    比如你在库A ,想查询库B的表.可以用 数据库名.架构名.表名的方式查询 select * from 数据库B.dbo.表1 也可以在存储过程中这样使用. 需要注意的是,如果使用这样的查询方式,你必须 ...

  9. Sublime安装Package Control插件

    一.简易安装 打开Sublime text的console.打开console的快捷时ctrl+,或者在菜单栏点击View->Show Sonsole`.打开后将下面的代码复制到console中 ...

  10. 对Golang有兴趣的朋友,推荐一款go语言Web框架-dotweb

    Go语言,2009年推出,对我个人,2015年下半年,才下定决心正式开始引入使用Go,自此,让我获得了一种全新的开发体验. 在不断的项目过程中,一个开发人员总喜欢堆积一些代码段,由于Go的开源特性,逐 ...