林轩田-机器学习基石 课堂笔记(七) The VC Dimension

1、Definition of VC Dimension

我们上次学习到,如果我们的假设空间存在Break Point,那么它一定存在成长函数mH(N)被某个上限函数B(N,k)所约束,这个上限函数也会被某个多项式约束,而这个多项式最高项为N^(k-1)。

因此我们可总结为:

①我们需要有一个好的hypothesis,也就是存在Break Point。

②我们需要有一个好的数据集D,也就是一个比较大的D。

满足此两点,我们就可以推出Eout≈Ein

如果此时我们再有一个好的演算法A能使得Ein≈0,这样我们理论上就可以得到机器有效学习。



VC Dimension表示最大的non-break point点。如果k存在,即存在点N个点可以被shatter,有VC Dimension=break point k-1;如果k不存在,即任何N个点都不可以shatter,则VC Dimension无限大。 下面是之前学到的四个hypothesis set的dVC:




因此我们现在有一个新的概念了,之前我们定义一个好的hypothesis set为存在Break Point k的hypothesis set,现在相对应的,一个好的hypothesis set为VC Dimension为有限数的hypothesis set。

因此VC Dimension为有限数就确保了我们的g能够满足Eout(g)≈Ein(g)。这与我们选择什么演算法A无关(即使Ein!≈0,我们还是要确保Eout≈Ein),与我们的资料由怎么样的distribution产生没有关系,也与我们的目标函数f没有关系(这样我们就可以维持f是在不知道的情况下做出这样的动作)。


2、VC Dimension of Perceptrons

回顾一下之前学习的2D PLA,对于一个线性可分的数据集合D,PLA可以找到目标函数f正确的将数据分类,此时有Ein(g)=0;再由之前的推理,通过dVC=3,我们可以得出在样本数据足够大的情况下,有Eout(g)≈Ein(g),综合两点可得Eout(g)≈0,这样我们的机器就能学到东西。


那么现在我们来讨论多维下Perceptrons的dVC情况。由之前的课程我们知道对于Perceptron,一维情况下dVC=2;二维情况下dVC=3;那么我们不妨做一个假设:D维情况下dVC=d+1。

要证明这个结论成立,像二维时的证明那样,我们可以分为两步:

①dVC>=d+1

②dVC<=d+1


首先证明①,我们只要在d维里找出一组d+1笔的input,可以被我的hypothesis set所shatter(即证明存在d+1数量的数据集可以完全二分),就能证明dVC>=d+1。

我们构造一个输入样本集,样本为一个行向量,第一行为0向量,第二行为第一个分量为1其他分量为0的向量(1,0,…,0),…,第d+1行为第d个分量为1其他分量为0的向量(0,0,…,1),对每个样本再加上默认的第0个分量,其值为1。



需要证明的是这个矩阵可以完全二分,我们知道shatter的本质是假设空间H对输入X的所有情况的判断都正确,在数学上即能找到权值向量w,使得w能将X映射到y上,即sign(Xw)=y,而只要存在w使得Xw=y,就能满足sign(Xw)=y。

很明显X可逆,因此我们可以得到

因此我们知道这个d+1维的数据集可以完全二分,从而dVC>=d+1。


接下来我们证明②,在d维里,如果对于任何d+2个input都一定不能shatter,就能证明dVC<=d+1。

我们先考虑2维情况下不能shatter的特殊情形:



显然如果左上角和右下角为+1,左下角为-1,那么右上角的点不能为-1,否则dichotomy不能产生。



数学上表示为



这种样本间的线性依赖性(linear dependence)导致了无法二分。

推广到多维,假设d维中有d+2个样本,现在矩阵X的row为d+2,column为d+1。



此时会有线性相依的产生



如果xi为正,那么对应wi为+1;如果xi为负,那么对应wi为-1。此时xd+2的正负就被其他维所决定了。



因此任何d+2个输入样本中必然都存在不能满足的二分类,从而dVC<=d+1。

综上有dVC=d+1。


3、Physical intuition of VC Dimension


在感知机中,数据样本的维度与权值向量的维度一致,不同的权值向量对应不同的假设函数。我们将权值向量w称为假设空间上的自由度(degree of freedom)。


自由度可以任意调节,假设空间从数量上来讲是无限大的;但我们从感知机二元分类来考虑,可知VC Dimension反映了有效的自由度个数。




结合之前的结论,我们可以用dVC来代替M的作用:


4、Interpreting VC Dimension


之前我们了解到VC bound公式如下:



右边用δ代替,我们可以知道发生坏事情(|Ein-Eout|>ε)的几率小于等于δ,那么发生好事情的几率一定大于等于1-δ。我们对不等式重新推导:



Ein(g)-Eout(g)被称为泛化误差(generalization error),泛化误差小于等于ε。因此可推导出Eout(g)的上界:



Ω(N,H,δ)又称为模型复杂度(model complexity)。下面给出Ein、Eout、Ω(N,H,δ)与dVC的关系图:



随着dVC增大,可选择的假设空间就越大,就越可能得到更小的Ein;又由模型复杂度的表达式可知此时Ω(N,H,δ)会增大。

又Eout为两者之和因此呈现出先减小后增大的趋势。

我们知道学习的目的是使Eout越小越好,因此找到合适的dVC是重要的。


VC bound还可以表示样本复杂度(sample complexity)。一个例子:



通过计算N大概在29300时,可以训练出满足条件的模型,N大概是dVC的10000倍。但是实际生活中,我们不需要这么多的资料就可以得到还不错的learning的表现,大概N≈10dVC就可以了。N的理论值如此之大是由于VC bound是一个非常宽松的约束,宽松的原因如下:



VC bound是比较宽松的,但收紧它并不那么容易,实际上很难找到在这四个方面都可以任意选择且比VC bound更紧的约束了,这也是Machine Learing的一大难题。而且未来我们会介绍很多不同的hypothesis set,很多不同的learning model,而VC bound对其的宽松程度是差不多的,因此不同的模型之间可以横向比较,从而VC bound宽松程度对机器学习可行性没有太大的影响。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值