机器学习基石第六讲:theory of generalization

博客已经迁移至Marcovaldo’s blog (http://marcovaldong.github.io/)

机器学习基石第六讲继续讨论“学习是否可行的问题”。

Restriction of Break Point

继续前面的讨论,我们看mH(N)是否会有一个很小的增长速度。回顾前面的四种成长函数及其break point。我们知道k是一个成长函数的break point,那比k大的值全是break point。

mH(N)是一个hypothesis在N个数据点上可以产生的dichotomy的数量的最大值。现在假设一个hypothesis最小的break point是2,那我们能从中得到什么信息。

当N=1时,有定义得mH(N)=2,这没有问题;当N=2时,由定义得mH(N)<4(最大值可能是3)。那当N=3时呢?当hypothesis从三个数据点产生一个dichotomy(比如ooo)、两个dichotomy(比如ooo和xoo)、三个dichotomy(比如ooo、xoo、oxo)、四个dichotomy(ooo、oox、oxo、xoo)时,可以存在一种情况,三个数据点中任意两个都不会被shatter;而当hypothesis试图从三个数据点产生五个dichotomy时,无论怎样都会有两个点被shatter。

现在知道了break point k会在很大程度上限制mH(N),那我们猜测mH(N)会有一个跟k相关的最大值,而其又小于多项式,那我们就可以说mH(N)是一个多项式。如果证明了这个猜测,那我们就可以将mH(N)带进前面的Hoeffding’s inequality,进一步就可以证明学习是可行的。

本小节测试:

Bounding Function: Basic Cases

定义一个叫作bound function的函数B(N,k),表示当break point为k时mH(N)可能取到的最大值,且满足下图中的两点。现在我们的新目标是证明B(N,k)小于一个多项式。

现在我们将B(N,k)的值写在一张表里面,那我们首先可以先将表的上三角先填好(因为当k>N时,B(N,k)=2N)。

当k=N时,有B(N,k)=2N?1。

省下的那一部分表格,我们在下一小节继续填写。下面本小节测试:

Bounding Function: Inductive Cases

我们观察表格,看看B(4,3)是不是和B(3,?)有什么关系呢?我们尝试着去求解出B(4,3)对应的一组dichotomy,如下图左侧所示。将这11个dichotomy重新排列一下,如下图右侧所示,前八个又分成了四对(每一对的x1、x2、x3标记相同,x4分别是圈圈和叉叉),后三个都是“单个”的。

然后将B(4,3)写成

B(4,3)=11=2α+β

而其中的α+β则正好是(x1,x2,x3)的一组不会被shatter的dichotomy(橘色的四对里边每队拿出一个,加上下面的三个,这7个dichotomy不考虑x4)。所以肯定有

α+β≤B(3,3)

然后我们只看橘色的部分(不考虑x4,那橘色的8个就变成了4个),我们说要保证三个点不被shatter,那我们还得保证其中任意两个点不被shatter,所以有

α<B(3,2)

现在得到了

一直做这样的推导,我们就可以得到这样一个规律:

然后我们就可以像上图那样填写表格,得到了每个bounding function的上限(或者上限的上限……知道这些就够了)。

现在我们知道了B(N,k)有一个多项式上限,而B(N,k)又是mH(N)在break point存在时的上限。实际上,这里的“≤”可以改成“=”。前面介绍的那几个成长函数就有了上限,如下图。

然后是本小节测试:

A Pictorial Proof

之前我们尝试用mH(N)来代替原来Hoeffding’s inequality中的M,而实际上这样替换是有问题的。因为Ein的取值是有限的,而Eout的可能取值是无限的。这里用hypothesis在验证集上的犯错率E′in来代替Eout,下面给出了大概的推导过程。

步骤1:

步骤2:

步骤3:

这里实际上完成了Vapnik-Chervonekis(VC) bound的推导证明。当然,我也没听懂这三个步骤的推导,有需要的同学再去查其他资料吧。

现在我们可以说2D perceptrons的学习是可行的(但还没有证明任意维度的perceptron会发生什么事)。

最后是本小节测试:

时间: 2024-10-12 22:17:09

机器学习基石第六讲:theory of generalization的相关文章

机器学习基石——第5-6讲.Training versus Testing

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第5讲-------Training versus Testing 从这一讲开始,讲的问题就是属于Why Can Machines Learn的范畴了.

机器学习基石第八讲:noise and error

博客已经迁移至Marcovaldo's blog (http://marcovaldong.github.io/) 机器学习基石第八讲主要介绍噪声和误差度量,笔记整理在下面. Noise and Probabilistic Target 现实中的数据很可能含有噪声(noise),例如前面的信用卡发放问题中,有的顾客符合发放标准但没有发给,或者同样情况的顾客有人发了有人没法,再或者顾客的信息不正确等等,VC bound是否在由噪声的情况下工作呢? 继续使用前面抽弹珠的例子,罐子中每一个弹珠代表一个

机器学习基石——第13-14讲.Hazard of Overfitting

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第13讲-------Hazard of Overfitting 从这一节开始,我们开始探讨How Can Machines Learn Better的

机器学习基石——第15-16讲.Validation

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第15讲-------Validation 一.模型选择问题 机器学习的每个模型都有各式各样的参数.即使只是对于二元分类,学习算法上可以选择PLA,LR

机器学习基石——第9-10讲.Linear Regression

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第9讲-------Linear Regression 从这一节开始,开始涉及到How Can Machines Learn的问题了. 一.Linear

机器学习基石——第1-2讲.The Learning Problem

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第一讲-------The Learning Problem 一.课程总体 Machine Learning是一个理论与应用混合的工具,本课程则主要是f

机器学习基石——第3-4讲.Types of Learning

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第3讲-------Types of Learning 上一节讲到如果要回答YES/NO的是非问题,我们可以使用像PLA(感知机)这样的算法,他会在无数

机器学习基石——第7-8讲.The VC dimension

本栏目(机器学习)下机器学习基石专题是个人对Coursera公开课机器学习基石(2014)的学习心得与笔记.所有内容均来自Coursera公开课Machine Learning Foundations中Hsuan-Tien Lin林轩田老师的讲解.(https://class.coursera.org/ntumlone-002/lecture) 第7讲-------The VC dimension 一.VC dimension的定义 VC dimension是什么呢?大家可能猜到了,这是和我们上

机器学习基石第四讲笔记

第四讲介绍了机器学习是否可行的问题. 1. 从给定的资料D中,找出一个接近目标f的假设g是可行的.比如PLA.但是,找到的这个g能否用于D以外的地方,这就难说了. 2. Hoeffding's inequality回答了g是否能用于D以外的问题: (1)In probability theory, Hoeffding's inequality provides an upper bound on the probability that the sum of random variables d