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

上一篇用成长函数 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离很远,有非常大的可能 Ein Ein 也会离得比较远。

  事实上当N很大的时候, Ein Ein 可以看做服从以 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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值