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