2019独角兽企业重金招聘Python工程师标准>>>

  • 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、成长函数和边界函数时一直都基于二元分类这一前提。

转载于:https://my.oschina.net/findbill/blog/213895

6 - VC Bound (P[BAD]的真正上限)相关推荐

  1. NTU-Coursera机器学习:VC Bound和VC维度

    Break Point 对成长函数的限制 上一讲重点是一些分析机器学习可行性的重要思想和概念,尤其是生长函数(growth function) 和突破点(break point) 的理解(上一节提到的 ...

  2. [課程筆記] 機器學習基石 - W7. The VC Dimension

    目录 Video1: Definition of VC Dimension Recap: More on Growth Function Recap: More on VC bound VC Dime ...

  3. VC维的来龙去脉(转)

    目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number of Hypotheses Growth Funct ...

  4. 台湾大学林轩田机器学习基石课程学习笔记7 -- The VC Dimension

    红色石头的个人网站:redstonewill.com 前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释.机器能够学习必须满足两个条件: 假设空间H的Size M是有限的,即当N足够大的时候, ...

  5. VC维与DNN的Boundary

    原文链接:解读机器学习基础概念:VC维来去 作者:vincentyao 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effecti ...

  6. 【林轩田】机器学习基石(七)——VC维

    Lecture 7: VC Dimension VC维 ppt video 7.1 Definition of VC Dimension VC维的定义 复习1 上节课,林教授讲到了,当样本NNN足够大 ...

  7. 深入学习理论:VC维(VC dimensions)

    统计学习的目标 在统计学习中,我们可以用两个式子来描述学习的目标.对于我们所学习的模型,希望存在一个很小的正数,满足下面式子: 其中,是我们学习的模型,是模型的期望损失,是模型的经验损失. 这两个式子 ...

  8. 机器学习可行性与VC dimension

    机器学习可行性 在银行评估贷款申请人的授信请求前,会进行风险评估.符合申请则通过,反之驳回.长时间的数据和申请使得银行从中找到了一些规律并开始learning,所以风险评估就是一个learning的过 ...

  9. VC维的来龙去脉 | 火光摇曳

    转载地址:http://www.flickering.cn/machine_learning/2015/04/vc%E7%BB%B4%E7%9A%84%E6%9D%A5%E9%BE%99%E5%8E% ...

  10. 机器学习中样本的样本量的估计(VC维)

    转自:http://blog.csdn.net/uestc_c2_403/article/details/72859021 在机器学习中,如果样本量不足,我们利用模型学习到的结果就有可能是错误的,因为 ...

最新文章

  1. 二叉树 1.0 -- 创建二叉树、遍历二叉树、二叉树常见问题求解
  2. 使用Hystrix实现自动降级与依赖隔离[微服务]
  3. 转:小结datatable的使用
  4. 云炬WEB开发笔记 2-3git详细安装教程及下载太慢的解决办法
  5. C语言合并链表merge linked list(附完整源码)
  6. TS基础2(泛型、枚举、元组)-学习笔记
  7. 事实上着就是MAYA4.5完全手册插件篇的内容
  8. windows下安装nodejs多版本管理工具nvm-windows
  9. 决策树缺失值python_【机器学习笔记之二】决策树的python实现
  10. 为22-29岁的人解释一下什么叫工作(转)
  11. 大量字段表单在PHP便捷处理分享
  12. mysql汽车品牌系列_爬取汽车之家汽车品牌型号系列数据
  13. 支付宝免签在线支付要饭教程
  14. Setup Factory 提示 Invalid start mode : archive filename 的解决办法
  15. GPS原理与接收机————GPS信号及其导航电文
  16. 交叉线 or 直通线 ?
  17. 第十届“中国电机工程学会杯”全国大学生电工数学建模竞赛 B 题 全面二孩政策对我国人口结构的影响
  18. 【opencv】动态背景下运动目标检测 SURF配准差分
  19. Git代码管理流程(分支、fork、tag)
  20. java timezone prc_TimeZone

热门文章

  1. 隐马尔可夫模型三个问题的求解(一)
  2. Logic Pro X for Mac - 音乐制作软件
  3. Android屏幕适配之--通过修改系统的屏幕像素比来实现屏幕的适配效果
  4. CodeForces405B - Jzzhu and Sequences 矩阵快速幂
  5. iOS底层探索之多线程(六)—GCD源码分析(sync 同步函数、async 异步函数)
  6. Python 的NumPy 库中dot()函数详解
  7. 事务 - TCC模式
  8. 独立软件测试团队在敏捷开发中的几个特别实践
  9. c#开发Mongo笔记第九篇
  10. combobox 属性、事件、方法