【Theory of Generalization】林轩田机器学习基石
紧接上一讲的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 — The Learning Problem
(转载)林轩田机器学习基石课程学习笔记1 - The Learning Problem When Can Machine Learn? Why Can Machine Learn? How Can M ...
- 【The VC Dimension】林轩田机器学习基石
首先回顾上节课末尾引出来的VC Bound概念,对于机器学习来说,VC dimension理论到底有啥用. 三点: 1. 如果有Break Point证明是一个好的假设集合 2. 如果N足够大,那么E ...
- 【 Logistic Regression 】林轩田机器学习基石
这里提出Logistic Regression的角度是Soft Binary Classification.输出限定在0~1之间,用于表示可能发生positive的概率. 具体的做法是在Linear ...
- 【Linear Regression】林轩田机器学习基石
这一节开始讲基础的Linear Regression算法. (1)Linear Regression的假设空间变成了实数域 (2)Linear Regression的目标是找到使得残差更小的分割线(超 ...
- 【Training versus Testing】林轩田机器学习基石
接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...
- 【Feasibility of Learning】林轩田机器学习基石
这一节的核心内容在于如何由hoeffding不等式 关联到机器学习的可行性. 这个PAC很形象又准确,描述了“当前的可能性大概是正确的”,即某个概率的上届. hoeffding在机器学习上的关联就是: ...
- 【Perceptron Learning Algorithm】林轩田机器学习基石
直接跳过第一讲.从第二讲Perceptron开始,记录这一讲中几个印象深的点: 1. 之前自己的直觉一直对这种图理解的不好,老按照x.y去理解. a) 这种图的每个坐标代表的是features:fea ...
- 林轩田机器学习基石课程学习笔记5 — Training versus Testing
上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...
- 林轩田机器学习基石笔记4—Feasibility of Learning
上节课介绍了机器学习可以分为不同的类型.其中,监督式学习中的二元分类和回归分析是最常见的也是最重要的机器学习问题.本节课,我们将介绍机器学习的可行性,讨论问题是否可以使用机器学习来解决. 一.Lear ...
随机推荐
- 小程序wx.request的POST方法的参数传输服务器接收不到
这是API里面的例子: 而实际这样,服务端拿到的是空值. 将header更改一下,application/x-www-form-urlencoded,则可以让服务器收到数据
- QT创建与调用Dll方法(包括类成员)--显式调用
看网上的好多关于QT调用Dll的方法,大部分都是调用函数的,并没有调用C++类成员的情况,即使是有,比如说: 使用Qt编写模块化插件式应用程序 Qt 一步一步实现dll调用(附源码)---(这一篇里没 ...
- JS显示上一周
<html> <head> <script> var currDT; var aryDay = new Array("日","一&qu ...
- Java小吐槽
简单说明,所有小吐槽都基于我的.NET经验,作为Java初学者,肯定有贻笑大方之处,欢迎之处,共同学习,共同进步. 1. The public type XXXXXXXX must be define ...
- 关于IDataReader.GetSchemaTable的一些事情
http://stackoverflow.com/questions/1574492/how-does-getschematable-work The implementation of IDataR ...
- lintcode 77.Longest Common Subsequence(最长公共子序列)、79. Longest Common Substring(最长公共子串)
Longest Common Subsequence最长公共子序列: 每个dp位置表示的是第i.j个字母的最长公共子序列 class Solution { public: int findLength ...
- Velocity中加载vm文件的三种方式
Velocity中加载vm文件的三种方式: a. 加载classpath目录下的vm文件 /** * 初始化Velocity引擎 * --VelocityEngine是单例模式,线程安全 * @th ...
- django视图层(views)
1.视图层概念 视图函数,其实就是一个简单的函数,它接收web请求并返回web响应(响应的可以是一个html,一个重定向,一个xml文档等等) 每个视图函数都负责返回一个HttpResponse对象. ...
- xcode怎样分析检测内存泄露(iOS)
虽然iOS 5.0版本之后加入了ARC机制,由于相互引用关系比较复杂时,内存泄露还是可能存在.所以了解原理很重要. 这里讲述在没有ARC的情况下,如何使用Instruments来查找程序中的内存泄露, ...
- Linux - 用户环境变量的查看与设置
1. 查看当前有哪些环境变量 直接输入命令:env 2. 设置用户环境变量 输入命令:vim ~/.bash_profile,打开文件,输入如下内容: 范例(设置maven环境变量): export ...