Recap and Preview

机器学习流程图

第一节课,介绍机器学习是要找到最好的g,使g≈f(目标函数),保证Eout(g)≈0。第二节课,找方法使Ein≈0,如PLA和pocket。第四节课,将Ein(g)和Eout(g)联系起来,Ein(g)≈Eout(g)。

将机器学习分成两个主要问题:

1.Ein(g)和Eout(g)是否足够接近

2.怎么让Ein(g)越小

M:hypothesis set的数量

当M很小的时候,坏事情发生很少,即Ein(g)和Eout(g)是足够接近(问题1)。演算法选择有限,则不一定能找到让Ein(g)≈0的g(问题2)。当M很大的时候,演算法选择很多,更容易选到让Ein(g)≈0的g(问题2)。但是坏事情发生的几率增加,就无法保证Ein(g)和Eout(g)是足够接近(问题1)。

所以选择适合的M是很重要的,不能太大也不能太小。

Effective Number of Line

B代表遇到了不好的事情,将所有的B or,即只要遇到不好的事情就都不好。如果坏事不重叠,最大值就是发生各个坏事的概率相加。当M为无限大的时候,上方不等式右边值会很大,Ein(g)和Eout(g)就不接近。但是BAD events Bm的方式扩大了上界。坏事情是互相叠起来的。直接加,上限就过分大。

要找出不同的BAD events之间的重叠部分,将无限个hypothesis分成有限类。

例子,在平面上用直线将点隔开。如果平面上只有一个点x1,那么只有两条线,一条线使x1是圈,一条线使x1是叉。

如果平面上是2个点,则是4条线。

如果平面上是3个点,则是8条线。

但是,对于有的情况,少于8条线。

如果平面上是4个点,无法找到线分成16个类别,最多只有14条线。

发现,有效直线的数量一定满足≤2N,N为点的数量。用effectiove(N)替换M,霍夫丁不等式可以写成:

而effective(N)≤2N,所以不等式右侧接近0,则Ein(g)和Eout(g)接近。即使有无限多条线,只要可以换成effective(N),机器学习也是有可能的。

Effective Number of Hypotheses

dichotomy,二分,用一条线把点分成两部分(圈圈、叉叉)。hypotheses H对输入空间所有值进行取值,dichotomy H只对n个特定的点取值。h的大小可能是无限的,而d的最大值是2N。能不能用dichotomy set的大小把M换掉?

N代表输入点的个数。mH就是上文提到的有效线的数量。mH(N)称为成长函数,代表在N个点的集合中,某集合的dichotomy最大的值,上界为2N

计算成长函数:

Positive Rays,有一个门槛值,门槛值左右为+1和-1。N个点把线切成N+1个区域段,则有N+1种dichotomy。远小于2N

Positive Intervals,对某一个范围内表示+1,范围外是-1。如果两个点不在一段里就是N+1取2端放两个取值点,如果两个取值点放在一段里面则线上点全部都是叉。


Convex Sets,凸的集合里面是+1(blue),凸的集合以外是-1(red)。左侧是Convex,右侧不是Convex。

一种可能的输入,在一个圆上分布x,而所有分类情况都能被hypotheses set覆盖,称作shattered。圆上有几个取﹢点,就用几边形把他们连接起来。所有总能找到一个数据集分布使得hypotheses set对N个输入所有分类情况都能做到。如果找到一个数据分布集,hypotheses set对N个输入所有分类情况都能做到,成长函数就是2N

Break Point

四种不同的成长函数:

对于positive rays和positive intervals属于polynomial(多项式),当N够大的时候,mH(N)增长的不快,exp下降的快,所有右侧值(坏事发生的几率)越来越小,可能很接近0。convex sets属于exponential(指数式)。mH(N)指数增长exp指数下降,不确保N足够大的时候Ein和Eout就很接近。那么2D perceptrons属于polynomial还是exponential?

对于2D perceptrons,3个点,可以做出8种所有的dichotomy,4个点无法做出所有16个点的dichotomy。那么4就称作break point(5,6,7…同)。只要k个点无法做出所有dichotomy那么k+n个点也无法做出。对于break point,mH(k)<2k

满足mH(k)≠2k的k的最小值就是break point。四种不同的成长函数的break points:

猜想,break points 可能跟成长函数的成长速度有关。positive rays 的break point 是2,成长速度是O(N)。positive intervals的break point 是3,成长速度是 O(N2)。那么2D perceptrons 的break points 是4,成长速度是不是 O(N3)?

Summary

林轩田机器学习基石笔记5 - Training versus Testing相关推荐

  1. 林轩田机器学习基石笔记6 - Theory of Generalization

    Restriction of Break Point 四个成长函数与break point: 假设一个hypotheses,它的break point是2.那么当N=1的时候可以取到两个dichoto ...

  2. 林轩田机器学习基石笔记14:Validation

    0. 前言 之前的课程讲解了为了避免overfitting,可以使用regularization方法来解决.在之前的EinEinE_{in}上加上一个regularizer,生成EaugEaugE_{ ...

  3. 林轩田机器学习基石笔记(第6节)

    第5节主要介绍了机器学习与统计学之间的关系,不用做太多了解,所以也可以跳过,直接进入本节. 今天主要学习的问题就是如何让机器解决是非题,仍然以银行发信用卡为例,就是根据客户提交的资料去判断要不要给该客 ...

  4. 林轩田机器学习基石笔记(第10-13节)——机器学习的分类

    第10节主要讲到了多元分类(Multiclass Classification)的概念. 第11节主要简单介绍了监督学习(Supervised).非监督学习(Unsupervised).半监督学习(S ...

  5. 林轩田机器学习基石笔记3:机器学习分类

    笔者正处于学习阶段,任何问题欢迎指正. 0. 前言 机器学习通过样本输出维度,输入维度,学习方法等可以分成许多类别,这篇文章主要屡一下这些关系,首先看一下我做的思维导图,下面我会对每一种类别进行介绍. ...

  6. 林轩田机器学习基石笔记3—Types of Learning

    上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类.而对于线性不可分的情况,可以使用Pocket Algorithm来处理.本节课将主要 ...

  7. 林轩田机器学习基石笔记(第23-24节)——上限函数Bounding Function

    本节我们讨论上限函数,所谓的上限函数就是,成长函数露出Break Point的点.只要我们知道了该点的值,就可以知道Hypothesis Set最多可以画多少条Dichotomy. 第20节的时候我们 ...

  8. 林轩田机器学习基石笔记2 - Learning to Answer Yes/No

    Perceptron Hypothesis Set 感知器,一个具体的例子:评定要不要给用户信用卡,给(y=+1),不给(y = -1) xi:维度 wi:权重 threshold:阈值 简化符号,将 ...

  9. 台湾大学林轩田机器学习基石课程学习笔记13 -- Hazard of Overfitting

    红色石头的个人网站:redstonewill.com 上节课我们主要介绍了非线性分类模型,通过非线性变换,将非线性模型映射到另一个空间,转换为线性模型,再来进行分类,分析了非线性变换可能会使计算复杂度 ...

最新文章

  1. Spring - Java/J2EE Application Framework 应用框架 第 4 章 属性编辑器,数据绑定,校验与BeanWeapper(Bean封装)
  2. OpenGL 各类库的解析 gl/glu/glut/freeglut/glfw/glew
  3. 适合oracle运行的软件环境,创建最适合的Oracle运行环境
  4. c语言在一个文件后面添加数据类型,c语言简单入门之简单运行和数据类型
  5. Chrome开发者工具详解(4)-Profiles面板
  6. [转]浅谈CMD和win powershell的区别
  7. Silverlight与Flash在FF中的一些注意点
  8. 爬虫神器:一条命令下载《复仇者联盟3:无限战争》
  9. 【线程】——单例模式
  10. Scratch:海龟绘图(九)
  11. HttpClient那些事儿
  12. RS485使用串口输出最后一个字节固定为FF
  13. 如何在word2016中使用自带的公式编辑器
  14. UML核心元素--参与者
  15. 线上实习 牛刀小试——增删改查
  16. vue v-modle实现组件之间的动态传值
  17. 微信小程序getPhoneNumber获取手机号,解决code失效问题
  18. 基于联合独立成分分析(jICA)的EEG与fMRI耦合与解耦
  19. QT+OSG/osgEarth编译之四十三:jasper+Qt编译(一套代码、一套框架,跨平台编译,版本:basisjasper-2.0.12)
  20. 转行成为大数据工程师要怎么做?

热门文章

  1. 师傅!华为eNSP报错啦!别担心,一篇文章教会你
  2. linux load averages 和 cpu 使用率
  3. 企业资源计划-MPS计算(附详细解题步骤及计算过程)
  4. idm文件类型末知怎么办 idm文件类型error
  5. element UI的带输入建议el-autocomplete总结(详细,全)
  6. Python相关库的安装
  7. 夜天之书 #26 Four-Factor OSC
  8. office365:PowerPoint新功能设计器,让排版更轻松
  9. 号码认证平台有哪些?号码认证平台费用?
  10. Sophus库(Linux下)的安装(模板类.hpp,非模板类.h)