机器学习基石的泛化理论及VC维部分整理(第五讲)
第五讲 Training versus Testing
一、问题的提出
\(P_{\mathcal{D}}\left [ BAD \mathcal{D} \right ] \leq 2M \cdot exp(-2\epsilon^2N)\)
\(\Leftrightarrow P_{\mathfrak{D}}\left [ \left | E_{out} - E_{in} \right | > \epsilon \right ] \leq 2M \cdot exp(-2\epsilon^2N) \)
(1) 当\(M < \infty \) 时,\(N \) 足够大,则说明犯错误的概率是比较小的,可推导出 \(E_{in} \approx E_{out}\),如果\(E_{in}\)接近于 0 时,则 \(E_{out}\)接近于零。
(2) 上一节林老师也说了,当\(M = \infty \) 时,就没法学习了,因为上界比较大,犯错误的概率比较大,得出无法进一步的学习。学出来的错误概率比较大。
其中 \(M\) 是 Hypothesis Set 中 Hypothesis的个数
但是上一节的时候,算出的概率是 or 的关系,为各个犯错的概率之和, 那么这里面就应该有一部分可能存在着重复了,上界就显得过大了。当\(M = \infty \) 时,是无法进行有效学习的;实际上,由于不同的hypothesis下发生坏事情是有很多重叠的,其实我们可以得到比\(M\) 小很多的上界。
我们可以将这些具有很多重叠的hypothesis进行分组,根据组数来考虑hypothesis set的大小。
二、以二值分类为例来解决hypothesis set的个数上界问题。
从有限个输入数据的角度来看 hypothesis的种类,
(1)最简单的,一个数据,会有两种hypothesis, \(h_{1}(x) = +1 或 h_{2}(x) = -1 \)
(2)两个数据,会有四种hypothesis, 具体如下:
\(h_{1}(x_{1}) = +1, h_{1}(x_{2}) = +1\)
\(h_{2}(x_{1}) = +1, h_{2}(x_{2}) = -1\)
\(h_{3}(x_{1}) = -1, h_{3}(x_{2}) = +1\)
\(h_{4}(x_{1}) = -1, h_{4}(x_{2}) = -1\)
以此类推,对于\(N\)个点来说,最多有\(2^N\)个假设;这里说的是最多,也是最理想的,事实上还会小,那么在什么情况下会小呢? 比如有四个点时,对角线相同的四个点就是不可行的,如下图

就是说找不到一条直线把上面四个点分开,那么上述四个点到底有多少个呢?除了上图,还有圈圈和叉叉交换的情况,应该是\(2^4 - 2 = 14 \) 种
同理可知,当\(N\) 比较大的时候,有效 hypothesis的数量应该是远远小于 \(2^N\)的,
在这种情况下,林老师给了一个定义,叫做dichotomy,字面意思是二分法,其实就是 Effective Hypothesis
看到论坛里也有同学问道什么叫 from the eyes of data, 其实就是从数据的角度去看,我们有多少个有效的Hypothesis,那么这里有效的Hypothesis个数会随着数据的个数变化而变化,从上面的例子可以看出来,这个个数将随着数据的个数增加而增加,在林老师的视频里,又给出了一个函数,叫做 Growth Function.
三、Growth Function
\(Growth Function = m_{H}(N)\),具体的函数就记为\(m_{H}(N)\)了。
林老师举例说明了几类问题的Growth Function:
(1)\(\mathcal{X}=\mathcal{R} \) (一维实属空间), \( positive ray, h(x) = sign(x-a) \),就是说当\(x > a \)时(\(a\) 是参数),\(h(x) = +1, otherwise h(x) = -1\)
它的Growth Function为:\( m_{\mathcal{H}}(N) = N + 1\),林老师在视频里也画了一条射线,把\(N\)个点标好,那么\(a\)的取值范围可有\(N + 1\)个,两个点之间的为\( N - 1\)个, 全是圈圈的一个,全是叉叉的还有一个,所以是\(N - 1 + 2 = N + 1\)个。
视频上还有个Fun time, 说如果是positive and negative rays,怎么办呢?也就是说可能有两种情况,原来 \(x > a \) 时,\(h(x) = +1, otherwise h(x) = -1\),如果还有negative的话,就还有一种\(x > a \) 时,\(h(x) = -1, otherwise h(x) = +1\),那么情况就有些变化了,如果\(a\)在两点之间的话会有\( 2(N - 1)\)个,而两端的还是只有一个分法,总共加起来就是会有\(2N\)个。
(2)\(\mathcal{X}=\mathcal{R} \) ,\( x \in [a,b), h(x) = +1, otherwise -1\),这有两个参数\(a,b\)。 则它的Growth Function为什么?
可以分析一下,假设在一条射线上标\(N\)个点,那么总共有\(N + 1\)个区间,这个问题可分为两类,一类是\(a, b \) 取不同区间的,那么就是\( \binom{N+1}{2}\) 种取法,还有一类是\(a, b \)在一个区间内,那么这个就只有一种取法,即所有点都为叉叉。 故Growth Function为 \( \binom{N+1}{2} + 1 = \frac{1}{2}N^2 + \frac{1}{2}N +1\)
(3)\(\mathcal{X}=\mathcal{R}^2 \) ,在二维实数空间里,凸集里,\(h(x)\)为一个任意的凸多边形,在多边形内部的为1,外部的为 -1,Growth Function为 \(2^N\)
(4)Perceptron的Growth Function不知道,但是我们知道最大可shatter的点个数,为3,4个时就没法shatter了,因为\(2^4 = 16, \)而在四个点时,有两种情况不能发生,所以四个点不能被shattered,
根据Growth Function可以得到另外一个重要概念,Break Point, 就是可被Shattered的最大点个数,也就是说当 \(m_{\mathcal{H}}(k) < 2^k\),这个\(k\)之后的就是Break Point,顾名思义,Break Point在这个点就Break了,什么Break呢?是全部shattered的情况被中断了。
后面讲到,这个就是VC Bound。
对于之前的几个例子我们可知,(1)的Break Point是2,(2)的Break Point是3,(3)的Break Point没有,(4)的Break Point是4。
机器学习基石的泛化理论及VC维部分整理(第五讲)的更多相关文章
- 机器学习基石的泛化理论及VC维部分整理(第六讲)
第六讲 第五讲主要讲了机器学习可能性,两个问题,(1)\(E_{in} 要和 E_{out}\) 有很接近,(2)\(E_{in}\)要足够小. 对于第一个假设,根据Hoefding's Inequa ...
- 机器学习基石的泛化理论及VC维部分整理
第四讲 机器学习的可行性 一.Hoeffding's Inequality \(P[\left | \nu -\mu \right |>\epsilon ] \leq 2exp(-2\epsi ...
- 机器学习基石笔记:07 The VC Dimension
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...
- 【机器学习基石笔记】七、vc Dimension
vc demension定义: breakPoint - 1 N > vc dimension, 任意的N个,就不能任意划分 N <= vc dimension,存在N个,可以任意划分 只 ...
- 《机器学习基石》---VC维
1 VC维的定义 VC维其实就是第一个break point的之前的样本容量.标准定义是:对一个假设空间,如果存在N个样本能够被假设空间中的h按所有可能的2的N次方种形式分开,则称该假设空间能够把N个 ...
- 机器学习基石7-The VC Dimension
注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 前几节课着重介绍了机器能够学习的条件并做了详细的推导和解释.机器能够学习必须满 ...
- 机器学习基石:07 The VC Dimension
当N大于等于2,k大于等于3时, 易得:mH(N)被Nk-1给bound住. VC维:最小断点值-1/H能shatter的最大k值. 这里的k指的是存在k个输入能被H给shatter,不是任意k个输入 ...
- 【转载】VC维的来龙去脉
本文转载自 火光摇曳 原文链接:VC维的来龙去脉 目录: 说说历史 Hoeffding不等式 Connection to Learning 学习可行的两个核心条件 Effective Number o ...
- 机器学习基石12-Nonlinear Transformation
注: 文章中所有的图片均来自台湾大学林轩田<机器学习基石>课程. 笔记原作者:红色石头 微信公众号:AI有道 上一节课介绍了分类问题的三种线性模型,可以用来解决binary classif ...
随机推荐
- QTREE 树链剖分---模板 spoj QTREE
<树链剖分及其应用> 一文讲得非常清楚,我一早上就把他学会了并且A了这题的入门题. spoj QTREE 题目: 给出一棵树,有两种操作: 1.修改一条边的边权. 2.询问节点a到b的最大 ...
- HTTP - 条件请求
当 HTTP 请求包含 If-XXX 这种样式的首部时,服务器会对附带的条件进行判断,只有判断指定条件为真,才会执行请求.这样的请求首部有五个,分别是 If-Modified-Since.If-Unm ...
- spring+hibernate管理多个数据源(非分布式事务)
本文通过一个demo,介绍如何使用spring+hibernate管理多个数据源,注意,本文的事务管理并非之前博文介绍的分布式事务. 这个demo将使用两个事务管理器分别管理两个数据源.对于每一个独立 ...
- Linux C编程--打开和关闭流
以下函数用于打开和关闭一个流.#include <stdio.h>FILE * fopen (const char *pathname, const char *opentype);int ...
- 如何查看Windows8.1计算机体验指数评分
如果你已经安装使用了Windows 8.1,你就会发现自从Vista时代开始的计算机体验评分消失了,在文章<微软取消Windows 8 计算机评分功能>中,我猜测了微软取消评分功能的可能原 ...
- JAVA之Switch语句
switch case语句是用来判断case后面的表达式是否与switch的表达式一致,符合的话就执行case语句,不符合则break跳出.而default是当没有符合case的条件下执行的(它不用b ...
- 利用ADO方式连接SQLServer2008出现的问题
在利用ADO方式连接SQLServer2008的过程中遇到了很多问题,在网上也没有找到许多有利的信息,花了两天时间,终于把所有问题都搞定了.在这里和大家分享一下经验,希望后来者能少走弯路. 很多教程说 ...
- 个人实验记录之EIGRP基本配置
一.EIGRP的基本配置 1(1).进入接口配置IP R1(config)#inter s1/0 R1(config-if)#ip address 200.1.1.1 255.255.255.0 R1 ...
- 在Tomcat中配置基于springside的项目
注意点: Tomcat默认没有配置Transaction,需要在/Conf/Context.xml配置 1 <Transaction factory="org.objectweb.jo ...
- 【Android学习之旅】1、Android入门介绍
1.Android介绍 1.1 Android的系统架构 下面这张图展示了Android的系统架构: 图中可见,Android大致可以分为四层架构,五块区域: Linux内核层(Linux Kerne ...