【机器学习基石笔记】六、举一反三的理论
成长函数 mH(N):
当有N个点的时候,在H集上有多少种二分的方法。
breakPoint:
对任意的n个点,都没有2^n种不同的分割。n就是breakPoint。
定义B(N, k)
在k是breakPoint的情况下,N个点最多有多少种不同的分割。
可以画出B(N, k)图像:
B(N, 1) = 1
k比较大时,B(N, k) = 2^N
N比较大时,证明B(N, k) = 2 * a + b。分类为
其中a是成对的, b是单独的。
a + b <= B(N-1, k)
a <= B(N-1, k-1)
两式相加,得到 B(N, k) <= B(N-1, k) + B(N-1, k-1)
事实可以证明为等号。
用数学归纳法,可以得到多项式边界。
三个步骤证明下式:
P(存在h, 使得|Ein - Eout| > epsilon) -> 0
1、将Eout用Ein'代替,多出来2倍,Ein'有1/2的概率在Ein的另一侧。
2、对H分类
3、使用Hoeffding,证明Ein和Ein'离得很近。
总结Generalization的理论:
1、有breakPoint
2、N足够大
那么就可以使Ein和Eout任意接近。