vc dimension 是什么?
上一次又讲到 break point的定义,break point = k 就是说N=k的时候,这k个点开始不能被shattered,那么
之前有讲过说,在break point = k 的时候,数据规模是N,那么成长函数
所以也就有了
那么之前讲过的是 Ein,Eout 差距过大发生的可能性就可以用 dVC 表示
那么 dVC 表示了什么,从这个式子就可以看出来, dVC 是一个有限的数字的时候,当N足够大我们就可以说, Ein,Eout 差距过大发生的可能性很小。
所以说机器学习做了什么事情,从左边看我们得出一个使得 Ein = 0的假设函数,从右边看,因为 dVC 是有限的数字,我们可以确保 Ein≈Eout 这样我们才可以说我们的假设函数应用到无限的数据集当中的 Eout≈0
那么
dVC
的物理含义是什么,它实际上表示了一种自由度。
dVC
数值越大,可供选择的假设函数种类就越多,我们越可能学习到一个较好的假设函数,但是随着带来的问题就是
Ein,Eout
差距过大发生的可能性变大。对于PLA来说,
dVC=d+1
也就是超平面的维度。
当然VC Dimension 还有别的意义,比如说在给定了期望误差范围之后,我们需要多少的数据量N。
7.18 补充总结:
dvc
大致等于 参数的个数,或者说维度。那么vc dimension的值越大,参数的个数越多,模型越复杂。相应的模型越复杂我们可能很容易的得到一个较小的
Ein
,但是之前也有说过,随着
dvc
值的变大,
Ein与Eout
的差距也会变大。所以模型就不会很准确。
这张图中可以看到各种变化之间的关系。