机器学习基石泛化理论

Posted 桃陉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习基石泛化理论相关的知识,希望对你有一定的参考价值。


写在前面

这一节主要介绍了对于任意模型的成长函数和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 机器学习基石:09 Linear Regression

机器学习基石笔记举一反三的理论

思考VC维与PAC:如何理解深度神经网络中的泛化理论?

机器学习基石笔记15——机器可以怎样学得更好

林轩田《机器学习基石》 简介

机器学习基石笔记1