本节我们讨论上限函数,所谓的上限函数就是,成长函数露出Break Point的点。只要我们知道了该点的值,就可以知道Hypothesis Set最多可以画多少条Dichotomy。
第20节的时候我们学到成长函数,当时我们分别对几种不同的分布进行了讨论,分别推导出了不一样的成长函数。但是学完本节后我们就不需要关心具体是什么成长函数,直接可以根据上限函数推算出Dichotomy的数量了。
归纳讨论上限函数
已知B(2,2)和B(3,2)
下面让我们开始进行推导吧。在上一节我们证明已经算出当break point等于2(即k=2),N等于2和3的时候,dichotomy的数量分别为3和4。如下图:
当K=1
如果k=1,则表示break point为1,即 mH(N)<21 m H ( N ) < 2 1 ,那很明显就算出 mH(N)=1 m H ( N ) = 1 ,所以当k=1的时候,所有的值都为1。如下图:
当K>N
如果K>N呢?因为N比K都小,根据break point的定义,我们知道对N个点画dichotomy,最多可以画出 2N 2 N 条dichotomy,但往往我们不能够全部画出 2N 2 N 那么多条,而是到第k条了就不能继续画了,因为k是break point。而现在K>N,所以全部 2N 2 N 条都可以全部画出。如下图:
当K=N
接下来讨论N=K的情况,观察上图,我们发现其实我们已经填充了两个点,分别是B(1,1)=1和B(2,2)=3,因为我们知道不管怎么样,我们都只能做出 2N 2 N 种可能,永远小于,不可能等于,又因为N=K,所以只需要 2N−1 2 N − 1 即可。如下图:
当K< N
这种情况是比较不容易算出来的,因此我们做一种推测,例如现在我们要找B(4,3)的值,它是否与B(3, ?)这一行有关系呢?毕竟B(3, ?)已经全部已知了呀!
如果要算出B(4,3)的值和B(3, ?)之间的关系,我们势必要用穷举法算出B(4,3)的值,然后再反过来找到他们之间的关系。这里我们不具体展开B(4, 3)的计算过程,只给出最终结果B(4,3)=11。如下图:
下面我们要对左图进行整理,把 X1到X3 X 1 到 X 3 一样的都放到一起,标成橘色;所有不一样的都标成紫色放在一起。变成下图:
现在我们令橘色的部分为
2a=8
2
a
=
8
,紫色的部分为
β=3
β
=
3
,那么
B(4,3)=11=2a+β
B
(
4
,
3
)
=
11
=
2
a
+
β
。如下图:
然后我们把
X1到X3
X
1
到
X
3
单独拿出来,则可变成下图:
又因为B(4,3)的break point在3上面,所以任意的三个点都不能shatter,即
X1到X3
X
1
到
X
3
任意三个点都不能被shatter,又因为
a+β
a
+
β
是从
X1到X3
X
1
到
X
3
产生的dichotomy,所以我们可以推断出
a+β
a
+
β
也不能shatter。即
a+β≤B(3,3)
a
+
β
≤
B
(
3
,
3
)
,现在我们终于把B(4,3)和B(3, ?)联系起来了。
现在再移除掉
β
β
部分,剩下
a
a
,从选出两个同样也不能被任意两个点shatter,即
a≤B(3,2)
a
≤
B
(
3
,
2
)
。如下图:
所以现在我们可以得出下图的演算过程:
进一步泛化得到如下公式:
所以现在我们可以根据上面这个公式算出表中所有的值来了,如下图:
至此,我们讨论完了所有的情况,但是上限函数还有更简洁的表示方法,可以用组合的方式全部表达出来,如下:
上限函数组合表达式
在知道了break point的值之后,上限函数的公式可以用组合的方式表达如下:
为了更形象的阐明该公式,我们找点B(5,4)来进行说明:
B(5,4)≤∑k−1i=0CiN=C05+C15+C25+C35=26
B
(
5
,
4
)
≤
∑
i
=
0
k
−
1
C
N
i
=
C
5
0
+
C
5
1
+
C
5
2
+
C
5
3
=
26
这跟我们之前计算的结果一模一样,验证了我们的猜想。
同理我们可根据上面的公式计算出各个成长函数的上限函数,如下:
好了这节就到这里,比较难理解,欢迎大家一起讨论。
===========================懵逼分割线===========================
欢迎大家加入Q群讨论:463255841
===========================懵逼分割线===========================