回顾一下,在上一节中,我们知道在H是有限的时候,我们可以证明得到
如果N足够大,那么我们无论从H中选出一个g,有很大的概率保证
Eout(g)≈Ein(g)
如果我们找到了一个g,他的
Ein(g)≈0
,那么PAC保证
Eout(g)≈0
我们抽取的样本服从同一分布
以上就说明了两个核心问题!
1. 我们能否保证
Eout(g)
接近
Ein(g)
2. 我们能否使得
Ein(g)
足够的小
H内h的个数M对上面两个问题有什么影响??
1. 当M很小时,可以保证第一个要求
Eout(g)
接近
Ein(g)
,但是不能保证第二个。因为M太小,h的选择就小,不一定能找到
Ein(g)≈0
的h
2. 当M很大时,可以保证第二个,因为此时h足够多,但是不能保证第一个,
但是一般情况下,H的M是无穷大的
方法就是,我们能不能找到一个有限大小的
mH
,来代替无限的M呢???
有效线的数量
由于H是无限的,样本集是有限的,我们能不能根据 有限的数据 把H分成 有限的类别(每一类别里的线都差不多)
我们把这每一个类别成为一条有效的线。类别的综合称为有效线的数量
当只有一个数据点的时候,有效线的数量为2
当有两个数据点的时候,有效线的数量为4
当有3个数据点的时候,有效线的数量最多为8
如果像下面的那种情况,有效线的数量就只有6条
当有4个数据点的时候,有效线的数量最多为14,不是16。一下图形只画了7条,还有7条刚好对称
即N与有效线的长度为的关系为
我们好奇的是,能不能用有效线的个数effective(N) 去代替 M呢?
即像这样
其中effective(N)是小于 2N ,但是林轩田老师说希望远小于。其实应该没有必要。因为 2∗2N∗exp(−2ϵ2∗N) 依然是随着N递减的,很好算,这里就不写了。
有效超平面的个数
上一节的内容介绍了,将无限多的假设转换成为有限多种类型上。
这种以训练样本的分类情况来确定一类假设的方式,称为二分类(dichotomy)。使用符号表示为H(x1,x2,…,xn),即假设空间在特定的训练样本集合(x1,x2,…,xn)上被分为几类。
我们考虑能否用| H(x1,x2,x3,…,xn) |代替M
发现| H(x1,x2,x3,…,xn) |很依赖于样本集(x1,x2,x3,…,xn),为了解决这个问题,我们定义 我们称
mH(N)
为成长函数
那怎么计算成长函数呢???现在举几个简单的例子!!!
题目要求右边只能为正的,左边只能为负的。那么结果为
这个题是要求,中间的为正的,旁边的为负的。结果为:
对于凸函数
里面凸函数是正的,外面是负的,得到的
mH(N)=2N
(这个看不出来,前两个好强调内容理解)
综述,我们得到了4种情况的成长函数
定义突破点 break point
比如2D 情况,数据点为1,2,3时,其
mH(N)
为 2,4,8,满足
2N
,但是当N=4时,其
mH(N)
为14,而不是16,就不满足
2N
,而且,对于任意情况(不仅仅是2D,是所有的点分布)。若在N=k时不满足
2N
,则在N=k+1,k+2,k+3,… 都不满足
2N
。则我们定义k为 突破点break point 。这里2D的突破点的值为4.
其他三种的突破点的值为2,3,0.
同时还发现了一个有趣的规律————我们可以通过突破点的值来求出
mH(N)
的复杂度。刚刚好是突破点的值减去1.
通过以上图形,是否可以猜测出2D的
mH(N)
的复杂度为
O(N3)