连载 | 机器学习基石 Lec 6:Bounding Function & VC bound

Tips:所有没有进行解释说明的符号含义均参照之前的章节Lec~

上一节介绍了级联上限存在过分估计的问题,我们欲寻求一个多项式mH(N)取代M,并给出了成长函数、break point的定义,这节将证明如果存在break point ,成长函数会是多项式型的。


Lec 6:Theory of Generalization

先回顾一下四种成长函数,成长函数mH(N)代表dichotomies最大数量:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第1张图片

1、Restrict of Break Point

先通过一个小栗子感受一下break point会对dichotomies的数量有怎么样的限制?

在k=2的情况下:

N = 1:显然mH(N)=2;

N = 2:mH(N)<4,所以最多有3个dichotomies;

N = 3:k = 2代表不能shatter任意两个data,我们分步骤来看,

1)显然,只有1个dichotomy时,或有2个dichotomies时,,或有3个dichotomies时,一定不会shatter任意两个data:

1 dichotomy
连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第2张图片
2 dichotomy


连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第3张图片
3 dichotomy

2)但是,当有4个dichotomies时,就可能会shatter两个data,如下图中x2和x3 shattered(可以这样理解,shatter就是x2和x3所有可能的二元组合都能出现)

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第4张图片
4 dichotomies,shatter

不过也会存在4个dichotomies时不shatter两个data的情况,如:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第5张图片
4 dichotomies,no shatter

3)接着上面4个dichotomies不shatter的情况,继续加入dichotomy,看5个dichotomies时会怎样?x1、x2、x3一共有8种二元组合,所以此时5个dichotomies存在3种情况,发现分别都会shatter:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第6张图片
x1和x3 shatter
连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第7张图片
x1和x2 shatter
连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第8张图片
x1 和 x2 shatter

所以,在N=3,k=2时,最多会有4个dichotomies.

N = 2时,最多有3个,比4小一点;N = 3时,最多有4个,比8小的多一点!

似乎当N>k时,break point k 会限制mH(N)最大值的大小!

所以如果证明存在k限制的mH(N)最大值≤poly(N)就可以说明mH(N)是多项式型的。

2、Bounding Function:basic cases

定义一个新的函数B(N,K),maximum possible mH(N)when break point = k.

bounding function 与 H 的细节无关,只需要知道k.(个人是这样理解的,dichotomies的数量其实就是二元组合的种类,h不同时,可能得到的dichotomies会有所不同,但是这里我们是表示最大的mH(N),所以可以抛开H的细节,专注于二元组合的最大值,即只需要知道k)例如B(N,3)可以bound住positive intervals(k=3),也可以bound住1D perceptron(k = 3)。

所以我们的new goal 是证明 B(N,k)≤ poly(N)?

先列出我们已经知道的B(N,k)的值。首先由上节已知(2,2)=3,(3,2)=4;

然后 k>N时,会shatter,则B(N,k)= 2的N次方;

还有就是对角线上面的值,N=k时,(2,2)取3时是选了一个比2的N次方小1的值(一定比2的N次方小,我们挑了一个比2的N次方小的数中最大的一个),其他对角值也如此取;

最后是第一列的值,一定都是1.至此,我们得到了B(N,k)表上一多半的值!其他值继续看下一节。

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第9张图片
basic cases

3、Bounding Function:inductive cases

我们要补全上一节的表。

先考虑B(4,3)这一格。猜测:B(4,3)只是比B(3,3)多了一个点,也许它们之间有着什么联系?!

先给出B(4,3)的结果(这个结果完全可以用代码全遍历一遍得出),结果是11:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第10张图片
B(4,3)

下面看如何把B(4,3)reduce成B(3,3)?

先重新排列B(4,3)的dichotomies,如下图所示。可以看出橘色部分的x1、x2、x3是“成双成对”存在的,紫色部分是形单影只的。可以表示B(4,3) = 11 = 2 α + β .

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第11张图片
B(4,3)

下面就是见证奇迹的时刻!

遮掉x4,只剩下x1、x2、x3,在(x1,x2,x3)上会有α + β个dichotomies,B(4,3)任意3个点都不会shatter,那么α + β个dichotomies也就不会shatter x1、x2、x3,所以 α + β ≤ B(3,3)

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第12张图片

只看x1 x2 x3的橘色部分,应该任意两个点不能shatter,why?假设此时 x1 x2 shatter,那么x1 x2 与 x4组合起来就会存在3个点shatter,就不满足B(4,3),所以α不能shatter橘色部分的任意两个点,可以得出 α ≤ B(3,2)

综合上述两个结论,可以得出 B(4,3)= 2α + β = (α + β)+ α ≤ B(3,3)+ B(3,2),这样我们就得到了Bounding Function的upper bound !(回想一下:从成长函数,到成长函数的上限,再到上限的上限,哈哈哈哈~~~)

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第13张图片

给出一个结论:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第14张图片

B(N,k)的最高次项是k-1次的,这个结论可以通过数学归纳法inductive证明。实际上≤可以是=,这需要更复杂的数学证明,这里不给出,我们只需要明白B(N,k)会被poly(N)bound住 if break point exist :)

4、VC bound

已经证明了mH(N)的上限是多项式,那我们是不是就可以替换M了呢?

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第15张图片

并没有这么简单,实际上会是下图这样的,多了一些常数:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第16张图片

这个的证明很有技巧性,我们不深入探究,只介绍这几个常数的含义。(首先承认这部分笔者看的也不是很懂,希望得到大家指点~互相学习)

step 1:replace Eout by Ein '

有了上节的bound可以知道Ein(h)是有限多个,但是Eout(h)是无限多的。怎么办?之前提过采样一个大小为N的verification set D '  去估计Eout,称为Ein ' 。

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第17张图片

由上图分布可以得出,Ein ' 和Ein 离得远的概率是 Ein和Eout离得远的概率的一半多,因此得到下式,右侧式子的ε/2的1/2是数学上更强的约束。

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第18张图片

step 2:decompose H by kind

上面的式子是在一个h上的结论,现在换成kind得到在H上的结论:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第19张图片

插播一条旧结论:

这里有一组很形象的图展示了union bound on hypothesis 和 union bound on kind的差别,第一张图是霍夫丁不等式说明对一个固定的h来说bad data的概率很小,对H中的每一个h使用union bound 会得到第二张图,花花绿绿的很多圈就代表了bad data没有重叠,我们后来进行了分类kind,再对kind进行union bound就得到第三张图!值得体悟一下~

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第20张图片

step 3:use hoeffding without replacement

现在不是无限多的小球 in bin,而是2N个小球,这是不放回的霍夫丁,但是结论和原来的霍夫丁还是一样的。这时计算的不是Ein和Eout的差,而是Ein和均值的差,均值即(Ein + Ein ')/2,由|Ein - Ein'|>ε/2可以得到

至此,得到:

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第21张图片

其实这就是著名的Vapnik-Chervonenkis(VC) bound!!

连载 | 机器学习基石 Lec 6:Bounding Function & VC bound_第22张图片

所以现在就可以真正说learning with 2D perceptrons(break point is 4,mH(N)的最高次是3) is feasible!

有木有长舒一口气的感觉呢?!下一章告诉你力气不会白费!

你可能感兴趣的:(连载 | 机器学习基石 Lec 6:Bounding Function & VC bound)