【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 ...
随机推荐
- April 21 2017 Week 16 Friday
Courage is like a muscle. We strengthen it with use. 勇气就像肌肉,越使用越强大. Most often it is true, but somet ...
- 特殊矩阵的压缩存储(转自chunlanse2014)
对称矩阵 对于一个矩阵结构显然用一个二维数组来表示是非常恰当的,但在有些情况下,比如常见的一些特殊矩阵,如三角矩阵.对称矩阵.带状矩阵.稀疏矩阵等,从节约存储空间的角度考虑,这种存储是不太合适的.下面 ...
- vim 中的":wq"和":x"的区别
":x" 和 ":wq" 的区别如下:(1) :wq 强制性写入文件并退出(存盘并退出 write and quite).即使文件没有被修改也强制写入,并更新文 ...
- python main
python中的main函数,总体来说就是,main比较适合写test测试,有点类似于java中的testcase,就是程序单独运行时是运行main的,但是当被调用时就不会运行main了.具体可以参考 ...
- top小火箭
// my.js function $(id){return document.getElementById(id)};function show(obj){obj.style.display = & ...
- 介绍hadoop中的hadoop和hdfs命令
有些hive安装文档提到了hdfs dfs -mkdir ,也就是说hdfs也是可以用的,但在2.8.0中已经不那么处理了,之所以还可以使用,是为了向下兼容. 本文简要介绍一下有关的命令,以便对had ...
- java高并发之CountDownLatch,CyclicBarrier和join
晚上打车回家,在车上看到一篇文章<22岁大学生获谷歌天价Offer,年薪千万!>,讲的是印度一个22岁大学生多次参加ACM大赛,开源多个项目,以非常牛逼的履历通过了谷歌的AI测试,斩获谷歌 ...
- input属性总结
<input type="text" readonly="readonly" /> 这个是不能输入的 readonly="readonly ...
- ubuntu16.06+vsftpd+nginx搭建图片服务器
安装vsftpd 注:以下指令都在root账户下操作 # apt安装vsftpd apt-get install vsftpd #启动vsftpd service vsftpd start #新建用户 ...
- 即将开始的python之路
准备开始学py 记录一下 加油