Coursera台大机器学习课程笔记5 -- Theory of Generalization

本章思路

根据之前的总结,如果M很大,那么无论假设泛化能力差的概率多小,都无法忽略,所以问题转化为证明M不大,然后上章将其转化为证明成长函数:mh(N)为多项式级别。直接证明似乎很困难,本章继续利用转化的思想,首先想想和mh(N)相关的因素可能有哪些?不难想到目前来看只有两个:

  • 假设的抽样数据集大小N
  • break point k(这个变量确定了假设的类型);

那么,由此可以得到一个函数B,给定Nk可以确定该系列假设能够得到的最大的mh(N),那么新的目标便是证明B(N,k) <= Poly(N)。这便是本章的主要目标。

上图展示了不同Nk如何影响最终的growth function,表达了本章的重点是证明growth functionPoly的。

接着,问题可以进一步简化,上面我们知道growth functionNH决定,而H又可以转为k,一个k决定了一类H,这样的抽象推导出了一个很重要的函数,这个函数的ygrowth functionX则分别为Nk

典型的例子是positive intervals1D perceptronsk都为3,它们的growth function即时一致的,换句话说,这个函数将H的本质通过k表达了出来。

原目标就继续转化为证明B(N,k)poly

证明的过程很巧妙,以B(4,3)为例子:

步骤1:找出B(4,3)B(3,x)的关系,则可以得到一个递推式

B(4,3)已知为11dichotomy如下:

也就是说再加一种dichotomy,任意三点都能被shattered11是极限。

对这11dichotomy分组,目前分成两组,分别是orangepurpleorange的特点是,x1,x2x3是一致的,x4不同并成对,例如1528等,purple则是单一的,x1,x2,x3都不同。

 

这是第一步化简,将Orange去掉x4后去重得到4个不同的vector并成为alpha,相应的purplebeta,那么B(4,3) = 2*alpha + beta这个是直接转化。紧接着,由定义,B(4,3)是不能允许任意三点shatter的,所以由alphabeta构成的所有B(4,3)的所有三点组合也不能shatteralpha经过去重),即alpha + beta <= B(3,3)

最关键的来了,首先给出结论,alphavector不能在任意两点被shatter,为啥?反证法,假设可以,那么由于alphax4是成对出现的,所以把apha加上x4就能构成三个点的shatter,这个地方非常巧妙这也道出了之前这样分组的精髓,所以alpha <= B(3,2)

由此得出B(4,3)B(3,x)的关系。

步骤二:推导出一般式

有了前面一步的基础,后面的就很直接了。


展开可以,接着得出:

那么得出的结论就是:

上面明显是poly的,由此得出来我们梦寐已久的结果。

光有这个还不行,我们要带到下面的关键不等式中才能最终得出,选取最小Ein 假设是可以的忽略错误的,只要有breaking point存在于假设。

这里的证明我大致看了一下,对整体理解不是很大帮助,准备以后上完大部分课程后再看看。

 

总结:

  本章的结论很明显,即时假设看起来是无穷的,只要存在breaking point,那么growth function便是多项式级别,假设的数量是限定的,我们只要保证Ein足够小,那么N大以及breaking point存在可以保证该假设具有较好的泛化性。

posted @ 2014-03-25 08:33  HappyAngel  阅读(2588)  评论(1编辑  收藏  举报