机器学习和数据挖掘(6):雷蒙保罗MAPA泛化理论

来源:互联网 发布:淘宝美德威萨克斯 编辑:程序博客网 时间:2024/05/01 03:40

泛化理论

上一章中提到的生长函数mH(N)的定义:假设空间在N个样本点上能产生的最大二分(dichotomy)数量,其中二分是样本点在二元分类情况下的排列组合。

上一章还介绍了突破点(break point)的概念,即不能满足完全分类情形的样本点个数。不存在k个样本点能够满足完全分类情形,完全二分类情形(shattered)是可分出2N种二分类(dichotomy)的情形。

关于突破点可以举一个例子。

N=3k=2的生长函数值。

如图a)表示在三个样本点时,可以随意选择一种二分的情况,不会违反任意两个样本点出现四种不同的二分类情况(因为突破点是2);

如图b)表示在a)的基础上,添加不与之前重复的一种二分类,出现了两种不冲突的二分类,也没有违反任意两个样本点出现四种不同的二分类情况;

如图c) 表示在b)的基础上,再添加不与之前重复的一种二分类,出现了三种不冲突的二分类;

如图d) 表示在c)的基础上,再添加不与之前重复的一种二分类,问题出现了,样本x2x3出现了四种不同的二分情况,和已知条件中突破点k=2矛盾(即,对于任意2个样本,不能得到完全二分类,最多只能出现三种二分类),因此将其删去。

如图e) 表示在c)的基础上,再添加不与之前重复的一种二分类,此时同样也没有任何问题,不会违反任意两个样本点出现四种不同的二分类情况;

如f) 表示在e)的基础上,再添加不与之前重复的一种二分类,问题又出现了,样本x1x3出现了四种不同的二分情况,和已知条件中k=2的条件不符(最多只能出现三种二分类),因此将其删去。

ab
a) b)

cd
c) d)

ef
e) f)

N=3k=3时,则只有当x1,x2,x3=×××的时候,存在三个样本得到完全二分类的情况,那么他的生长函数mH(3)=7

还有一个更简单的例子,假设突破点k=1,在样本数为3时,最大的二分类个数是多少?答案是1,可以想象,在样本为1时,只有一种分类情形,假设这种情形是正,则以后所有样本也为正,才能满足上述条件,所以样本N不论为多少,其最大二分类数都是1。

上限函数

在考虑替换基于Hoeffding不等式的PD[BADi]2Mexp()中的M的时候,由于后半部分是指数级的下降,我们只要证明替换M的生长函数mH(N)是一个多项式,那么指数级的下降就可以抵消掉多项式M的作用了。

为了证明这个,我们也没有必要找出mH(N)的具体表达式,我们只需要证明mH(N)polynomial即可。

所以我们提出了一个函数,上限函数(bounding function),B(N,k)。其定义为在最小突破点为k时,表示成长函数mH(N)最大值的函数。此函数将成长函数从各种假设空间的关系中解放出来,不用再去关心具体的假设,只需了解此假设的突破点,突破点相同的假设视为一类,抽象化成长函数与假设的关系。

加州理工的视频中用一种更加抽象的说法来证明,而台大的似乎用的是一种更加具体的方式来解释。

我们可以举一个例子,但是我并不打算把它推广到更广泛的地步。

先列出N=4,k=3的所有二分类情况,如下图所示。

将之重新排列之后,我们为了得到一种通过递归的方式来计算B(N,k)的算法,我们将x4分割开来,从而可以观察x1x3与整个矩阵的关系。

上图紫色部分中x1x3的表示方法仅出现一次,假设些二分类的个数为α
上图橙色部分中x1x3由两对两对出现,只保留x4的不同。假设其中有β对。

那么我们就可以得到总行数

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

注意,k=3意味着在样本点为3时,不能满足完全二分的情形。那么我们观察在样本数为3时,这11种分类会有何变化,不妨假设这三个样本是x1x3,于是只剩如下图所示的7种二分类情形。

其中橙色部分,进行去重后,就合并成了4种二分类情况,紫色部分不变依然为3种二分情况。因为该图是从N=4,k=3获得,在样本数为3时,其一定不能满足完全二分(因为若是满足完全二分,则N=4,k=3的情况也是不合法的),因此αβ一定满足:

α+βB(N1,k)=B(3,3)

继续观察橙色部分的区域,如图所示。

相似上面的证明方式。
假设x1x3三个样本在如上图所示的四种二分类情况下,满足任意两个样本都可完全二分类。
将其中任意两列取出,同之前被删除的x4列相结合,一定可得到一种三个样本都满足完全二分类的情形(因为不论是哪两列与x4相结合都会得到8种二分类,每一行二分类都对应两个不同标记的x4,因此为8种。且两列四行的二分类是全完二分的,在此基础上加上不同属性的列,应该也不会重复,因此一定也是全完二分的)
但是此结论和原始矩阵中任意三个样本不能完全二分冲突了,因此假设不成立,即在图中一定存在某两个样本点不能完全二分的情况,因此得出如公式:

βB(N1,k1)=B(3,2)

结合公式(1)(2)(3),我们可以得到

B(N,k)==α+2β(α+β)+βB(N1,k)+B(N1,k1)

我们没法证明小于的情况是不存在的,但是好在我们只需要得到一个上限就足够了。

那么我们可以明显地看出来这是一个二项式系数,那么也可以得到通项公式:

B(N,k)i=0k1CiN

我们再通过数学归纳法对通项公式进行一番证明。

k=1的时候,公式成立:

B(N,1)=1=CiN0i=0CiN

那么我们假设在k(2)的时候,结果成立:

B(N1,k)i=0k1CiN1B(N1,k1)i=0k2CiN1

结合公式(4)(5),则有

B(N,k)====B(N1,k)+B(N1,k1)i=0k1CiN1+i=0k2CiN11+i=1k1CiN1+i=1k1Ci1N11+i=1k1[CiN1+Ci1N1]1+i=1k1CiNi=0k1CiN

结果成立。

那么我们就已经证明了mH(N)的上限是一个Nk1的多项式。

替换M之后

我们原本的公式为

P[|Ein(g)Eout(g)|>ϵ]2 M e2ϵ2N

我们想要将之替换为

P[|Ein(g)Eout(g)|>ϵ]2 mH(N) e2ϵ2N

坏数据的重叠

如下图(a)所示,整个矩阵表示的是输入空间,小点表示一个输入样本,彩色图像表示通过Hoeffding不等式得到的坏数据。
如下图(b)所示,用的是联合边界得到的坏数据,因为从来不考虑坏数据的重叠性,它非常迅速地沾满了整个输入空间。
如下图(c)所示,采用的是生长函数代替联合上限对坏的数据进行处理。相比于联合边界,生长函数通过二分类的去重等方式将一个输入空间的变化情况减少,从而使得对于一个坏数据而言可能会被若干个假设所占用。

但是这又引发了一个问题,对于一个坏数据而言,它不仅仅与我们的采样有关,而与整个输入空间有关。坏数据意味着,这个样本点偏离了Eout(g),而Eout(g)与整个输入空间有关,我们是没有办法通过采样的点计算Eout(g)的。

如何处理Eout

我们采用的是将N扩大两倍的方法。

P[|Ein(g)Eout(g)|>ϵ]2 2mH(2N) e2116ϵ2N

按先后循序,分三步简单说明一下这些变化的原因。

  1. Ein代替Eout

    因为Ein是训练样本,所以可能性是有限的,因为假设空间的种类被生长函数约束了,而样本大小基本固定,所以错误样本也最多只有mH(h)种;但是对于Eout(h)的可能性还是无限多,因为总体的样本是无限大的,错误样本也自然是无限多。

    为了解决这个问题,提出了影子数据的概念(ghost data),我们将样本数扩大两倍,用其中新的样本取代整个样本去近似求解在无限大的数据中Eout的值,记作Ein。(我不是很懂为什么这样做,下面的解释是摘抄的)

    下图表示的分布情况,其中为它俩的分布中心,假设数据D的情况下很大,从图中不难看出,再抽取一次数据得到的很大的几率,最多只有条件很大的一半概率,意味着很接近的几率最多只有很大这个条件的一半(因为从该图中得知只可能变得小于),即很小的几率最多只有很大这一几率的一半。

    换句话说很大的几率至少是很大这一几率的一半:

    12P[|Ein(h)Eout(h)|>ϵ]P[|Ein(h)Ein(h)|>ϵ]

    增加一个更强的约束条件(我也不懂这个是怎么就加上去的):

    P[|Ein(h)Eout(h)|>ϵ]2P[|Ein(h)Ein(h)|>ϵ2]

  2. 分解假设空间的种类

    可以知道Ein的可能性与样本D有关,而Ein的可能性与样本D有关,因此整个假设空间的种类可以写成|H(x1,,xN,x1,,xN)|,由上几章的说明可以知道,其上限最大为生长函数mH(2N)
    因此坏事情的发生概率就变成了:

    BAD2P[|Ein(h)Ein(h)|>ϵ2]2mH(2N)2P[|Ein(h)Ein(h)|>ϵ2]

  3. 使用无取回的霍夫丁。

    还是用小球和罐子的那个例子解释,罐子中不再是无限多个小球,而是2N个小球,选择N个小球而留下另外N个,可以通过得出:

    |EinEin|>ϵ2|EinEin+Ein2|>ϵ4

    最终得到公式

    BAD=2mH(2N)2P[|Ein(h)Ein(h)|>ϵ2]2mH(2N)2P[|EinEin+Ein2|>ϵ4]22mmathcalH(2N)e2(ϵ4)2N

    至此说明了一个在机器学习领域很著名的理论——V-C上界制(Vapnik-Chervonenkis bound)。

原创粉丝点击