假设我有一个超平面集合 H,其对应有很过的H(x1,x2,…,xn)。令他们最小的break point k=2。
那么,当数据集的个数N=1时,every
mH(N)
=2
当N=2时,every
mH(N)
最大为3,即都小于4
当N=3时,我们想知道此时
mH(N)
可取的最大值。
首先由于2最小的break point,则3也是break point。那么N=3时,有
mH(N)<23
,那最大为多少呢?
假设 三个点的
mH(N)
为1,就形如,很显然任意两个点都不可能的
mH(N)=4
,所以三个点的
mH(N)
为1满足条件。
同理
假设 三个点的 mH(N) 为2,就形如,很显然任意两个点都不可能的 mH(N)=4 ,所以三个点的 mH(N) 为2满足条件。
假设 三个点的 mH(N) 为3,就形如,很显然任意两个点都不可能的 mH(N)=4 ,所以三个点的 mH(N) 为3满足条件。
假设 三个点的 mH(N) 为4,就形如,很显然当取x2,x3时,该两点的的 mH(N)=4 ,不满足最小break point 为2,所以这种情况不满足条件。
但是,当 三个点的 mH(N) 为4,且形如,很显然任意两个点都不可能的 mH(N)=4 ,所以三个点的 mH(N) 为4满足条件。
当 三个点的
mH(N)
为5,且形如
或者
或者
,很显然加深颜色的两个点的 mH(N)=4 ,所以三个点的 mH(N) 为5满足条件。
终上所述,当N=3时,我们想知道此时
mH(N)
可取的最大值为4,才能满足最小的break point 为2
发现,对于最小break point 为2 时,
N=1时,every
mH(N)=21
N=2时,every
mH(N)
最大为3,接近
22
N=3时,every
mH(N)
最大为4,远小于
23
那么是否说明,当N增大,
mH(N)
增加的速度远小于
2N
不用注意 H的表达方式
我们定义bounding function B(N,K),表示当break point =k时,
mH(N)
的最大可能取值。其实上面讨论的就是B(1,2),B(2,2),B(3,2)的值。
我们发现B(N,K)的值与H的细节,函数形式无关,如下图
现在,我们来探讨关于B(N,K)的值
斜对角线上,由于N 小于k,则填的值一定为
2N
当k=1时,则
mH(N)<21
,则填的值一定为1
对角线上的值填为
2N−1
,这我不是很清楚为什么。。。
那剩下的那部分的值为多少呢???
假设我们要求B(4,3)的值
我们来看看,B(4,3)的与B(3, ×)的值有什么关系。
我们用上面同样的方法求出B(4,3)具体的形式为
则B(4,3)的值为11
我们将上面的图形适当的移一下位置,为
橘色的表示“成双成对”,即他们x1,x2,x3两两相同,只是x4正好相反。而紫色的部分表示“形单影只”,完全不一样
则可把上图标记为
则有
对于B(4,3)表示N=4,k=3
我们就把x4去掉,看看满不满足k最小为3
要想k最小值为3,及要求.
即
然而对于仅有
α
如果x1,x2,x3有任意两个可以“shatter”2 input,假设是x2,x3。那么x2,x3,x4就一定能够”shatter” 3 input。因为对于橘色部分,x4可以正好相反。然而要求B(4,3)不能”shatter” 3 input。所以为了让不能shatter 3 input ,那么就不能让
α
shatter 2 input .
所以有
终上所述,可以总结为
把上面的公式进行推广
即我们求出了B(N,K)的上限,也就是
mk(N)
上限的上限
我们根据数学归纳法可以得到结论为
表达式的最高次幂为
NK+1
我们的原始目的是想证明 机器学习是否可行。上上一次笔记讲解了机器学习再H是有限且数据很大的情况下是可行的,而上一次和这一次笔记就是用来证明H再无限的情况下是可行的。那么这的思想就是我们能否用有限的值(
mH(N)
)来代替。而这一次笔记的前面就是讲解
mH(N)
的上限的上限。
下面就要证明
mH(N)
是可替换的。
证明得到的最终结果为
(这好像是VC维公式)
只要我们有一个break point,那么就可以怎么再N足够大的情况下,满足 Ein约等于Eout