台湾大学机器学习基石Lecture5

来源:互联网 发布:windows消息机制 编辑:程序博客网 时间:2024/05/22 00:35

5-1:Recap and preview

概括和预习
Lecture4中我们得到了一个推论,如果|H|=M是有限的,并且数据N足够大,那么由公式(1):
p[BAD D]2Mexp(2ξ2N)   (1)
可知,假设空间的所有假设都遵从PAC准则,能够确保Ein(h)Eout(h),因此可以通过一个算法来找到使Ein(g)0的g来替代f,由PAC保证,也会使得Eout(g)0
回顾一下前4章的内容:
1、目标函数f是未知的,第一章介绍了机器学习是通过算法寻找到一个和目标函数f接近的hypothesis,令g就等于该h,用第4章的话来说就是使得在测试数据上的错误率接近为0,即Eout(g)0
2、第二章讲述了PLA和pocket算法,目的是使得h在训练数据集上的错误尽量接近为0,也就是Ein(h)0
3、第三章讲述了几种机器学习核心的方法,其中之一是利用批量的数据和监督学习 来进行二元分类。
4、第四章中,论述了如果|H|=M是有限的,并且数据N足够大的时候,机器学习是有可能的。即Ein(g)Eout(g)
以上的内容将机器学习拆分成立2个内容:
1、我们能否保证Ein(g)Eout(g)
2、我们能否使得Ein(g)足够小?
针对第四章提出的假设情况总数M,我们分两种情况的讨论结果如下表:

Small M Large M 1、是的,由公式(1)可以看出M很小的时候p接近0,两者接近的几率很大 1、不是的,由公式(1),M很大的时候,Ein(g)Eout(g)不接近的几率变得很大 2、不是的,M很小的时候,选择太少了,那么不能确保选到比较小的Ein(g) 2、是的,M很大的时候,有很多选择,能保证选到比较小的Ein(g)

由上述表格,我们可以看出,要适当的选择M,如果M趋于无穷呢?算法的表现会特别糟糕,怎么办呢?后面进行解答。


5-2:Effective Number Of Lines

从公式p[BAD D]2Mexp(2ξ2N)可以看出,我们得到了选到错误假设g的上限概率,即union bound,但是我们仔细观察发现,这个上限过于宽松了,因为如果M趋于无穷的话,那么概率p也趋向无穷,显然这是不对的,因为一个事件发生的概率不会超过1。那么为什么会导致这种情况发生呢?
当存在两个相似的假设时,那么他们之间重合的数据就非常多,如下图所示:
         这里写图片描述
从图中可以看出,B1,B2,B3三个是相似的假设,他们之间重叠的区域特别大,当然,坏数据也是基本重叠的,那么我们应该考虑有效的假设也即有效的线的数量。
我们先从简单的一个输入x1看起,你能划分出来多少种线呢(假设在线的方向的一端的记为+1,用符号O表示,反方向记为-1,用符号X表示)?
这里写图片描述
很显然,x1有两种情况,O和X,那么对应的有效的线的数量也就是2。继续考虑输入x1,x2呢。
这里写图片描述
从图中可以看出,我们可以画出4种不同的情形。继续观察3种输入x1,x2,x3
这里写图片描述
从图中可以看出,确实可以分成8种情况,但是不是一直都满足可以分解成8种情况呢?例如考虑下面的输入情形:
这里写图片描述
当三个输入被排成一条线的时候,是不可以分成8种情况的,存在2种情况,无论哪一条线都不可能分成图中的两种情况。继续考虑4种输入:
这里写图片描述
由于是对称的,只给出了对称的一半情形,我们可以发现,对于4个输入,无论怎么排列,都存在2种情形无法被分割出来。依次类推。
我们用一张表格来总结一下上面的结果:

输入数N 有效的分割结果(effective(N)) 1 2 2 4 3 8(存在可以被分成8种的排列) 4 14<2N

于是,我们修改公式为:
p[|Ein(g)Eout(g)|>ξ]2effective(N)exp(2ξ2N)
只要满足,当N时,effective(N)<<2N就可以使得概率p很小,事实上这个是成立的。


5-3:Effective Number Of Hypothesis

有效的假设空间数量
上一节介绍了如何将无限多条直线转换为有限的直线数量。用训练样本的分类情况(即X和O的组合)来确定一类假设叫做Dictonomy(二分法),记为H(x1,x2xn),即假设空间在(x1,x2,,xn)上被分为几种情况。将假设空间和二分之后的空间进行对比,如下表所示:

假设空间 二分空间 在空间中的所有线 [OOOO,OOOX,] 大小:存在无穷条线 大小:上限为2N

从表中可以看出,二分空间的大小是存在上限的,现在的思想就是用H来代替假设空间即无限大的M,那么如何取代呢?我们仔细观察发现例如输入x1,x2,x3时,当其分布不同时,会出现不同的分割结果,也就是H依赖于X的分布,为了取消这种影响,我们定义函数:
MH(N)=maxX1XNX|H(X1,,XN)|
MH(N)是一个比M小的函数,称为成长函数。因为上述表达式是抽象的,接下来的任务便是具体化成长函数。
首先我们从一维PLA即positive rays(正射线)说起,如下图所示:
这里写图片描述
该图中h(x)=sign(xa),其中a称为阈值,表明只有在a的右边才存在正样本点,(举个例子:OXXXXXO这种情形就是不允许的)。很容易能得出该分布的成长函数表达式如下:
MH(N)=N+1,即N个点经过直线切割后最多有N+1种情况。很显然,当N时,N+1<<2N
当然,如果这里不考虑方向的问题,那么只需要考虑对称性,即正负情况颠倒
即可,但这样子多加了2中情况,即全正,全负,所以:
MH(N)=2N+12=2N
再考虑一种情况,即positive interval(正的间隔,即中间部分为正),如下图所示:
这里写图片描述
其成长函数计算为:MH(N)=C2N+1+1=N22+N2+1,思想是从上例中N+1条线中,选出2条线作为分割线,但是这样子少考虑了一种情况,即全为X的情况,所以加1。很显然,当N时,N22+N2+1<<2N
接着考虑一个二维平面的例子,以凸多边形为例,其内部为正,外部为负,其边界作为假设函数的划分线,如下图所示:
这里写图片描述
左边蓝色部分表示一种凸的图形,右边蓝色部分表示非凸的图形。如何求取成长函数呢?考虑一种极端的情况,即所有样本点分布在一个圆上,那么我们的目标是寻找一个最大值的分布,由于每个样本点可正可负,即每个点可以取两种情况,当有N个点在圆上时,由排列组合知:MH(N)=2N.


5-4:break point

对上一节所说的各种分类情况进行汇总如下表:

分布情况 成长函数MH(N) positive rays MH(N)=N+1 positive rays(无方向) MH(N)=2N positive interval MH(N)=N22+N2+1 convex(凸集合) MH(N)=2N

事实上,我们更偏爱多项式类的成长函数而不是指数形式的成长函数,因为多项式的成长函数的上限下降的更多。于是我们提出一个新的概念,断点(break point),例如对于二维空间3个点,如下图所示:
这里写图片描述
我们可以将它分成8个部分,虽然有些分布不能分割这么多种,但是成长函数是取最大值的,但是当4个点的时候,无论什么分布都不可能分成16种,所以2D的break point是4,所以我们称不能满足完全分类的样本数量为断点(break point)。类推,可以得到断点的分布情形如下表:

分类 断点 2D感知器 4 正射线 2 (MH(2)=3<22) 正的间隔 3 (MH(3)=7<23) convex set 无断点

由此可以得到下面的推论:
1、没有断点的时候,MH(N)=2N
2、存在断点为k的时候,其成长函数MH(N)=O(Nk1)

原创粉丝点击