紧接上一讲的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. C++ POD类型

    POD( Plain Old Data)概念: Arithmetic types (3.9.1), enumeration types, pointer types, and pointer to m ...

  2. VScode中的golang代码规范太严格,怎么处理。

    在vscode的配置文件settings.json中,加入下面的配置,一般设置为0.8即可. "go.lintFlags": [ "-min_confidence=.8& ...

  3. 如果有反向代理的情况下,获取最原始的IP的办法

    HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_HOST"];

  4. POJ-2481 Cows---树状数组的运用

    题目链接: https://vjudge.net/problem/POJ-2481 题目大意: if Si <= Sj and Ej <= Ei and Ei - Si > Ej - ...

  5. 5、Oracle备份(oracle备份脚本配置)

    1.1 Oracle数据库备份 1.1.1 链接Oracle介质管理库 请在数据库节点上操作. [oracle@db01/usr/openv/netbackup/bin]$ ./oracle_link ...

  6. 2017.10.25 Java List /ArrayList 三种遍历方法

    java list三种遍历方法性能比较 学习java语言list遍历的三种方法,顺便测试各种遍历方法的性能,测试方法为在ArrayList中插入记录,然后遍历ArrayList,测试代码如下: pac ...

  7. xshell 连接虚拟机过程

    (1)Ctrl+Shift+T 打开终端 terminal (2)ifconfig得到ip网络地址 (3)ssh安装已经打开ssh服务 (4)安装openssh-server sudo apt ins ...

  8. Real VNC软件

    RealVNC5.2.3+key http://yunpan.cn/cjchAkeIgEAPG (提取码:4092)

  9. linux数据库copy方法

    相信大多数程序员都会遇到数据库copy的问题,下面就总结几种常见的方法,针对有mysql基础的同学参考 方法一:利用sqlyog的copy database的功能,如图 这种最简单,速度比较慢: 方法 ...

  10. OA上传和编辑数据

    1.VO:value object值对象.通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象,可以和表对应,也可以不,这根据业务的需要. 2. String[]类型打 ...