机器学习基石 5 Training versus Testing

时间:2021-10-09 23:02:24

机器学习基石 5 Training versus Testing

Recap and Preview

回顾一下机器学习的流程图:

机器学习基石 5 Training versus Testing

机器学习可以理解为寻找到 \(g\),使得 \(g \approx f\),也就是 \(E_{out}(g) \approx 0\) 的过程。为了完成这件事情,有两个关键的步骤,一个是保证 \(E_{out}(g) \approx E_{in}(g)\),另一个是保证 \(E_{in}(g) \approx 0\) (这两件事情通常由 “训练” 以及 “测试” 这两个过程来完成),当这两件事情都得到保证之后,我们就可以得到 \(E_{out}(g) \approx 0\),于是完成了学习。

\(M\)(hypothesis 的数目)的取值对这两个问题有影响:

  1. \(M\) 太小,能保证 \(E_{out}(g) \approx E_{in}(g)\),但是不能保证 \(E_{in}(g) \approx 0\);
  2. \(M\) 太大,能保证 \(E_{in}(g) \approx 0\),但是不能保证 \(E_{out}(g) \approx E_{in}(g)\)。

机器学习基石 5 Training versus Testing

下面将尝试解决 \(M\) 较大时,\(E_{out}(g) \approx E_{in}(g)\) 的问题。

Effective Number of Lines

机器学习基石 5 Training versus Testing

对于这个式子,\(M = \infty\) 时,右侧的值很大,\(E_{out}(g) \approx E_{in}(g)\) 不能保证,于是我们尝试用一个合适的数 \(m_H\) 代替式子中的 \(M\),使无穷变成有限。

机器学习基石 5 Training versus Testing

第一个式子中的 \(M\) 来源于 “Union Bound”

机器学习基石 5 Training versus Testing

其中 \(P[B_M]\) 表示的是第 \(M\) 个假设函数 \(h_M\) 在数据集上发生坏事情(即存在 BAD DATA,\(E_{out}(h_M) \neq E_{in}(h_M)\))的概率。

然而当 \(M\) 很大时,假设集中存在许多相似的假设函数 \(h\),它们发生坏事情的概率和情形都很接近,这样使用 “Union Bound” 来计算整个假设集发生坏事情的概率,便存在许多重复的地方,于是算出来的概率会比实际的高很多(over-estimating)。

我们以二元分类来阐述怎么解决这个问题:我们根据分类结果,对 \(h\) 进行分类。

样本点大小 \(N\) 假设集 \(H\) 等价类(考虑最多的情况)
1 2 类:\(\{o\}\)、\(\{x\}\)
2 4 类:\(\{oo\}\)、\(\{ox\}\)、\(\{xo\}\)、\(\{xx\}\)
... ...
N \(2^{N} 类\)

对于一个大小为 \(N\) 的数据集,任意一个假设函数 \(h\) 都属于上述 \(2^N\) 个等价类之间的一个,因此我们可以用 \(2^N\) 来代替原不等式中的 \(M\)。

Effective Number of Hypotheses

我们把上面提到的等价类的概念起一个名字叫做 Dichotomy。

机器学习基石 5 Training versus Testing

具体的 Dichotomy 的 size 与这 \(N\) 个数据的具体取值有关(但是不会大于 \(2^N\)),为方便讨论我们取最大那个 size 来分析,取名为 growth function,记作 \(m_H(N)\)。

机器学习基石 5 Training versus Testing

接下来我们需要计算 \(m_H(N)\),首先考虑几种不同的模型的 \(m_H(N)\)

  • Positive Rays:\(m_H(N) = N + 1\)

    机器学习基石 5 Training versus Testing
  • Positive Intervals:\(m_H(N) = {{N+1} \choose 2} + 1\)

    机器学习基石 5 Training versus Testing
  • Convex Sets:\(m_H(N) = 2^N\)

    机器学习基石 5 Training versus Testing

总结如下:

机器学习基石 5 Training versus Testing

Break Point

我们希望 \(m_H(N)\) 是多项式形式而不是指数形式的,这样才能保证 \(E_{out}(g) \approx E_{in}(g)\):

机器学习基石 5 Training versus Testing

我们引入一个概念叫 break point,定义如下所示

机器学习基石 5 Training versus Testing

于是上面所提到的四种模型的 break point 如下所示:

机器学习基石 5 Training versus Testing

我们猜测 \(m_H(N)\) 与 break point 有下面的关系:

  • no break point:\(m_H(N) = 2^N\)
  • break point \(k\):\(m_H(N) = O(N^{k-1})\)

如果猜测成立,那么在有 break point 的情况下,\(m_H(N)\) 便是一个多项式形式,这样就能保证 \(E_{out}(g) \approx E_{in}(g)\) 了。

机器学习基石 5 Training versus Testing的更多相关文章

  1. Coursera台大机器学习课程笔记4 -- Training versus Testing

     这节的主题感觉和training,testing关系不是很大,其根本线索在于铺垫并求解一个问题:    为什么算法PLA可以正确的work?因为前面的知识告诉我们,只有当假设的个数有限的时候,我们才 ...

  2. 【Training versus Testing】林轩田机器学习基石

    接着上一讲留下的关子,机器学习是否可行与假设集合H的数量M的关系. 机器学习是否可行的两个关键点: 1. Ein(g)是否足够小(在训练集上的表现是否出色) 2. Eout(g)是否与Ein(g)足够 ...

  3. 林轩田机器学习基石课程学习笔记5 — Training versus Testing

    上节课,我们主要介绍了机器学习的可行性.首先,由NFL定理可知,机器学习貌似是不可行的.但是,随后引入了统计学知识,如果样本数据足够大,且hypothesis个数有限,那么机器学习一般就是可行的.本节 ...

  4. 机器学习基石:05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  5. 机器学习基石笔记:05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  6. 05 Training versus Testing

    train:A根据给定训练集D在H中选出g,使得Ein(g)约等于0: test:g在整个输入空间X上的表现要约等于在训练集D上的表现,使得Eout(g)约等于Ein(g). 如果|H|小,更易保证t ...

  7. 理解机器为什么可以学习(二)---Training versus Testing

    前边由Hoeffding出发讨论了为什么机器可以学习,主要就是在N很大的时候Ein PAC Eout,选择较小的Ein,这样的Eout也较小,但是当时还有一个问题没有解决,就是当时的假设的h的集合是个 ...

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

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

  9. 台大《机器学习基石》课程感受和总结---Part 2 (转)

    转自:http://blog.sina.com.cn/s/blog_641289eb0101e2ld.html Part 2总结一下一个粗略的建模过程: 首先,弄清楚问题是什么,能不能用机器学习的思路 ...

随机推荐

  1. 探真无阻塞加载javascript脚本技术,我们会发现很多意想不到的秘密

    下面的图片是我使用firefox和chrome浏览百度首页时候记录的http请求 下面是firefox: 下面是chrome: 在浏览百度首页前我都将浏览器的缓存全部清理掉,让这个场景最接近第一次访问 ...

  2. 调用百度地图API

    http://lbsyun.baidu.com/index.php?title=jspopular

  3. 深入JVM-锁与并发

    一.锁在Java虚拟机中的实现与优化 1.1 偏向锁 偏向锁是JDK 1.6 提出的一种锁优化方式.其核心思想是,如果程序没有竞争,则取消之前已经取得锁的线程同步操作.也就说,若某一锁被线程获取后,便 ...

  4. 3ds max删除了对象后,还是将原来所有对象输出的原因

    原因是场景中除了 几何体 外还有 图形,如下图 将这些图形删除,几何体就都正常输出了.

  5. 【转】appium_python_API文档

    1.contextscontexts(self): Returns the contexts within the current session. 返回当前会话中的上下文,使用后可以识别H5页面的控 ...

  6. (转)IIS设置优化(需根据服务器性能,调整具体参数值)

    IIS7 优化-网站请求并发数>> /*调整IIS 7应用程序池队列长度*/队列长度 5000-20000(原来默认1000,最大65535,建议10000 ) /*调整IIS 7的app ...

  7. [Objective-c 基础 - 2.1] 封装

    A.封装内部细节,根据需求暴露方法 #import <Foundation/Foundation.h> @interface Student : NSObject { int age; } ...

  8. IDEA激活码(2019)

    如您激活出现问题,请点击这里加入:软件激活问题解决群 前言 IDEA已然成为我最热爱的一款编辑器,作为一个从Eclipse阵营转过来的coder,确实能感受到IDEA的强大,而我电脑桌面的Eclips ...

  9. Nordic NRF51822 从零开始系列(外部设备片—MPU6050DMP驱动的移植)

    一.硬件准备             (1)开发板和软件参看 Nordic NRF51822 从零开始系列(一)开发环境的搭建             (2)mpu6050模块 二.前置知识     ...

  10. 30条SQL查询优化原则

    在我们平常的SQL查询中,其实我们有许多应该注意的原则,以来实现SQL查询的优化,本文将为大家介绍30条查询优化原则. 首先应注意的原则 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 wher ...