台大机器学习基石笔记(三)——VC 维2

转载 2015年07月08日 17:37:24

上一篇用成长函数mH(N)来衡量Hypotheses Set H中有效的方程的数量(Effective Number of Hypotheses),以取代Hoeffding’s Inequality中的大M,并用一种间接的方式 — break point,来寻找mH(N)的上界,从而避免了直接研究的成长函数的困难。

学习所需”维他命”(The VC Dimension)

m_(N)_i=0k1(Ni)

  根据之前得到的式子,我们知道如果一个H存在break point,我们就有办法保证学出来的东西能够“举一反三”(good generalization)。一般来说break point越大的H,其复杂度也更高,我们可以使用vc dimension来描述一个H的复杂程度,这个vc dimension来自Vladimir Vapnik与Alexey Chervonenkis所提出的VC Theory。

  根据定义,一个H的vc dimension(记为dvc(H)),是这个H最多能够shatter掉的点的数量 (the largest value of N for which mH(N)=2N),如果不管多少个点H都能够shatter他们,则dvc(H)=。不难看出dvc与break point k的关系,有¥k=d_{}vc}+1¥,因此我们用这个dvc来描述成长函数的上界:

m_(N)_i=0d_vc(Ni)

  上式右边(RHS)事实上是最高项为dvc的多项式,利用数学归纳法可得:
m_(N)_i=0d_vc(Ni)Nd_vc+1

更加一般化的Bound (The VC Generalization Bound)

  上一篇的末尾我们设想利用有限的mH(N)来替换无限的大M,得到H遇到Bad Sample的概率上界:

D[BADD]2mH(N)exp(2ϵ2N)

  其中D[BADD]H中所有有效的方程(Effective Hypotheses)遇到Bad Sample的联合概率,即H中存在一个方程遇上bad sample,则说H遇上bad sample。用更加精准的数学符号来表示上面的不等式:
[h s.t. |E_in(h)E_out(h)|>ϵ]2m_(N)exp(2ϵ2N)

  注:h s.t.  H中存在(∃)满足(s.t)...h
  但事实上上面的不等式是不严谨的,为什么呢?mH(N)描述的是H作用于数据量为N的资料D,有效的方程数,因此H当中每一个h作用于D都能算出一个Ein来,一共能有mH(N)个不同的Ein,是一个有限的数。但在out of sample的世界里(总体),往往存在无限多个点,平面中任意一条直线,随便转一转动一动,就能产生一个不同的Eout来。Ein的可能取值是有限个的,而Eout的可能取值是无限的,无法直接套用union bound,我们得先把上面那个无限多种可能的Eout换掉。那么如何把Eout变成有限个呢?
  假设我们能从总体当中再获得一份N笔的验证资料(verification set)D′,对于任何一个h我们可以算出它作用于D′上的Ein,由于D′也是总体的一个样本,因此如果E_in和E_out离很远,有非常大的可能EinEin也会离得比较远。

  事实上当N很大的时候,EinEin可以看做服从以Eout为中心的近似正态分布(Gaussian),如上图。[|E_in−E_out| is large]这个事件取决于,如果[|E_in−E_out| is large],则如果我们从总体中再抽一份′出来,有50%左右的可能性会发生[|E_in−E_in′| is large],还有大约50%的可能[|E_in−E_in′| is not large]。
  因此,我们可以得到ℙ[|E_in−E_out| is large]的一个大概的上界可以是2ℙ[|E_in−E_in′| is large],以此为启发去寻找二者之间的关系。
  引理:
(12e12ϵ2N)[suph |E_in(h)E_out(h)|>ϵ][suph |E_in(h)E_in(h)|>ϵ2]

  上面的不等式是从何而来的呢?我们先从RHS出发:
    [suph |Ein(h)Ein(h)|>ϵ2][suph |Ein(h)Ein(h)|>ϵ2andsuph |Ein(h)Eout(h)|>ϵ]=[suph |Ein(h)Eout(h)|>ϵ]×[suph |Ein(h)Ein(h)|>ϵ2|suph |Ein(h)Eout(h)|>ϵ](sup - )

  上式第二行的不等号可以由

[_1][_1 and _2]
得到,第三、四行则是贝叶斯公式,联合概率等于先验概率与条件概率之积。

  下面来看看不等式的最后一项[suph |E_in(h)E_in(h)|>ϵ2|suph |E_in(h)E_out(h)|>ϵ]。对于一个固定的data set D来说,我们任选一个h*使得|E_in(h*)−E_out(h*)|>ϵ,注意到这个h*只依赖于而不依赖于′噢,对于′来说可以认为这个h* is forced to pick out。
  由于h*是对于D来说满足|E_in−E_out|>ϵ的任意一个hypothesis,因此可以把式子中的上确界(sup)先去掉。

 [suph |Ein(h)Ein(h)|>ϵ2|suph |Ein(h)Eout(h)|>ϵ][|Ein(h)Ein(h)|>ϵ2|suph |Ein(h)Eout(h)|>ϵ]

  这里就要稍微出动一下前人的智慧了:
|EinEout|ϵ2 |EinEout|>ϵ|EinEin|>ϵ2

  为了直观一点h*就不写了。经过各种去掉绝对值符号又加上绝对值符号的运算,可以发现LHS的两个不等式是RHS那个不等式的充分非必要条件。而LHS第二个不等式是已知的,对于h*必成立的。因此我们拿LHS这个充分非必要条件去替换RHS这个不等式,继续前面的不等式:
   [suph |Ein(h)Ein(h)|>ϵ2|suph |Ein(h)Eout(h)|>ϵ][|Ein(h)Ein(h)|>ϵ2|suph |Ein(h)Eout(h)|>ϵ][|Ein(h)Eout(h)|ϵ2|suph |Ein(h)Eout(h)|>ϵ]12e12ϵ2N

  最后一个不等号动用了Hoeffding Inequality:
  [|...|>ϵ]2Mexp(2ϵ2N)1[|...|>ϵ]12Mexp(2ϵ2N)[|...|ϵ]12Mexp(2ϵ2N)

  之前说过对于D′来说,h* is forced to pick out,因此M=1。接着把ϵ替换为ϵ2,就成了[|...|<ϵ2]2exp(12ϵ2N)。则我们可以得到引理中的不等式。

  对于e−12e2N,一个比较合理的要求是e−12ϵ2N<14,譬如我们有400笔资料,想要E_in和E_out相差不超过0.1。注意到这只是一个bound,只要要求不太过分,也不能太宽松即可,适当的宽松一点是OK的。当然这里也是想跟之前所说的 “ℙ[|E_in−E_out| is large]的一个大概的上界可以是2ℙ[|E_in−E_in′| is large]” 当中的2倍有所结合。

  所以就有12e12e2N>12。带回引理,可得:

[suph |E_in(h)E_out(h)|>ϵ]2[suph |E_in(h)E_in(h)|>ϵ2]

  这样一来我们就把无限多种的E_out换成了有限多种的E_in,因为D与D′的大小相等,都为N,因此我们手中一共有2N笔数据,这样作用于D+D′最多能产生m_H(2N)种dichotomies。此时我们针对上面的不等式,就又可以使用union bound了。(关于union bound,可以参考上一篇VC Dimension, Part I)
[BAD]  2[suph |Ein(h)Ein(h)|>ϵ2]2m(2N)[fixed h s.t. |Ein(h)Ein(h)|>ϵ2](hypothesisEinEin)

  前面的动作相当于先从总体中抽出2N笔数据,把这2N笔数据当成一个比较小的bin,然后在这个bin中抽取N笔作为D,剩下的N笔作为D′,D和D′之间是没有交集的。在我们想象出来的这个small bin当中,整个bin的错误率为E_in+E_out2,又因为:
|E_inE_in|>ϵ2|E_inE_in+E_in2|>ϵ4

  所以用RHS替换LHS之后,前面不等式就又可以使用Hoeffding inequality了:
[BAD]   2m(2N)[fixed h s.t. |Ein(h)Ein(h)|>ϵ2]=2m(2N)[fixed h s.t. |Ein(h)Ein(h)+Ein(h)2|>ϵ4](Hoeffding without replacement)2m(2N)2exp(2(ϵ4)2N)

  这上面千辛万苦得出来的这个bound就叫做Vapnik-Chervonenkis (VC) bound:
[BAD] =[h s.t. |Ein(h)Eout(h)|>ϵ]4m(2N)exp(18ϵ2N)

NTU-Coursera机器学习:VC Bound和VC维度

这一讲开篇再介绍一个界函数(bounding function)的概念.它提供了一个对机器学习结果可靠性的衡量,因为成长函数是N的多项式,所以BAD事件发生的概率随着N的增大而显著下降。需要强调的是,...
  • utimes
  • utimes
  • 2015年02月22日 15:51
  • 5487

VC维(VC dimension)

参考文献:learning from data——Yaser S. Abu-Monstafa/ Malik Magdon-Ismail / Hsuan-Tien Lin
  • lucylove3943
  • lucylove3943
  • 2015年08月05日 18:52
  • 2989

台大林轩田《机器学习基石》学习笔记:可行性(Hoeffding、Multi-binhoeffding、VC bound)

台大林轩田《机器学习基石》学习笔记:可行性(Hoeffding、Multi-binhoeffding、VC bound)...
  • qq_22717679
  • qq_22717679
  • 2016年04月18日 13:06
  • 1808

解读机器学习基础概念:VC维的来龙去脉(转)

目录: 说说历史Hoeffding不等式Connection to Learning学习可行的两个核心条件Effective Number of HypothesesGrowth Functio...
  • woaidapaopao
  • woaidapaopao
  • 2016年05月25日 22:27
  • 1777

台大机器学习——可行性证明3(Break Point出现时成长函数的边界)

Break Point 对成长函数的限制 回顾上一节提到的4个成长函数: 假设对于一个问题,minimum break point k = 2(对于任意2个输入,H不能穷尽所有划分),基于该条件我们...
  • qq756161569
  • qq756161569
  • 2016年12月20日 11:52
  • 375

c++隐患漏洞检测(boundcheck),可用于vc++,delphi等多款开发工具

  • 2009年06月29日 13:36
  • 17MB
  • 下载

VC 维度(七)

这一章节非常重要,也是有点难度的 上节课我们知道,我们得到的一个结论是: 我们的假设函数的成长函数,它的break point 是K,那么成长函数是小于边界函数B(N,k)的,边界函数是,边界函数的最...
  • ML_algorithmResearch
  • ML_algorithmResearch
  • 2015年12月25日 15:43
  • 1359

台大机器学习基石笔记(二)——VC 维1

台大机器学习基石笔记(二)——VC 维1
  • sanglong01
  • sanglong01
  • 2015年07月08日 15:48
  • 766

台湾大学林轩田机器学习基石课程学习笔记7 -- The VC Dimension

前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释。机器能够学习必须满足两个条件: 假设空间H的Size M是有限的,即当N足够大的时候,那么对于假设空间中任意一个假设g,Eout≈EinE_...
  • red_stone1
  • red_stone1
  • 2017年05月05日 09:38
  • 2899

VC维

    为了研究函数集在经验风险最小化原则下的学习一致性问题和一致性收敛的速度,统计学习理论定义了一系列有关函数集学习性能的指标,它们包括:随机熵、VC熵、退火的VC熵、生长函数、VC维等。尽管随机熵...
  • carson2005
  • carson2005
  • 2011年05月29日 15:36
  • 9366
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:台大机器学习基石笔记(三)——VC 维2
举报原因:
原因补充:

(最多只允许输入30个字)