【机器学习基石】泛化理论(六)


写在前面

这一节主要介绍了对于任意模型的成长函数和break point之间的关系,使用bounding function把这个关系推向一般化的表示,最后证明了只要存在break point,那么 m H ( N ) m_{H}(N) mH(N) 就是有上限的。有不少的证明过程比较复杂。

本文整理自台湾大学林轩田的《机器学习基石》


1. break point 的限制

前面我们提到过成长函数 m H ( N ) m_{H}(N) mH(N),指得就是 N N N 个点最多的分类 ( d i c h o t o m y ) (dichotomy) (dichotomy)。同时也引出了 b r e a k   p o i n t break \ point break point 的概念,就是最多的区分的点的个数,当 b r e a k   p o i n t = 2 break \ point=2 break point=2 时,最多只能区分一个点。

前面我们也讲过四种不同的成长函数,它们都有各自的 b r e a k   p o i n t break \ point break point。现在我们要对更加一般的情况进行分析,对于任意成长函数 m H ( N ) m_{H}(N) mH(N) 以及任意 b r e a k   p o i n t break \ point break point 的情况进行分析。

∙ \bullet 举例:下面对成长函数 m H ( N ) m_{H}(N) mH(N) b r e a k   p o i n t = 2 break \ point =2 break point=2 进行处理。

▹ \triangleright 当 N=1 时,可以进行区分,此时 m H ( N ) = 2 m_{H}(N)=2 mH(N)=2。即拥有两种 d i c h o t o m y dichotomy dichotomy,分别为 o 、 x o、x ox

▹ \triangleright 当 N=2 时,因为 b r e a k   p o i n t = 2 break \ point=2 break point=2,所以无法完全对两个点进行区分。因为两个点最多四种情况,所以此时最多只有三种情况。即 m H ( N ) < 4   a n d   m a x ( m H ( N ) ) = 3 m_{H}(N)<4 \ and \ max(m_{H}(N))=3 mH(N)<4 and max(mH(N))=3

numx1x2解释
1oo先随便给出一种分类情况
2ox接着给出另一种不同的情况
3xo接着给出另一种不同的情况

但是接下来如果给出 x x xx xx 的话,就可以区分这两个点了,就与我们的题目发生了冲突,也就是说此时最多只能给出 3 种 d i c h o t o m y dichotomy dichotomy。就是在总的四种情况里随机选取三种情况,具体的情况需要根据具体的成长函数来决定。

▹ \triangleright 当 N=3 时,此时有三个点,但是两两之间不能互相进行区分(也就是不能进行全排列)。同理,根据上面分析的话,我们可以最多给出 4 种 d i c h o t o m y dichotomy dichotomy

随机四种分类结果,但是此时想要再添加一种分类的话就一定会破坏我们上面提出的 b r e a k   p o i n t = 2 break \ point =2 break point=2。所以当 N = 3 N=3 N=3 时, m H ( N ) = 4 m_{H}(N)=4 mH(N)=4

∙ \bullet 此时我们就会发现当 N > k N>k N>k 时,随着 N N N 的增长,它对 m H ( N ) m_{H}(N) mH(N) 的限制会更大。

得出结论:对于任意的 m H ( N ) m_{H}(N) mH(N),当给定它一个 b r e a k   p o i n t break \ point break point 值时。会得到一个有限的上界 p o l y ( N ) poly(N) poly(N)。这是就可以用 m H ( N ) m_{H}(N) mH(N) 来替代 M M M

m H ( N ) ≤ m a x i m u m   p o s s i b l e   m H ( N )   g i v e n   k ≤ p o l y ( N ) m_{H}(N)≤maximum \ possible \ m_{H}(N) \ given \ k≤poly(N) mH(N)maximum possible mH(N) given kpoly(N)

∙ \bullet 练习:

当给出 b r e a k   p o i n t   k = 1 break \ point \ k=1 break point k=1 ,当 N = 3 N=3 N=3 m H ( N ) m_{H}(N) mH(N) 的最大值为多少?

a.1
b.2
c.4
d.6


因为 k = 1 k=1 k=1,所以一个点都不能进行区分,而一个点有两种情况分别为 x 、 o x、o xo。不管给出几个 N N N 时,它都只能有一种情况,所以选 a a a


2. Bounding Function(边界函数)

上面已经提到了一般化的情况,那么现在我们引入新的函数使其具有具体的表达方式。

∙ \bullet b o u n d i n g   f u n c t i o n   B ( N , k ) : {\color{Violet}bounding \ function \ B(N,k):} bounding function B(N,k): 表示当 b r e a k   p o i n t = k break \ point = k break point=k时最大的 m H ( N ) m_{H}(N) mH(N)。值得注意的是 B ( N , k ) B(N,k) B(N,k) 不针对特定的成长函数,只考虑 N N N 个点在 b r e a k   p o i n t = k break \ point = k break point=k 的情况。

那么我们上一节在练习种已经讨论过当 k = 1 k=1 k=1时,不论 N N N 为几,它的 B ( N , k ) B(N,k) B(N,k) 都为1;还讨论过两种具体的情形就是 B ( 2 , 2 ) = 3 B(2,2)=3 B(2,2)=3 B ( 3 , 2 ) = 4 B(3,2)=4 B(3,2)=4

现在继续讨论两类特殊的情况:

▹ \triangleright 第一种为 N = k N=k N=k的情形,当有N个点时,本来想要完全区分的话会有 2 N 2^{N} 2N 种分类,但是因为 k = N k=N k=N,所以不能完全区分这 N N N 个点,所以 B ( N , k ) = 2 N − 1 B(N,k)=2^{N}-1 B(N,k)=2N1

▹ \triangleright 第二种为 N < k N<k N<k 的情形,因为 N N N 个点最多 2 N 2^{N} 2N 次种分类,但是由于 k k k 又大于 N N N 所以说我们可以完全区分这 N N N个点,所以当 k > N k>N k>N 时所有的 B ( N , k ) B(N,k) B(N,k) 都为 2 N 2^{N} 2N

那么现在根据已知的推导就可以得到一张关于 N N N k k k 的表(剩下的内容我们在下一节中进行计算):
在这里插入图片描述
∙ \bullet 练习:

对于 2 D   p e r c e p t r o n s 2D \ perceptrons 2D perceptrons 这种成长函数,下面那条分析是正确的?

a.最小的 b r e a k   p o i n t k = 2 break \ point k=2 break pointk=2
b. m H ( 4 ) = 15 m_{H}(4)=15 mH(4)=15
c.当 N = k = N=k= N=k=最小的 b r e a k   p o i n t break \ point break point 时, m H ( N ) < B ( N , k ) m_{H}(N)<B(N,k) mH(N)<B(N,k)
d.当 N = k = N=k= N=k= 最小的 b r e a k   p o i n t break \ point break point 时, m H ( N ) > B ( N , k ) m_{H}(N)>B(N,k) mH(N)>B(N,k)


通过前面的分析我们知道 2 D   p e r c e p t r o n s 2D \ perceptrons 2D perceptrons 就是在 P L A PLA PLA 中对直线的分类,而它的 b r e a k   p o i n t = 4 break \ point = 4 break point=4,此时 m H ( 4 ) = 14 m_{H}(4)=14 mH(4)=14。因为当 N = k = 4 N=k=4 N=k=4 时, B ( 4 , 4 ) = 15 > m H ( 4 ) = 14 B(4,4)=15>m_{H}(4)=14 B(4,4)=15>mH(4)=14 所以选c。


3. Bounding Function(归纳补充)

现在我们来介绍一下 N > k N>k N>k 的情况,首先从 B ( 4 , 3 ) B(4,3) B(4,3) 看起,因为很难直接进行计算,所以我们可以考虑找一找规律。

∙ \bullet 推理过程:

经过列举,可以得出 B ( 4 , 3 ) B(4,3) B(4,3) 共11中情况,如图:

我们将这11中情况进行简单的划分:

可以看出前面8种情况两两一队,只是 x 4 x_{4} x4 不同,那我们先来观察一下前三个点:

把橙色看作 α α α,把紫色看作 β β β,如果想要实现 B ( 4 , 3 ) B(4,3) B(4,3),那么首先这三个数就不能完全划分,所以得到:
α + β ≤ B ( 3 , 3 ) α + β ≤B(3,3) α+βB(3,3)
然后单独将橙色部分摘出来:

因为考虑到不能完全区分三个点,所以这三个点里面就得限制不能区分两个点,不然加上 x 4 x_{4} x4 得话就会违反规矩,所以可以得到:
α ≤ B ( 3 , 2 ) α≤B(3,2) αB(3,2)

我们将这两部分加起来就可以得到:
B ( 4 , 3 ) = 2 α + β ≤ B ( 3 , 3 ) + B ( 3 , 2 ) B(4,3)=2α+β≤B(3,3)+B(3,2) B(4,3)=2α+βB(3,3)+B(3,2)
我们将这个结果推广到整个整数域上就可以得到一般的式子:
B ( N , k ) ≤ B ( N − 1 , k ) + B ( N − 1 , k − 1 ) B(N,k)≤B(N-1,k)+B(N-1,k-1) B(N,k)B(N1,k)+B(N1,k1)
填充表格如下:
在这里插入图片描述
∙ \bullet 根据递推公式,可以推出B(N,k)满足以下不等式:
B ( N , k ) ≤ ∑ i = 0 k − 1 ( N i ) B(N,k)≤\sum_{i=0}^{k-1}\binom{N}{i} B(N,k)i=0k1(iN)

该不等式的右边是最高阶为 N − 1 N-1 N1 的多项式,也就是成长函数的上界, B ( N , k ) B(N,k) B(N,k) 的上界满足多项式分布 p o l y ( N ) poly(N) poly(N)。如果说对于一个模型可以找到 b r e a k   p o i n t break \ point break point,那么它的成长函数 m H m_{H} mH 就是有上界的。


4. 公式

因为通过上面分析已经知道成长函数上限是有限的多项式组成的,那么我们前面一直想证明的 E i n ≈ E o u t E_{in}≈ E_{out} EinEout 的公式使用 m H ( N ) m_{H}(N) mH(N) 就可以进行替换了。

最终得到的式子为:
在这里插入图片描述

感兴趣的同学可以自己去学习怎么证明。(我觉着挺复杂的QAQ)


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比奇堡咻飞兜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值