回顾一下上一节课主要讲了Theory of Generalization,泛化是指我们通过训练之后的机器学习,可以在新的data中也能很好地预测结果,即Ein约等于Eout。
为此前几次课引入了break point、growth function,上一节课还证明了成长函数M其实是有上限的。
本次笔记主要介绍VC Dimension的概念。同时也是总结VC Dimension与Ein(g)≈0,Eout≈0,Model Complexity Penalty(下面会讲到)的关系。
一、Definition of VC Dimension
- 当一个成长函数M存在break point k,那么它的成长函数是有界的,它的上界称为Bound function;
- Bound function也是有界的,且上界为N^(k−1)。
- 经过推到转换VC bound可以得到以上的式子,只与k和N有关:
- 当H有break point k,且N足够大,那么根据VC bound理论,算法有良好的泛化能力,即Ein≈Eout;
- 我们希望上面不等式右边的值越小越好,因为它代表我学习的可能性。
- 当一个hypothesis set H有break point k,那么我们说这是一个好的H,使机器学习成为可能;
- 当我们的training data的数量N越大,这样的D就越有利机器学习更好的泛化能力;
- 当然还需要一个好的算法,选择出我们想要的g;
- 这边给出一个VC Dimension的定义:VC Dimension就是某假设集H能够shatter的最多inputs的个数,即 2N 2 N (刚学会怎么加公式o(╯□╰)o);
- VC Dimension比最小的break point小1;
- 回顾一下之前四种情况的VC Dimension,我们可以通过 dvc d v c 来取代k;
- 一个好的hypothesis set,需要存在一个有限的 dvc d v c ;
- 当我们的hypothesis set的 dvc d v c 是有限的,那么我们总能找到一个g,它能使得 Ein(g)≈Eout(g) E i n ( g ) ≈ E o u t ( g ) ,它与算法、样本数据分布和目标函数都没有关系。
二、VC Dimension of Perceptrons
- 以一个2D PLA进行举例,我们如何能够进行机器学习:
- 输入的data D应该是线性可分的,即PLA算法是收敛的,这样才能保证说经过多次尝试,机器学习能找到一个g使得 Ein(g)=0 E i n ( g ) = 0 ;
- 另外根据VC Bound原理,即2D PLA的 dvc=3 d v c = 3 ,当N足够大时, Ein(g)≈Eout(g) E i n ( g ) ≈ E o u t ( g ) ;
- 同时满足以上两条,则 Eout(g)≈0 E o u t ( g ) ≈ 0 ,即PLA是可以学习的。
- 以上是2D的证明,那么如果推广到多维呢,PLA是否仍然是可学习的?
- 在d-D perceptrons情况下,通过归纳我们怀疑 dvc=d+1 d v c = d + 1 是成立的,那么只要证明以下两个成立,就可以得出 dvc=d+1 d v c = d + 1 ;
- dvc≥d+1 d v c ≥ d + 1
- dvc≤d+1 d v c ≤ d + 1
首先证明第一个不等式: dvc≥d+1 d v c ≥ d + 1 ,我们只要证明d-D情况下,找到某一类的d+1个inputs可以被shatter。
- 首先,我们有意构造一个d维的矩阵X能够被shatter就行。
- X是d维的,有d+1个inputs,每个inputs加上第零个维度的常数项1,得到X的矩阵。
- 注意到X是反矩阵;
- 矩阵中,每一行代表一个inputs,每个inputs是d+1维的,共有d+1个inputs。这里构造的X很明显是可逆的。
- shatter的本质是假设空间H对X的所有情况的判断都是对的,即总能找到权重W,满足X∗W=y,W=X−1∗y。
接着证明第一个不等式:
dvc≤d+1
d
v
c
≤
d
+
1
,在d维里,如果对于任何的d+2个inputs,一定不能被shatter,则不等式成立。
- 以2D为例,当平面中已经存在3(即d+1)个inputs,并且已经知道它们的结果如图;
- 通过数学不等式证明,x4只能是o,这样才能保证线性可分;
- 我们构造一个任意的矩阵X,其包含d+2个inputs,该矩阵有d+1列,d+2行。这d+2个向量的某一列一定可以被另外d+1个向量线性表示;
- 那么如果X1是正类,X2,⋯,Xd+1均为负类,则存在w满足以上不等式大于0,就说明d+2inputs是不能被shatter的,即不等式得证。
三、Physical Intuition of VC Dimension
- 上节公式中W又名features,即自由度。自由度是可以任意调节的,如同上图中的旋钮一样,可以调节。
- VC Dimension代表了假设空间的分类能力,即反映了H的自由度,产生dichotomy的数量,也就等于features的个数,但也不是绝对的。
- 例如,对2D Perceptrons,线性分类,dvc=3,则W={w0,w1,w2},也就是说只要3个features就可以进行学习,自由度为3。
到这里其实我们就发现M与
dvc
d
v
c
是成正比的,从而得到如下结论:
四、Interpreting VC Dimension
前面我们用一个不等式表示坏事情发生的概率,通过对该不等式的处理,我们得到了一个不等式来表示好事情发生的概率。
- 据之前的泛化不等式,如果|Ein−Eout|>ϵ,即出现bad坏的情况的概率最大不超过δ。那么反过来,对于good好的情况发生的概率最小为1−δ;
- ϵ表现了假设空间H的泛化能力,ϵ越小,泛化能力越强
- 对不等式进行重写,得到 Eout(g) E o u t ( g ) 的上下限,这里我们主要关心上限;
- 这里我们用Ω(N,H,δ)来表示上图中不等式的右侧的根号值,它表示在一个很高的几率内,Eout−Ein的值会小于Ω(N,H,δ)(当然,如果差值为负更好,说明g在未知数据上的犯错率比在训练集上还低);
我们把Ω(N,H,δ)叫做模型复杂度(Model Complexity),其模型复杂度与样本数量N、假设空间H( Dvc D v c )、ϵ有关。
由此我们得出了泛化误差Eout的边界,即 Eout E o u t 的上限值;
- 由图中图像可以得出以下结论:
- dvc d v c 越大,Ein越小,Ω越大(复杂);
- dvc d v c 越小,Ein越大,Ω越小(简单);
- 随着 dvc d v c 增大,Eout会先减小再增大,因此最佳的 d∗vc d v c ∗ 会出现在中间的某一个值。
- 所以,为了得到最小的Eout,不能一味地增大 dvc d v c 以减小Ein,因为Ein太小的时候,模型复杂度会增加,造成Eout变大。也就是说,选择合适的 dvc d v c ,即选择的features个数要合适。
那么当我们选定了 dvc d v c ,那么需要多少的数据合适?
- 如图例子中,经过计算我们需要N=29300* dvc d v c ,而实际上当N≈10dvc时就已经足够了;
- 这是因为VC bound实际上是很宽松的,宽松的原因是在整个推理过程中多次放大标准(要求太严),具体看下面四点:
五、总结
本节课主要介绍了VC Dimension的概念就是最大的non-break point。然后,我们得到了Perceptrons在d维度下的VC Dimension是d+1。接着,我们在物理意义上,将dvc与自由度联系起来。最终得出结论dvc不能过大也不能过小。选取合适的值,才能让Eout足够小,使假设空间H具有良好的泛化能力。
reference:
https://blog.youkuaiyun.com/red_stone1/article/details/71191232