机器学习基石学习笔记3 VC Dimension(1)

来源:互联网 发布:有关大数据的例子 编辑:程序博客网 时间:2024/04/30 15:38

上章我们提到了当Ein与Eout足够接近,且Ein很小时,我们就能说机器学习确实学到了东西。而Ein低与否,与A在hypothesis set中的选择密切相关。当hypothesis set中的可选h(x) 越多,就越有可能找到一个让Ein很小的h(x),然而M太多,却又会导致出现bad data的概率增大,导致|Ein-Eout|>ϵ

还记得我们用了一个不等式来衡量bad data出现的概率:


用一个不等式来衡量Ein和Eout是否接近


上述问题可以表示为:

1.我们是否可以确保Ein和Eout足够接近(hypothesis set中可选择的个数M有限,且N足够大)

2.我们是否可以把Ein弄得足够小(hypothesis set中可选择的个数M足够大)

而这两个问题中,M的数目是矛盾的。因此陷入了两难。


我们注意到,当M趋向于无限大时,bad data发生的概率会不断增大,因此我们不能处理M无限大的情况。为什么会这样呢,我们回想一下M是如何得出来的。


实际上,这里假设了坏时间发生在h上面的概率是相互独立的。然而实际上,会有很多相近的h,他们发生坏事情的概率是相互重叠的。他们很可能会是这个样子。


因此造成了过度估计,从而无法计算M无限大的状况。


如何解决呢?我们可以试着把无限的M划分成有限的,把那些相似的,坏事情重叠的h划分成一类。

举个列子,我们把平面上所有的直线作为我们的hypothesis,


那么,我们将会有无数条线,也即是无数的hypothesis。

如果只有一维输入x1,我们可以把线分成两类,一类判断x1是o,一类判断x1是x。

同理,假设我们有3个输入


h中最多有2^N = 2^3 = 8条直线。这个规律对于输入个数是1-3时都是成立的。但是看输入个数是4的时候


可以看到,最多只有14种分法,而不是2^4 = 16。

我们划分的类别数,它小于等于2^N。我们把可以划分的类别数称为effectiv(N)。

那么,如果我们能作如下替换,


此时,如果effectiv(N)<<2^N,effecitive(N)是有限的,当N无穷大时,右边趋向于0,那么Ein约等于Eout,那么针对无限线的hypothesis,我们也能在有限的线下机器学习。


0 0
原创粉丝点击