VC Dimension

来源:互联网 发布:hadoop2.7 java开发 编辑:程序博客网 时间:2024/05/17 12:04

vc dimension 是什么?
上一次又讲到 break point的定义,break point = k 就是说N=k的时候,这k个点开始不能被shattered,那么

dVC=k1
也就是能够被shattered的点的最大的个数。

之前有讲过说,在break point = k 的时候,数据规模是N,那么成长函数

mH(N)B(N,k)i=0k1(Ni)
所以有了下图的表格。
这里写图片描述
所以也就有了
mH(N)B(N,k)i=0k1(Ni)Nk1=NdVC

那么之前讲过的是Ein,Eout差距过大发生的可能性就可以用dVC表示

这里写图片描述

那么dVC表示了什么,从这个式子就可以看出来,dVC是一个有限的数字的时候,当N足够大我们就可以说,Ein,Eout差距过大发生的可能性很小。

这里写图片描述

所以说机器学习做了什么事情,从左边看我们得出一个使得Ein= 0的假设函数,从右边看,因为dVC是有限的数字,我们可以确保EinEout 这样我们才可以说我们的假设函数应用到无限的数据集当中的Eout0

那么dVC的物理含义是什么,它实际上表示了一种自由度。dVC数值越大,可供选择的假设函数种类就越多,我们越可能学习到一个较好的假设函数,但是随着带来的问题就是Ein,Eout差距过大发生的可能性变大。对于PLA来说,dVC=d+1也就是超平面的维度。
这里写图片描述

当然VC Dimension 还有别的意义,比如说在给定了期望误差范围之后,我们需要多少的数据量N。
这里写图片描述

7.18 补充总结:
dvc 大致等于 参数的个数,或者说维度。那么vc dimension的值越大,参数的个数越多,模型越复杂。相应的模型越复杂我们可能很容易的得到一个较小的Ein,但是之前也有说过,随着dvc值的变大,EinEout的差距也会变大。所以模型就不会很准确。
这里写图片描述
这张图中可以看到各种变化之间的关系。

0 0
原创粉丝点击