林轩田之机器学习课程笔记(why can machines learn之the VC dimension)(32之7)
欢迎转载,可以关注博客:http://blog.****.net/cqy_chen
概要
上节讲到了一般化理论,当假设空间中存在断点,资料够多的时候,那么我们可以保证
VC维的定义
上节课我们证明了VC 边界。
同时,根据霍夫丁不等式;
当
1)假设空间存在断点
2)资料足够大
3)假设空间中存在一个假设函数,使得
那么我们就可以得到机器学习是可行的。
VC维的定义是来自上节中我们讲到的断点。
VC维是在假设空间中,给定资料足够大的情况下,最大能够shatter点的个数,是不是很像断点的定义,断点是指第一个不能被shatter点的个数。所以。
当资料量小于
如下表示了4种情况下的VC 维情况。
当vc维是有限的情况下,会保证机器学习可行。
同时vc维和演算法A无关,和分布P无关,和目标函数
在坏的情况下,也保证是可以学习的。
如果存在一个N笔资料不能被shatter,那么
PLA的VC维
我们以二维空间下的PLA为例,假如资料是线性可分的,那么我们知道假设空间中存在
又因为我们知道二维空间下的VC维是有限的,所以我们在资料量足够大的情况下证明
这是在二维的情况下,那么在三维,四维或者更高维度呢?VC维到底是多少呢?
我们知道PLA在1维的时候,
在二维的时候,
那么再N维的时候是不是
如果要证明
下面进行证明,首先证明
要证明
同理,我们给定(d+2)*(d+1)的一个矩阵,那么这个矩阵一定是线性相关的。所以总有一笔资料是可以用其他资料来表示的。那么就会导致其他的资料确定了之后,那么这笔资料就确定了,而shatter是要表示任意的两种情况,现在却是确定的。就是表示任意的d+2笔资料是不能被shatter的。
所以证明了d维的PLA的vc维是d+1。
VC维的物理直觉
上面中我们其实证明了假设空间的维度和VC维的关系。
比如上面的,PLA的维度和VC维度是有关系的,这也是为啥是叫VC 维。
VC维的物理意义其实就是在二分类的情况下,假设空间的自由度。或者说是维度。就像上面的旋钮的个数。而对应的是一般情况下算法的参数个数,比如为什么神经网络容易过拟合,就是因为参数太多了,vc维太大导致的嘛。
我们再回到第五节讲到的M,看看M和
根据霍夫丁不等式,当M很小的时候,对应
同理当M很大的时候,可以得到相应的结论。
VC维的解释
在霍夫丁不等式中,我们知道坏事情发生的概率是在一个范围内,反过来讲就是好事情限定在1减去这个概率中。
如下图所示:
上面的一张图就解释了为啥当我们选用很复杂的模型的时候,就是vc维比较大,模型复杂度高,这样E(out)也会变大,这就gg了。
所以这里也建议在机器学习中不要一上来就采用复杂的模型,一般是从简单的模型开始,比如LR,svm等。
我们再来看看数据量大小的评估
这里假设坏事情发生的概率
就得到
1)如果我们需要达到这样的小姑,需要10000*
2)实际过程的时候,其实只需要10*
为啥差异这么大呢?如果你仔细看了整个推导过程就能够发现,这里用了太多的上界叠加。
又四个点:
1)霍夫丁不等式是对容易的分布,任意的目标函数都成立的,一般来说我们的资料都是有特定分布得。
2)我们使用了成长函数来估计假设空间的大小
3)我们用了
4)我们使用了叠加的方式,对于发生不好几率的情况下。
所以这些状况进行了叠加导致通过公式计算需要大量的样本,实际情况则不然。但是要想在公式上进一步压缩,现在看来还不太行。
欢迎转载,可以关注博客:http://blog.****.net/cqy_chen