写在前面
这一节主要介绍了对于任意模型的成长函数和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 o、x。
▹ \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。
num | x1 | x2 | 解释 |
---|---|---|---|
1 | o | o | 先随便给出一种分类情况 |
2 | o | x | 接着给出另一种不同的情况 |
3 | x | o | 接着给出另一种不同的情况 |
但是接下来如果给出 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 k≤poly(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 x、o。不管给出几个 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)=2N−1。
▹ \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中情况,如图:
![](https://img-blog.csdnimg.cn/306bba1fd6a84e928b3ac2101e58db70.png?)
我们将这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(N−1,k)+B(N−1,k−1)
填充表格如下:
∙
\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=0∑k−1(iN)
该不等式的右边是最高阶为 N − 1 N-1 N−1 的多项式,也就是成长函数的上界, 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} Ein≈Eout 的公式使用 m H ( N ) m_{H}(N) mH(N) 就可以进行替换了。
最终得到的式子为:
感兴趣的同学可以自己去学习怎么证明。(我觉着挺复杂的QAQ)