机器学习基石泛化理论
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 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 机器学习基石:09 Linear Regression