文章目录
Lecture 6:Theory of Generalization
Restriction of Break Point
先回顾一下上节课内容,主要讲的是Hoeffding不等式当中的 M M M如果很大,那么不能保证 E i n ≈ E o u t E_{in}\approx E_{out} Ein≈Eout,也就是说机器学习泛化能力不好。所以我们需要验证 M M M是有限的,最好是按照多项式成长。从而引入了Break Point与Growth Function两个概念
上节课最后提出了一个猜想:2D Perceptrons的成长函数是多项式级别的。
这个例子是说,Break Point k=2,当 N = 3 N=3 N=3时,成长函数的最大值是多少。
具体过程见课程的PPT,做法大致是每添加一种dichotomy,都要确保3个点中的任意两个不会被shatter,否则就违反了 k = 2 k=2 k=2的前提。最终答案是4.
(在B站看视频弹幕里还有不少不理解shatter的,shatter就是如果假设的集合能将N个点分成 2 N 2^N 2N种二分类,那么这个假设集合就能shatter这N个点)
我们发现,当 N > k N>k N>k时,break point限制了成长函数值的大小,那么如果给出 N N N和 k k k,如果能够证明成长函数值的上界是多项式的,就能够在Hoeffding不等式中代替 M M M,从而说明机器学习是可行的。
Bounding Function: Basic Cases
引入一个函数Bounding Function B ( N , k ) B(N,k) B(N,k):当break point为k的时候,成长函数 m H ( N ) m_H(N) mH(N)可能的最大值,也就是 m H ( N ) m_H(N) mH(N)的上界。
上界函数不考虑假设集的组成,只关心成长函数的上界,从而对问题进行了简化,比如说,positive intervals和2D Perceptrons的成长函数上界都可以用 B ( N , 3 ) B(N,3) B(N,3)表示。
引入这个函数后,我们的目标也就成了证明这个函数的上界是多项式的:
求解这个函数:
- k = 1 , B ( N , 1 ) = 1 k=1,B(N,1)=1 k=1,B(N,1)=1
- N < k , B ( N , K ) = 2 N N<k,B(N,K)=2^N N<k,B(N,K)=2N
- N = k , B ( N , k ) = 2 N − 1 N=k,B(N,k)=2^{N}-1 N=k,B(N,k)=2N−1
这几个都是根据定义得到的,如果k=1,成长函数值一定为1,因为随便增加一个假设都能够shatter这一个点,不符合break point的定义
当 N = k N=k N=k时,此时第一次出现不能被shatter的情况,所以最大为 2 N − 1 2^N-1 2N−1(shatter的定义)
Bounding Function: Inductive Cases
剩下 N > k N>k N>k的情况:
以 B ( 4 , 3 ) B(4,3) B(4,3)为例,首先想着能否构建 B ( 4 , 3 ) B(4,3) B(4,3)与 B ( 3 , ? ) B(3,?) B(3,?)之间的关系
把 B ( 4 , 3 ) B(4,3) B(4,3)所有情况写出来一共有11种:
把这11种分为两种,第一种用下图橙色表示( x 1 x 3 x_1~x_3 x1 x3完全相同, x 4 x_4 x4相反的两个为一组);第二种用下图紫色表示(其他单个的):
如果先不考虑 x 4 x_4 x4,那么橙色部分得到 α \alpha α个,紫色部分得到 β \beta β个二分类,这些肯定是任意3个都不能被shatter的,也就是说
α + β ≤ B ( 3 , 3 ) \alpha + \beta \leq B(3,3) α+β≤B(3,3)
由于 α \alpha α中 x 4 x_4 x4成对存在(已经被shatter),而 x 1 x 4 x_1~x_4 x1 x4中任意三点不能被shatter,所以 x 1 x 3 x_1~x_3 x1 x3中任意两点不能被shatter,即:
α ≤ B ( 3 , 2 ) \alpha \leq B(3,2) α≤B(3,2)
所以,最后得到:
B ( 4 , 3 ) = 2 α + β α + β ≤ B ( 3 , 3 ) α ≤ B ( 3 , 2 ) ⇒ B ( 4 , 3 ) = ( α + β ) + α ≤ B ( 3 , 3 ) + B ( 3 , 2 ) \begin{aligned} &B(4,3)=2\alpha + \beta\\\\ &\alpha + \beta \leq B(3,3)\\\\ &\alpha \leq B(3,2)\\\\ &\Rightarrow B(4,3)=(\alpha+\beta)+\alpha\leq B(3,3)+B(3,2) \end{aligned} B(4,3)=2α+βα+β≤B(3,3)α≤B(3,2)⇒B(4,3)=(α+β)+α≤B(3,3)+B(3,2)
更一般的:
上述公式通过递推得到:
上述不等式右边是一个最高阶为 k − 1 k-1 k−1的多项式,也就是说成长函数上界的上界满足多项式分布,这就得到了我们想要的结果。
再看之前的例子:
A Pictorial Proof
实际上,我们并不能直接用 m H ( N ) m_H(N) mH(N)代替 M M M,我们能够得到的正确表达式是下图蓝色框中的式子:
证明部分大概听了一下,具体过程可以看PPT
最终得到的这个不等式叫做Vapnik-Chervonenkis bound(VC bound):
Summary
这节课主要内容是证明了只要存在break point,机器学习就是可行的。