回顾一下上一节课主要讲了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
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 当一个成长函数M存在break point k,那么它的成长函数是有界的,它的上界称为Bound function
  • Bound function也是有界的,且上界为N^(k−1)。

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 经过推到转换VC bound可以得到以上的式子,只与k和N有关:
  • 当H有break point k,且N足够大,那么根据VC bound理论,算法有良好的泛化能力,即Ein≈Eout;
  • 我们希望上面不等式右边的值越小越好,因为它代表我学习的可能性。

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 当一个hypothesis set H有break point k,那么我们说这是一个好的H,使机器学习成为可能;
  • 当我们的training data的数量N越大,这样的D就越有利机器学习更好的泛化能力;
  • 当然还需要一个好的算法,选择出我们想要的g;

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 这边给出一个VC Dimension的定义:VC Dimension就是某假设集H能够shatter的最多inputs的个数,即2N(刚学会怎么加公式o(╯□╰)o);
  • VC Dimension比最小的break point小1;

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 回顾一下之前四种情况的VC Dimension,我们可以通过dvc来取代k;
  • 一个好的hypothesis set,需要存在一个有限的dvc

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 当我们的hypothesis set的dvc是有限的,那么我们总能找到一个g,它能使得Ein(g)Eout(g),它与算法、样本数据分布和目标函数都没有关系。

二、VC Dimension of Perceptrons
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 以一个2D PLA进行举例,我们如何能够进行机器学习:
  • 输入的data D应该是线性可分的,即PLA算法是收敛的,这样才能保证说经过多次尝试,机器学习能找到一个g使得Ein(g)=0
  • 另外根据VC Bound原理,即2D PLA的dvc=3,当N足够大时,Ein(g)Eout(g)
  • 同时满足以上两条,则Eout(g)0,即PLA是可以学习的。
  • 以上是2D的证明,那么如果推广到多维呢,PLA是否仍然是可学习的?

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 在d-D perceptrons情况下,通过归纳我们怀疑dvc=d+1是成立的,那么只要证明以下两个成立,就可以得出dvc=d+1
  • dvcd+1
  • dvcd+1

首先证明第一个不等式:dvcd+1,我们只要证明d-D情况下,找到某一类的d+1个inputs可以被shatter。

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 首先,我们有意构造一个d维的矩阵X能够被shatter就行。
  • X是d维的,有d+1个inputs,每个inputs加上第零个维度的常数项1,得到X的矩阵。
  • 注意到X是反矩阵;

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 矩阵中,每一行代表一个inputs,每个inputs是d+1维的,共有d+1个inputs。这里构造的X很明显是可逆的。
  • shatter的本质是假设空间H对X的所有情况的判断都是对的,即总能找到权重W,满足X∗W=y,W=X−1∗y。

接着证明第一个不等式:dvcd+1,在d维里,如果对于任何的d+2个inputs,一定不能被shatter,则不等式成立。
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 以2D为例,当平面中已经存在3(即d+1)个inputs,并且已经知道它们的结果如图;
  • 通过数学不等式证明,x4只能是o,这样才能保证线性可分;

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 我们构造一个任意的矩阵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
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension
- 上节公式中W又名features,即自由度。自由度是可以任意调节的,如同上图中的旋钮一样,可以调节。
- VC Dimension代表了假设空间的分类能力,即反映了H的自由度,产生dichotomy的数量,也就等于features的个数,但也不是绝对的。
- 例如,对2D Perceptrons,线性分类,dvc=3,则W={w0,w1,w2},也就是说只要3个features就可以进行学习,自由度为3。

到这里其实我们就发现M与dvc是成正比的,从而得到如下结论:
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

四、Interpreting VC Dimension
前面我们用一个不等式表示坏事情发生的概率,通过对该不等式的处理,我们得到了一个不等式来表示好事情发生的概率。
台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 据之前的泛化不等式,如果|Ein−Eout|>ϵ,即出现bad坏的情况的概率最大不超过δ。那么反过来,对于good好的情况发生的概率最小为1−δ;
  • ϵ表现了假设空间H的泛化能力,ϵ越小,泛化能力越强

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 对不等式进行重写,得到Eout(g)的上下限,这里我们主要关心上限;
  • 这里我们用Ω(N,H,δ)来表示上图中不等式的右侧的根号值,它表示在一个很高的几率内,Eout−Ein的值会小于Ω(N,H,δ)(当然,如果差值为负更好,说明g在未知数据上的犯错率比在训练集上还低);
  • 我们把Ω(N,H,δ)叫做模型复杂度(Model Complexity),其模型复杂度与样本数量N、假设空间H(Dvc)、ϵ有关。

    台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 由此我们得出了泛化误差Eout的边界,即Eout的上限值;

  • 由图中图像可以得出以下结论:
  • dvc越大,Ein越小,Ω越大(复杂)
  • dvc越小,Ein越大,Ω越小(简单)
  • 随着dvc增大,Eout会先减小再增大,因此最佳的dvc会出现在中间的某一个值
  • 所以,为了得到最小的Eout,不能一味地增大dvc以减小Ein,因为Ein太小的时候,模型复杂度会增加,造成Eout变大。也就是说,选择合适的dvc,即选择的features个数要合适。

那么当我们选定了dvc,那么需要多少的数据合适?

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

  • 如图例子中,经过计算我们需要N=29300*dvc,而实际上当N≈10dvc时就已经足够了;
  • 这是因为VC bound实际上是很宽松的,宽松的原因是在整个推理过程中多次放大标准(要求太严),具体看下面四点:

台湾大学林轩田《机器学习基石》学习笔记第7讲——The VC Dimension

五、总结
本节课主要介绍了VC Dimension的概念就是最大的non-break point。然后,我们得到了Perceptrons在d维度下的VC Dimension是d+1。接着,我们在物理意义上,将dvc与自由度联系起来。最终得出结论dvc不能过大也不能过小。选取合适的值,才能让Eout足够小,使假设空间H具有良好的泛化能力。

reference:
https://blog.csdn.net/red_stone1/article/details/71191232

相关文章: