台大机器学习——可行性证明3(Break Point出现时成长函数的边界)

  • Break Point 对成长函数的限制

    回顾上一节提到的4个成长函数:

    假设对于一个问题,minimum break point k = 2(对于任意2个输入,H不能穷尽所有划分),基于该条件我们做出推论:

    即当 N=2 时,成长函数一定 < 2^2=4,所以此时成长函数的 maximum possible value = 3。

    当 N=3 时,我们看看成长函数的 maximum possible value 等于多少?

    任意3个输入(x1, x2, x3),我们一定能找到以下3个合法的划分:

    在寻找更多划分之前,我们要明确一点就是因为k=2,所以(x1, x2, x3)中任意2个点都不能被shatter,所以下面这个划分不可能出现,因为(x2, x3)所有4种可能的划分被穷尽了:


    但是接下来的划分就可能了:

    再之后,你发现不论再寻找什么划分,总有两个点被shatter:

                

    所以,N=3时成长函数的maximum possible value就是 4 了。而且 4 << 2^3=8。

    综上我们发现,当 N > break point k,成长函数的maximum possible value显著下降并远小于 2^N

    上一节课最后提出了一个猜测:

     

    如果下面的不等式成立,则猜测一定成立:


  • 边界函数 Bounding Function(成长函数的上限)

    边界函数 Bounding Function B(N,k) 的定义:

    根据之前讨论的结果,我们知道:

    所以有:

    当k=1时,给定任意N个输入,只能有一种划分的可能,因为任何第二种划分都会导致有一个点被shatter,这与k=1相悖,所以:

    当 N<k 时,N个输入一定都能被shatter,所以 B(N,k)=2^N:

    当 N=k时,首次出现N个输入不能被Shatter,所以 B(N,k)=2^N - 1 一定没错:

    综上,在确定B(N,k)的过程中我们已经把软柿子都捏了,现在讨论N>k的情况。

    根据上图,B(3,2)=B(2,1)+B(2,2)=1+3=4;B(3,3)=B(2,2)+B(2,3)=3+4=7。。。

    我们猜测 B(N,k) 与 B(N-1, k-1) + B(N-1, k) 也许有关系。

    以B(4,3)为例,4个输入中任意3个都不能被shatter,用一个简单的程序遍历所有2^16个划分组合得到B(4,3)=11

    那些数学家们把这11个划分很鸡贼的分成两组(╮(╯▽╰)╭):

    其中橙色的划分总能找到自己相似的“伴侣”,它与“伴侣”的(x1, x2, x3)相等,x4相反,有 2α 个;

    紫色的划分总是“单身”,他找不到那个(x1, x2, x3)与它相等的“伴侣”,有 β 个

    所以:  


    由于k=3,所(x1, x2, x3)不能被shatter:

    由于x4成对,且(x1, x2, x3, x4)不能shatter任意3个,所以(x1, x2, x3)不能shatter任意2个:

    所以

    最终

     -----------------(1)

    边界函数的成长性为O(N^(k-1))。

    不等式(1)可以用数学归纳法证明:

    实际上,不等式(1)中的等号是恒成立的,证明如下:

    证明来自课程论坛,这位仁兄的ID是:Kai-Chi Huang


  • 对 VC Bound 的图像化证明

    把备选函数集H中备选函数的数量M用成长函数代替,我们得到:

    但是用林老师的话说,这个公式是个“数学上错误的版本”,不能直接使用,正确的公式应该是:

    我们看看这些多出来的系数都是怎么来的。

    ------------------------------------------------------------------------------------------------------------

    首先,E-out(h)衡量的是h在全体输入上的错误,全体输入包含了未知的无限多个输入,所以我们想在训练数据集D之外再搞一个测试数据集D',然后用E'-in(h)代替E-out(h),我们把D'叫做 Ghost Data(鬼魂数据?幻影数据?what ever..)。

    如果存在h在D上使得

     

    那么有很大概率使得h在D'上得到的错误 E'-in(h)与E-out(h)的距离相比E-in(h)与E-out(h)应该更近:

    结合图片解释就是,样本犯错的比例有很大的概率接近全体犯错的比例,所以下面的不等式成立:

    因为

    所以以上这两个事件没有交集,故:

    综合不等式(1)和(2)得到:

    所以

    (以上证明过程来自课程论坛 by @hsiao-fei liu)

    -------------------------------------------------------------------------------------------------------------

    上述不等式两边乘以2,右侧是事件【BAD】,左侧是事件发生概率的一个上边界,如果我们用去重后的Union Bound拓展这个边界,得到:

    ----(3)

    -------------------------------------------------------------------------------------------------------------

    进一步,做一个等效替换:

    相当于我们关心D上的错误与(D+D')上的错误之间的差距

    不等式(3)变成:

    这就是VC Bound:

    它提供了一个对机器学习结果可靠性的衡量,因为成长函数是N的多项式,所以BAD事件发生的概率随着N的增大而显著下降。

    需要强调的是,以上所讲的只适用于二元分类问题,因为我们在推导 break point、成长函数和边界函数时一直都基于二元分类这一前提。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值