紧接上一讲的Break Point of H。有一个非常intuition的结论,如果break point在k取到了,那么k+1, k+2,... 都是break point。

那么除此之外,我们还能获得那些讯息?

这里举了一些例子,核心就是说下面的事情

简言之,如果H有Break Point k,那么当N大于k的时候,mH(N)会大大地缩减(对于binary classification来说是pow(2, N) )。

按照这个思路,自然就想知道,既然mH(N)会大大缩减,能缩减到啥程度?(如上图猜测,能否所见到N的polynomial的形式呢?)

接下来,引出了Bounding Function的概念:

这个概念的提出,就是为了看N个样本点,Break Point为k,到底能把mH(N)缩减到啥程度的?

另外,这里的B(N,k)只与N和k有关,与具体的假设集合H无关.

比如,在binary classification这个问题下,无论是positive intervals还是1D perceptrons,这个Bounding Function都是一样的。

现在的问题是怎么给Bounding Function的形式了。

根据下面几页PPT的内容:

猜测得出了Bounding Function的一个上界(本来Bouding Function就是一个上界了,这次得出的上界的上界)

这里我们看到了,Bounding Function的上界终于出现了我们喜欢的Polynomial的形式。

因此,得到了结论,只要Break Point存在,则mH(N)一定能够被一个多项式Bound住。

这里再明确一次:B(N,k)叫Bounding Function,是为了Bound住mH(N)(叫Growth Funciton)而生的;到了上面这块,我们找到的是Bounding Fucntion的一个上界,这个上界是一个关于N和k的多项式形式的式子;结论就是用Bounding Function的上界Bound住了Growth Function。

==================================================================

上面讲了一大堆,最后就是说mH(N)是可以在某种条件下(Break Point k)被Bound住的。这跟机器学习有啥关系呢?现在回到Hoeffding不等式的union bound形式

这里一个直观的想法就是,既然已经找到了mH(N)的上界( 被B(N,k)的上界Bound住了 ),那直接带进Hoeffding不等式不就行了么。

这里忽略了Eout(h)是无限个。。。。

因此,第一步需要把Eout(h)给换成有限个,如下:

这里没有做严格的证明,只给了直观的解释:假设还有一笔资料D‘(数量也为N),sample的结果为Ein';那么Ein与Eout发生BAD则,很可能Ein与Ein'也发生了BAD。

这里暂时记住,这一步用了有限代替无限,并做了一个放缩吧先。

第二步,把假设集合H分类。

利用第一步的结果,再直观想象下:为了产生Ein',硬是多了N个样本点;那么此时Growth Function mH(N)中的‘N’自然就变成了‘2N’了

第三步,再用一下前人的智慧,想办法套Hoeffding Without Replacement

变换后就成了:原来有个2N个sample,现在抽了N个sample出来;这N个sample跟原来2N个sample的真实情况相比,发生BAD的概率是多少呢?

这就变成了很像Hoeffding不等式的条件,但这里的区别是无放回抽样,变成了Without Replacement;但最后的结果是不影响的

上面三步之后,得到了最后的Vapnik-Chervonenkis(VC) bound:

再回顾一下2D perceptron:

Break Point : k=4

mH(N) : O (N³)

因此2D perception由VC dimension理论可知,是可以从数据中学到东西的。

【Theory of Generalization】林轩田机器学习基石的更多相关文章

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

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

  2. 【The VC Dimension】林轩田机器学习基石

    首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...

  3. 【 Logistic Regression 】林轩田机器学习基石

    这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...

  4. 【Linear Regression】林轩田机器学习基石

    这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...

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

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

  6. 【Feasibility of Learning】林轩田机器学习基石

    这一节的核心内容在于如何由hoeffding不等式 关联到机器学习的可行性. 这个PAC很形象又准确,描述了“当前的可能性大概是正确的”,即某个概率的上届. hoeffding在机器学习上的关联就是: ...

  7. 【Perceptron Learning Algorithm】林轩田机器学习基石

    直接跳过第一讲.从第二讲Perceptron开始,记录这一讲中几个印象深的点: 1. 之前自己的直觉一直对这种图理解的不好,老按照x.y去理解. a) 这种图的每个坐标代表的是features:fea ...

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

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

  9. 林轩田机器学习基石笔记4—Feasibility of Learning

    上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Lear ...

随机推荐

  1. sublime text2卸载和重新安装(转载)

    很多同学使用 sublime text2 的时候,出现一些奇怪的bug,且重启无法修复. 于是,就会想到卸载 sublime text2 再重新安装. 然而,你会发现,重新安装后,这个bug任然存在, ...

  2. Raknet—视频会议系统最佳的数据传输引擎

    RakNet是一个跨平台的C++和C#的游戏引擎,它主要是为高效的数据传输而设计,使用者可以通过它进行游戏和其他的程序的开发.RakNet虽然是一个游戏引擎,但同样也是一个非常好的视频会议系统传输引擎 ...

  3. APP专项测试使用到的工具

    最近在读<大话APP测试>,我也就是把需要使用的测试点做一个总结,目前是使用的工具进行的整理,后期慢慢把工具使用案例贴出来

  4. Android OpenGL ES 画球体

    近期由于兴趣所向.開始学习OpenGL绘图. 本文以"画球体"为点,小结一下近期所学. > 初识OpenGL ES 接触OpenGL是从Android開始的.众所周知,And ...

  5. 2019.03.14 ZJOI2019模拟赛 解题报告

    得分: \(100+100+0=200\)(\(T1\)在最后\(2\)分钟写了出来,\(T2\)在最后\(10\)分钟写了出来,反而\(T3\)写了\(4\)个小时爆\(0\)) \(T1\):风王 ...

  6. P1540 机器翻译

    题目背景 小晨的电脑上安装了一个机器翻译软件,他经常用这个软件来翻译英语文章. 题目描述 这个翻译软件的原理很简单,它只是从头到尾,依次将每个英文单词用对应的中文含义来替换.对于每个英文单词,软件会先 ...

  7. MySQL 主从同步 Slave_IO_Running: No

    MariaDB [chen]> show slave status \G *************************** 1. row ************************* ...

  8. python_4_interaction

    #1(方法1)尽量不用这种拼接法,效率低下,占用内存多 name=input("name:") age=input('age:') job=input('job:') salary ...

  9. Hive 常用命令和语句

    示例数据库为 db_hive 1. 创建表 create-table.sql create table if not exists db_hive.tb_user ( id int, username ...

  10. 第14章 启动文件详解—零死角玩转STM32-F429系列

    第14章     启动文件详解 全套200集视频教程和1000页PDF教程请到秉火论坛下载:www.firebbs.cn 野火视频教程优酷观看网址:http://i.youku.com/firege ...