第六讲

第五讲主要讲了机器学习可能性,两个问题,(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. link与@import区别

    1. link属于XHTML标签,@import是css提供的. 2.link在页面加载时加载,@import引用的css等到页面被加载完加载. 3.@import只在IE5以上可用,link无兼容问 ...

  2. Lombok(1.14.8) - @Cleanup

    @Cleanup @Cleanup,关闭流.如果最后清理资源的方法不是 close(),可以指定,例如 @Cleanup("clean"). package com.huey.lo ...

  3. JS定位PDF页码。

    由于项目中的PDF文章段落标题有些是英文,对其翻译后需要定位到具体的页码. 查询相关资料及进行尝试后发现可以用如下方法可以实现 function gotoPage(page) {            ...

  4. sql常识-LEFT JOIN

    SQL LEFT JOIN 关键字 LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行. LEFT JOIN 关键 ...

  5. Commons-logging + Log4j

    一.Commons-logging能帮我们做什么? 1.提供一个统一的日志接口,简单了操作,同时避免项目与某个日志实现系统紧密耦合 2.自动选择适当的日志实现系统 a.classpath下查找comm ...

  6. ASP.NET Cache的一些总结分享

    最近我们的系统面临着严峻性能瓶颈问题,这是由于访问量增加,客户端在同一时间请求增加,这迫使我们要从两个方面解决这一问题,增加硬件和提高系统的性能. 1.1.1 摘要 最近我们的系统面临着严峻性能瓶颈问 ...

  7. @Resource和@Autowired的区别

    @Resource的作用相当于@Autowired,只不过@Autowired按byType自动注入,而@Resource默认按 byName自动注入罢了.@Resource有两个属性是比较重要的,分 ...

  8. 洛谷 P1890 gcd区间

    P1890 gcd区间 题目提供者 洛谷OnlineJudge 标签 数论(数学相关) 难度 普及/提高- 题目描述 给定一行n个正整数a[1]..a[n]. m次询问,每次询问给定一个区间[L,R] ...

  9. Bootstrap学习笔记(一) 排版

    Bootsrap是一款优秀的前端开发框架,我从慕课网上开始学习Bootstrap,以下我学习过程中的一些笔记及代码. 首先学习排版: 从Bootstrap网站下载Bootstrap3中文文档(V3.3 ...

  10. Java抓取网页数据

    http://ayang1588.github.io/blog/2013/04/08/catchdata/ 最近处于离职状态,正赶清闲,开始着手自己的毕业设计,课题定的是JavaWeb购物平台,打算用 ...