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

本文探讨了机器学习中Generalization的理论,重点在于Break Point的概念及其对成长函数mH(N)的影响。通过对成长函数的分析,引入了上限函数B(N, k),简化了问题并揭示了Break Point与mH(N)的关系。通过举例和证明,说明了有限的Break Point如何确保机器学习的有效性,并引出了Vapnik-Chervonenkis (VC) bound在有限样本中的应用。" 76208674,5615205,Unity 文件操作:快速入门,"['Unity开发', '数据存储', '文件流']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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存在,机器学习就是可行的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值