首先明确:Generalization是“举一反三”的能力。

什么是林轩田《机器学习基石》(七)—— The VC dimension?答:未来测试表现与我们现在的表现是类似的。

上一次我们说到,如果N足够大,且林轩田《机器学习基石》(七)—— The VC dimension有break point,那么林轩田《机器学习基石》(七)—— The VC dimension

对于break point k来说,有

林轩田《机器学习基石》(七)—— The VC dimension

我们是否可以利用最右端的林轩田《机器学习基石》(七)—— The VC dimension呢?答案是肯定的,可以发现

林轩田《机器学习基石》(七)—— The VC dimension

因此,林轩田《机器学习基石》(七)—— The VC dimension时候,我们有

林轩田《机器学习基石》(七)—— The VC dimension

由于我们一开始在解决“两个问题”的时候已经假设N够大(之前已经讲过什么是“两个问题”,一会儿还会再复习一下,现在就先默认),所以上述林轩田《机器学习基石》(七)—— The VC dimension可以删去。

综上,我们可以把之前一直提的不等式写为如下的样子:

林轩田《机器学习基石》(七)—— The VC dimension

再次解释一下这几节课为了推这个不等式我们得到的一些结论:

1.一个好的H:林轩田《机器学习基石》(七)—— The VC dimension有break point

2.一个好的D:N足够大

1+2得到:林轩田《机器学习基石》(七)—— The VC dimension

3.一个好的算法A:好的算法使得选出的g,它的林轩田《机器学习基石》(七)—— The VC dimension很小

1+2+3得到:这个机器大概率学到了一些东西。

一、VC维

我们试图不再说break point了,我们想给它一个正式的名字,但我们不是关注的break point ‘k’而是关注最大的non-break point(大概是因为之前式子中的幂次是k-1)。

我们定义VC维记作林轩田《机器学习基石》(七)—— The VC dimension,它是满足林轩田《机器学习基石》(七)—— The VC dimension的最大的N,也是

林轩田《机器学习基石》(七)—— The VC dimension

林轩田《机器学习基石》(七)—— The VC dimension资料可能被H shatter(不是一定,即其实是存在某个资料被H shatter但不一定是我们手上的这个)

林轩田《机器学习基石》(七)—— The VC dimension那么k’是break point

所以如果林轩田《机器学习基石》(七)—— The VC dimension林轩田《机器学习基石》(七)—— The VC dimension

我们看看之前举的四个实际例子中的林轩田《机器学习基石》(七)—— The VC dimension

林轩田《机器学习基石》(七)—— The VC dimension

什么是好的H?答:有限的林轩田《机器学习基石》(七)—— The VC dimension

林轩田《机器学习基石》(七)—— The VC dimension可以推出g可以举一反三,这说明了以下几点其实在整个机器学习的过程中没那么重要了:

1.算法A的选择

2.资料的分布P

3.真实的函数f

流程图也变为:

林轩田《机器学习基石》(七)—— The VC dimension

允许图中那些灰色部分不知道,所以在一些坏的状况下,也有林轩田《机器学习基石》(七)—— The VC dimension

二、Percetrons的VC维

对于二维的情况:

林轩田《机器学习基石》(七)—— The VC dimension

2D下的PLA算法,已知Perceptrons的 k=4,即林轩田《机器学习基石》(七)—— The VC dimension。根据VC Bound理论,当N足够大的时候,林轩田《机器学习基石》(七)—— The VC dimension。如果找到一个g,使林轩田《机器学习基石》(七)—— The VC dimension,那么就能证明PLA是可以学习的。

那么如果超过二维呢?

我们做一些推测

1D perceptron (pos/neg rays): 林轩田《机器学习基石》(七)—— The VC dimension

2D perceptron: 林轩田《机器学习基石》(七)—— The VC dimension

那么是否有

d-D perceptron: 林轩田《机器学习基石》(七)—— The VC dimension??

要想证明等式成立,只需要证明下面两个不等式成立

1.林轩田《机器学习基石》(七)—— The VC dimension

2.林轩田《机器学习基石》(七)—— The VC dimension

首先证明:林轩田《机器学习基石》(七)—— The VC dimension

值得注意,如果我们知道存在某d+1个资料可以shatter,则林轩田《机器学习基石》(七)—— The VC dimension

首先给一个X,它是由d+1笔资料构成的(灰色的不算,只看橘色的,第一笔是原点0,最左边灰色的是threshold,即塞进去的第0维,如果不知道的话可以看前几节笔记有写这是为了让w看起来简便从而使代码方便)

林轩田《机器学习基石》(七)—— The VC dimension

显然上述我们构造的X是可逆的。

shatter在此处的意思是,我们可以找到一个w使得林轩田《机器学习基石》(七)—— The VC dimension,这里的y是任意'o x'的排列结果。

由于X是可逆的,所以我们可以求出来我们要的w:林轩田《机器学习基石》(七)—— The VC dimension,所以这个w是存在的,意思是d+1笔资料是shatter的。

也就证明了林轩田《机器学习基石》(七)—— The VC dimension

 

接下来证明林轩田《机器学习基石》(七)—— The VC dimension

值得注意,如果任意d+2笔资料都不会被shatter,那么林轩田《机器学习基石》(七)—— The VC dimension

已知:线性相关会限制产生dichotomy得到数量。

构造:

林轩田《机器学习基石》(七)—— The VC dimension

由于d+2>d+1(行>列,这里d+1列是因为加了一行1,所以肯定是线性相关的)

所以有(这些a都是固定的数,我们知道a的大小,所以也一定知道它的正负,正的a标记红色,负的a标记蓝色)

林轩田《机器学习基石》(七)—— The VC dimension

要是想让d+2shatter,那么d+1肯定必须shatter,

所以此处我们先承认d+1 shatter,所以我们可以找到一个w0,使得w0乘以xi的符号都和他们的系数a的符号一致(因为shatter所以想要什么符号就总是存在一个w使得wx会是这个符号),即

林轩田《机器学习基石》(七)—— The VC dimension

图中的w就是这里说的w0.

可以看到,等式右边都是同号相乘,所以林轩田《机器学习基石》(七)—— The VC dimension一定是正的,这就不shatter了。

我曾经有疑问,这里只是存在一个w使得有这样的结果,难道不能有其他的w使得这个符号变为负吗?

答:当然有可能。但是我们要的是,在其他wx的符号都不变的情况下,林轩田《机器学习基石》(七)—— The VC dimension有正有负。现在知道的是,其他wx一旦确定是这种与系数正负一致的情况,林轩田《机器学习基石》(七)—— The VC dimension只能是正。

三、VC维的物理意义

即衡量二元分类的自由度,就是说H可以有多少个分类,如果每一个分类(分类其实就是权重的分类)代表一个旋钮

林轩田《机器学习基石》(七)—— The VC dimension

多少个旋钮就代表多少个分类,一个旋钮代表一种w。为什么用旋钮说呢?因为自由度是可以任意调节的。VC Dimension代表了假设空间的分类能力,即反映了H的自由度,产生dichotomy的数量,也就等于features的个数。所以VC维是多少,就看有多少个可以自由调节的旋钮。

又回到之前我们说的“两个问题”:

林轩田《机器学习基石》(七)—— The VC dimension

之前都是用M来说的,现在我们都换成林轩田《机器学习基石》(七)—— The VC dimension来回答。

四、更深入了解VC维

我们先重新写一遍VC bound,把不等式右边用记号表示

林轩田《机器学习基石》(七)—— The VC dimension

即出现bad坏的情况的概率最大不超过不等式右边。现在我们不再说发生坏事的几率了,我们说发生好事的几率,对于好事发生的概率最小为1−δ,。

林轩田《机器学习基石》(七)—— The VC dimension

林轩田《机器学习基石》(七)—— The VC dimension

因此,我们将林轩田《机器学习基石》(七)—— The VC dimension记作泛化误差

林轩田《机器学习基石》(七)—— The VC dimension

其中,我们把根号下的内容记作模型的复杂度,用林轩田《机器学习基石》(七)—— The VC dimension

林轩田《机器学习基石》(七)—— The VC dimension

  • 林轩田《机器学习基石》(七)—— The VC dimension越大,林轩田《机器学习基石》(七)—— The VC dimension越小,Ω越大(复杂)。

  • 林轩田《机器学习基石》(七)—— The VC dimension越小,林轩田《机器学习基石》(七)—— The VC dimension越大,Ω越小(简单)。

  • 随着林轩田《机器学习基石》(七)—— The VC dimension增大,林轩田《机器学习基石》(七)—— The VC dimension会先减小再增大

图中最好的Ein在中间位置:在误差较小处与模型复杂度不大的位置。

林轩田《机器学习基石》(七)—— The VC dimension

除了模型复杂度,还存在样本复杂度。那么我们需要多少资料N呢?

从实际的角度来讲是要林轩田《机器学习基石》(七)—— The VC dimension

从理论的角度是要林轩田《机器学习基石》(七)—— The VC dimension

为什么会松弛的这么厉害?原因如下:

1.Hoeffding:这使得我们可以不用知道分布P和真实函数f

2.林轩田《机器学习基石》(七)—— The VC dimension代替了M:使得适用于任何数据

3.用林轩田《机器学习基石》(七)—— The VC dimension代替了林轩田《机器学习基石》(七)—— The VC dimension:这让我们只看一个h就好,适用于同样林轩田《机器学习基石》(七)—— The VC dimension的任何H

4.用了union bound:适用于任何算法A(包括最坏的情况,但是事实上最坏的情况没那么容易出现)

以上四点,使得理论上的数据量被宽松了。

即使这是在理论上,但我们雅瑶研究如何收紧它。

总结:

林轩田《机器学习基石》(七)—— The VC dimension

相关文章: