您的位置:首页 > 其它

林轩田-机器学习基石 课堂笔记(六)Theory of Generalzation

2018-02-21 05:12 1231 查看
1、Restriction of Break Point回顾一下之前学习到的定5义①成长函数mH(N):假设空间在N个样本点上能产生的dichotomy数量,即样本点在二元分类下的组合情况。②突破点(Break Point):不能满足完全分类情形(shattered:即N个点所有组合情况都出现)的样本点个数,即不可分出2^N种dichotomy。


之前我们学习了四种情况下的成长函数及它们的Break Point,并作出了一个假设,即2D perceptrons的成长函数是关于O(N^3)的多项式。现在我们假设分类的最小突破点k=2,计算当N取不同值时的mH(N)是多少。


容易得出N=1时,mH(N)=2;N=2时,mH(N)<2^2=4,因此突破点为2。我们假设mH(N)的最大值为3。当N=3时






至此都没有shatter。当加入第四种情况时,我们发现x2、x3两个点shatter了,即满足了完全分类情况,违反了k=2,因此删去这种情况。




再加入第四种情况,也没有出现任两个点shatter。第五种情况,加入任何组合都出现了shatter,违反了k=2。






因此为了满足k=2,N=3的情况下,我们最多只能产生4种dichotomy<<2^3=8

从上述例子,我们可以做出一个假设:当N>k时,突破点限制了mH(N)的大小,且mH(N)<=与突破点k有关的某个多项式,那么此时根据Hoeffding不等式,我们可以用有限的mH(N)代替无限的M,从而证实机器学习的可行性。
2、Bounding Function:Basic Cases引入一个新的概念:上限函数B(N, k)(Bounding Function),指当Breaking Point为k时,成长函数mH(N)可能的最大值。这个函数的出现使我们不再去关注具体的假设是positive rays还是positive intervals,只需了解此假设的突破点,将突破点相同的假设归为一类,便可得到一个上限函数对成长函数作约束,从而简化了问题。


我们通过分析可以得知k=1时,容易得出B(N,1)恒为1;N=k时,由于突破点代表不能完全二分类的情况,因此上限函数为2^N-1;可以当N<k时,此区域所有点都满足完全二分类的情况,因此上限函数为2^N。


3、Bounding  Function:Inductive Cases现在我们来填表格剩下的部分,从已知的数据我们发现似乎数据之间有一个关系:B(N,k)=B(N-1,k)+B(N-1,k-1),下面我们试着证实这个关系是否正确。我们列出B(4,3)的所有二分情况,并通过观察将这些数据进行分组,分成橘色组和紫色组。橘色组中x1、x2、x3两两一致,x4成对出现;紫色组则是单一的,x1、x2、x3均不相同。设橙色组共有α对二分类,即2α种二分类;紫色部分共有β种二分类,有B(4,3)=11=2*4+3=2α+β。




现在我们去掉x4,去掉重复的x1、x2、x3二分类,得到了如下7(=α+β)种二分类情形,满足x1、x2、x3不能完全二分类,因此有α+β<=B(3,3)。


我们继续丢掉其中的紫色组,由于α中对应的x4成对存在,且条件指出B(4,3)不能被任意三点shatter,因此可以推出α不能被任意两点shatter。因为如果存在α满足任意两点shatter,那么取出x1、x2、x3中任意两列,与删掉的x4结合,那么一定可以得到一种三个点shatter的情形,这就与条件已知的任意三点不能shatter冲突了,因此我们可以得到α<=B(3,2)。从而我们可以推出B(4,3)=2α+β=(α+β)+α<=B(3,3)+B(3,2),最终推出通式:

补齐表格上限:


根据递推公式和数学归纳法,我们可以推导出成长函数mH(N)的上限函数B(N,k)的上限为N^(k-1)。


现在我们看看之前介绍的几种问题的mH(N)和它们的Break Point之间的关系。

对于2D perceptron,它的Break Point k=4,而mH(N)的上限为N^(k-1),因此我们可以知道它的mH(N)<=一个关于N^3的多项式,因此是有限的。也就是说,针对一个模型,如果我们能找到它的Break Point k,且k是有限大的,那么我们就能推断出其成长函数mH(N)是有限大的,从而让有限的mH(N)代替无限的M,再通过Hoeffding不等式,得出机器学习是有效的这样的结论。
4、A Pictorial Proof之前我们讨论了mH(N)在何种情况下是有限的,接下来我们需要在Hoeffding不等式中用mH(N)代替M,但是并不是简单的替换,正确的式子如下:


PS:这里的证明我也不是很理解= =,可能有错误的地方,希望大家指正。该式的证明分为三步:


①我们知道样本大小是固定的,因此Ein是有限的,但是Eout的数据是无限的,因此错误率也是无限多种的。为了解决这个问题,我们用与输入样本一样多的数据集D'(通常我们叫做ghost data)代替无限多的数据,从而估计出有限的Ein',也许Ein'就能用来代替无限的Eout。我们将数据点的分布列出来,Eout大概是在Ein'和Ein的中间部分,如果现在有个坏事情发生(Ein和Eout距离很远),那么我在抽一组Ein'的时候,有很大的机会(超过1/2)Ein'和Ein也会距离很远,因此我们可以把Eout用Ein'换掉。




②Ein大小与D有关,Ein’与样本D’有关,如果我们的hypothesis在D和D’上作出一样的dichotomy,那么Ein和Ein’会长一模一样。所以我们只要把所有的hypothesis分成H(x1,…xN,x1’,…xN’)种,这样最多就只有mH(2N)种dichotomy。之前Hoeffding告诉我们,如果发生坏事情所占的几率只有整个平面的一小块(图a);如果使用union bound在hypothesis上,那么坏事情的几率如果没有重叠,就应该在整个平面占的满满的(图b);我们现在要做的事情就是将同类别的坏事情归类在一起(图c)。




③我们用之前的罐子与弹珠的例子来讨论,此时罐子中不再是无限多个弹珠,而是2N个弹珠,无放回的抽N个弹珠来预测剩下弹珠之间的比例。不过这种Hoeffding最后的结果与原来的Hoeffding是类似的,差别就在于我们有一个比较小的罐子和比较小的ε。


至此我们得到了一个新的不等式— —Vapnik-Cheryonenkis(VC) bound来代替Hoeffding:


至此,我们证明得出只要Break Point存在,机器学习就是可行的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: