第六讲

第五讲主要讲了机器学习可能性,两个问题,(1)\(E_{in} 要和 E_{out}\) 有很接近,(2)\(E_{in}\)要足够小。

对于第一个假设,根据Hoefding's Inequality 可以得到,\( P[|E_{in} - E_{out}| > \epsilon] < 2Mexp(-2\epsilon^2N)\)

对于上述的\(M\)来说,如果 \(M < \infty\),则当\(N\)足够大时,\(P\)会比较小,也就是坏事情出现的概率比较小,机器学习是可能的,但是当\(M = \infty\)时,就无法进行学习了。

那怎么办?考虑到or的过程中有不少重叠的部分,就从数据的角度来看到底有多少种可能的 effective Hypothesis,多少种可能的Hypothesis就是成长函数的值,Break Point的概念也就出来了,就是当\(m_{\mathcal{H}}(k) < 2^k\),\(k\)就是Break Point。 Break Point有什么用呢?

本节引出一个新概念,Break Function,是指最小的Break Point  \(k\),Growth Function 可能的最大值,记为\(B(N,k)\)。

当\( k = 1\)时,\( B(N,1) = 2^0 = 1\)

当\( k > N\)时,\(B(N,k) = 2^{N}\)

当\( k = N\)时,\(B(N,k) = 2^{N} - 1\),最大的可能值

根据上述两条会得到一个矩阵的一部分数据,

重点要考虑\( k < N\)的情况,怎么算呢? 林老师给出一个图示,在第六讲的12页-17页,

\(B(4,3)\) 可以有11个可能的Hypothesis,对于Break Point是3来说,应该只能Shattered 2个点的情况,2个点的所有情况是4,那么如果遮住\(x_{4}\),再去重之后应该不超过\(2B(3,3)\)。

也就是说,从三个点扩展到四个点的过程中,只有部分的dichotomy被复制了,我们把这部分被复制的点的个数称为\(\alpha\),没被复制的点的个数称为\(\beta\)。满足\(0\leq \alpha, \beta \leq B(3,3)\)。可知 \( B(3,3) \geq \alpha + \beta ,  B(4,3) = 2\alpha + \beta\) ,单独看\(\alpha\)部分,因为Break Point是 3,故任何三个都不能被Shattered,那么,如果只看\(\alpha\)部分,则,\( x_{1}, x_{2}, x_{3}\) 中任意两个都不能被Shattered,(如果可以,加上\(x_{4}\)则有3个点被Shattered)则,\(\alpha \leq B(3,2) \),有如下三个结果:

(1) \( B(4,3) = 2\alpha + \beta\)

(2)\( B(3,3) \geq \alpha + \beta\)

(3) \(B(3,2) \geq \alpha\)

综合上面三个公式,可得:

\( B(4,3) \leq B(3,3) + B(3,2)\)

推广得:\( B(N,k) \leq B(N-1,k) + B(N-1, k-1)\)

根据数学归纳法,

\( B(N,k) \leq \sum_{i=0}^{k-1}\binom{N}{i}\)

从上面这个式子可以更为欣喜的得到,之前的概率上界是可以在多项式里的,这样当\(N\) 足够大时,出现坏事情的概率就会比较小。这样学习就会更为可行。

下面就要去求解一个上界:VC Bound

want:

\( P[ \exists h \in \mathcal{H}  s.t. |E_{in}(h) - E_{out}(h)| > \epsilon] \leq 2   m_{\mathcal{H}}(N) exp(-2\epsilon^2N)\)

机器学习基石的泛化理论及VC维部分整理(第六讲)的更多相关文章

  1. 机器学习基石的泛化理论及VC维部分整理(第五讲)

    第五讲 Training versus Testing 一.问题的提出 \(P_{\mathcal{D}}\left [ BAD   \mathcal{D} \right ]  \leq 2M \cd ...

  2. 机器学习基石的泛化理论及VC维部分整理

    第四讲 机器学习的可行性 一.Hoeffding's Inequality \(P[\left | \nu -\mu  \right |>\epsilon ] \leq 2exp(-2\epsi ...

  3. 机器学习基石笔记:07 The VC Dimension

    当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...

  4. 【机器学习基石笔记】七、vc Dimension

    vc demension定义: breakPoint - 1 N > vc dimension, 任意的N个,就不能任意划分 N <= vc dimension,存在N个,可以任意划分 只 ...

  5. 《机器学习基石》---VC维

    1 VC维的定义 VC维其实就是第一个break point的之前的样本容量.标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个 ...

  6. 机器学习基石7-The VC Dimension

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释.机器能够学习必须满 ...

  7. 机器学习基石:07 The VC Dimension

    当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...

  8. 【转载】VC维的来龙去脉

    本文转载自 火光摇曳 原文链接:VC维的来龙去脉 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number o ...

  9. 机器学习基石12-Nonlinear Transformation

    注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课介绍了分类问题的三种线性模型,可以用来解决binary classif ...

随机推荐

  1. Java Concurrency - Fork/Join Framework

    Normally, when you implement a simple, concurrent Java application, you implement some Runnable obje ...

  2. Jedis - hello world

    Maven Dependency: <dependency> <groupId>redis.clients</groupId> <artifactId> ...

  3. Javascript之三种按钮点击事件

    学习Javascript必须要先掌握基本的事件方法和语法,这些都是我们学过的也是最基本的.以前忘了总结,所以现在回顾,综合地总结一下,温故而知新. Javascript有三种按钮点击事件,分别为ale ...

  4. 了解下SoftReference

    昨天同事看到别人一段关于实现缓存功能的代码,看完之后他有点不明觉厉,哈哈,然后就给周围同事也看了下,可能之前大家都没用过SoftReference,所以并不明白是如何实现的. 于是我就把代码要了过来, ...

  5. java 调用bash shell脚本阻塞的小问题的解决

    java  调用bash shell脚本阻塞的小问题的解决 背景 使用java实现的web端,web端相应用户的界面操作,使用java调用bash实现的shell脚本进行实际的操作,操作完成返回执行结 ...

  6. js判断输入字符串长度(汉字算两个字符,字母数字算一个)

    js判断输入字符串长度(汉字算两个字符,字母数字算一个) 文本输入时,由于数据库表字段长度限制会导致提交失败,因此想到了此方法验证. 废话不多说上代码: <html> <head&g ...

  7. python pil 安装

    Ubuntu下 sudo pip install pil 安装PIL可能会出现问题,例如安装完成时显示JPEG support not available 或者 ZLIB (PNG/ZIP) supp ...

  8. Unix 进程通信基本概念

    一:通信分为两类: 控制信息的传递: 低级通信 大批量数据的传递: 高级通信 二:基本的通信方式 (a)主从式通信: 通信的双方存在一种隶属关系, 其中主进程是通信过程的控制者,而从进程是通信过程的从 ...

  9. 面向切面的Spring

    在软件开发中,发布于应用中多处的功能被称为横切关注点.通常,这些横切关注点从概念上是与应用的业务逻辑相分离的(但往往直接嵌入到应用的业务逻辑之中).将横切关注点与业务逻辑相分离是AOP所要解决的. 一 ...

  10. iOS 非ARC基本内存管理系列 3-循环retain和@class

    1.@class 使用场景:对于循环依赖关系来说,比方A类引用B类,同时B类也引用A类: 可以看出Person和Card互相引用,此时如果使用#import编译报错!因此当使用@class在两个类中相 ...