1. Recap and Preview(复习和预览 )

复习

  • 在第一节课中讲到,机器学习的目的是训练出分类器gg,使得gg与理想分类器ff近似,也就是分类器的实际错误率(在所有数据中的错误率)Eout(g)≈0E_{out}(g)\approx0。
  • 在第二节课中讲到,我们说无法办法在所有数据中的错误率近似0,但是我们可以使分类器在抽取的样本中错误率近似为0(Ein(g)≈0E_{in}(g)\approx0),像PLA和pocket算法。
  • 在第三节课中讲到,我们对机器学习进行了一个分类。
  • 在第四节课中讲到,我们证明在假设函数集HH中假设函数hh的数量MM有限时,Eout(g)≈Ein(g)E_{out}(g)\approx E_{in}(g)。

机器学习中有两个核心问题:
1. 我们能否保证Eout(g)E_{out}(g)与 Ein(g)E_{in}(g)足够接近?
2. 我们能否使Ein(g)E_{in}(g)足够小?

答案是:

  • 当MM很小时,那么坏数据(样本不能反映整体数据特性)出现的概率非常小(见第四讲分析),根据霍夫丁不等式Eout(g)≈Ein(g)E_{out}(g)\approx E_{in}(g);但是由于假设空间过小,我们不一定能找到一个方案,可以使训练误差接近零。
  • 当MM很大时,那么坏数据出现的概率就会变大,因此不能保证Eout(g)≈Ein(g)E_{out}(g)\approx E_{in}(g);但是由于假设空间比较大,我们能够找到一个方案,使训练误差Ein(g)≈0E_{in}(g)\approx0。

似乎MM大小都不好,怎么解决这个问题呢?我们的处理方法是想办法当MM无限大时将MM换成一个有限的数量。

在红色框中有个“?”表示我们不能确定这种转换是可行的。接下来我们会将如何进行转换。

2. 有效的直线

我们先留着这个问题,看一下之前讲过的union bound问题。
我们之前在推导霍夫丁不等式的过程中,计算不好的事情发生的概率时说明了使用连集来计算union bound(不清楚的可以看第4课),即

不等式左边就表示BAD发生的概率。当MM趋向于无穷大时右边不等式会趋向于无穷大,那么这个上界就没有意义了。但是这个事情不太对,因为当两个假设函数hh很接近时,那这两个假设函数对于整个数据的实际错误率就会很相似。

所以,这两个hh发生坏事的概率就会相当接近,也就是因为这两个h发生坏事而导致整体发生坏事的概率有重叠。因此在union bound时直接相加会导致over-estimating。
那怎么办呢?我们需要找到重叠的部分。我们现在回到第一部分中mhm_h的部分,我们用一个有限的数取代无限的数。
我们想象一个二分类问题,如果我们抽取的样本数量N=1N=1时而假设函数hh数量MM是无限的会发生什么?答案是,hh只有两种情况,要么将该样本分为“O”,要么就是“X”。

那么如果是两个样本N=2N=2时呢?会有四种情况;
N=3N=3时

会发现有232^3种。但是当三个样本处于一条直线时,会发现有两种情况无法完成,也就是≤23\le2^3种。在N=4N=4时会有14种情况,N=5N=5时有22种情况。总之,有效的直线hh的数量M≤2NM\le2^N,我们也称之为effective(N)。如果说,effective(N)的值能远小于2N2^N,我们就能说找到一个有限的数来取代无限的MM了。但是知道这个具体数值目前还比较困难,随着课程的展开会慢慢知晓的。

3. 有效的假设函数

使用一个新的名词:成长函数(growth function),记为mH(H)m_H(H)。成长函数的定义是:对于由N个点组成的不同集合中,某集合对应的dichotomy最大,那么这个dichotomy值就是mH(H)m_H(H),它的上界是2N:

成长函数其实就是我们之前讲的effective lines的数量最大值。根据成长函数的定义,二维平面上,mH(H)m_H(H)随N的变化关系是:

接下来,我们讨论如何计算成长函数。先看一个简单情况,一维的Positive Rays:

若有N个点,则整个区域可分为N+1段,很容易得到其成长函数mH(N)=N+1。注意当N很大时,(N+1)<<2N,这是我们希望看到的
另一种情况是一维的Positive Intervals:

这种情况下,mH(N)=12N2+12N+1<<2Nm_H(N)=\frac{1}{2}N^2+\frac{1}{2}N+1,在N很大的时候,仍然是满足的。
假设在二维空间里,如果hypothesis是凸多边形或类圆构成的封闭曲线,如下图所示,左边是convex的,右边不是convex的。那么,它的成长函数是多少呢?当数据集D按照如下的凸分布时,我们很容易计算得到它的成长函数mH=2Nm_H=2N。这种情况下,N个点所有可能的分类情况都能够被hypotheses set覆盖,我们把这种情形称为shattered。也就是说,如果能够找到一个数据分布集,hypotheses set对N个输入所有的分类情况都做得到,那么它的成长函数就是2N。

4. Break Point

上一小节,我们介绍了四种不同的成长函数,分别是:

其中,positive rays和positive intervals的成长函数都是polynomial的,如果用mH代替M的话,这两种情况是比较好的。而convex sets的成长函数是exponential的,即等于M,并不能保证机器学习的可行性。那么,对于2D perceptrons,它的成长函数究竟是polynomial的还是exponential的呢?
对于2D perceptrons,我们之前分析了3个点,可以做出8种所有的dichotomy,而4个点,就无法做出所有16个点的dichotomy了。所以,我们就把4称为2D perceptrons的break point(5、6、7等都是break point)。令有k个点,如果k大于等于break point时,它的成长函数一定小于2的k次方。
根据break point的定义,我们知道满足mH(k)≠2k的k的最小值就是break point。对于我们之前介绍的四种成长函数,他们的break point分别是:

通过观察,我们猜测成长函数可能与break point存在某种关系:对于convex sets,没有break point,它的成长函数是2的N次方;对于positive rays,break point k=2,它的成长函数是O(N);对于positive intervals,break point k=3,它的成长函数是O(N^2)。则根据这种推论,我们猜测2D perceptrons,它的成长函数mH(N)=O(Nk−1)m_H(N)=O(N^{k−1}) 。如果成立,那么就可以用mH代替M,就满足了机器能够学习的条件。关于上述猜测的证明,我们下节课再详细介绍。

林轩田机器学习基石5笔记:训练和测试的不同相关推荐

  1. 台大林轩田机器学习基石学习笔记(一):The Learning Problem

    这里写自定义目录标题 写在前面 一.What is Machine Learning 二.Applications of Machine Learning 三.Components of Machin ...

  2. 林轩田机器学习基石课程笔记1 -The Learing Problem

    一.什么是机器学习 1.什么是"学习"? 机器学习(Machine Learning),顾名思义,就是让机器(计算机)也能向人类一样,通过观察大量的数据和训练,发现事物规律,获得某 ...

  3. 机器学习 | 台大林轩田机器学习基石课程笔记12 --- Nonlinear Transformation

    课程主页 课程视频和PPT 上一节课,我们介绍了分类问题的三种线性模型,可以用来解决binary classification和multiclass classification问题.本节课主要介绍非 ...

  4. 机器学习 | 台大林轩田机器学习基石课程笔记3 --- Types of Learning

    课程主页 课程视频和PPT 上节课我们主要介绍了解决线性分类问题的一个简单的方法:PLA.PLA能够在平面中选择一条直线将样本数据完全正确分类(前提数据是线性可分的,在高维空间中,可以用一个超平面完全 ...

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

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

  6. 林轩田机器学习基石(Machine Learning Foundations)笔记(一)

    要求两周之内看完林轩田机器学习基石和技法,速度是要的,但是感觉看得太快我会不久就会忘记.因此记录一下梗概,顺便写写看视频时解决的不懂的地方(有种思想就是把知识传播给更多人,有时候就是靠大佬们善意的一句 ...

  7. 台湾大学林轩田机器学习基石课程学习 笔记资料汇总

    笔记: 红色石头的专栏(写得非常好) 课后练习: 機器學習基石(Machine Learning Foundations) 机器学习基石 课后习题链接汇总 https://download.csdn. ...

  8. 机器学习系列笔记:林轩田机器学习基石——机器学习的可行性

    机器学习系列笔记:林轩田机器学习基石--机器学习的可行性

  9. 独家干货 | 林轩田机器学习课程精炼笔记!

    点击上方"AI有道",选择"星标"公众号 重磅干货,第一时间送达 台湾大学林轩田老师曾在coursera上开设了两门机器学习经典课程:<机器学习基石> ...

  10. 台大林轩田·机器学习基石记要

    台大林轩田·机器学习基石记要 昨天开始看林轩田的机器学习基石,从今天起开始去粗取精 第一讲比较基础,一些概念自己早已经理解了,所以不再做笔记,有点印象的是讲到了ML.DL.AI的一些联系与区别,ML主 ...

最新文章

  1. 如果有一天 Pytorch / Tensorflow 不开源了,我们该怎么办?
  2. SourceTree 教程文档(了解界面)
  3. python转盘抽奖概率_转盘指定概率抽奖
  4. 一种基于局部线性嵌入的半监督方法——半监督局部线性嵌入(SSLLE),MATLAB程序代码
  5. Ethercat解析(十一)之分布时钟
  6. Android Camera 编程从入门到精通
  7. MYSQL——表操作
  8. Trump International Hotel Washington, D.C.宣布跻身猫途鹰“旅行者之选”美国获奖酒店四强之列
  9. 电子邮件(E-mail)和电子邮件协议
  10. 零基础如何入门IT行业?
  11. NXP bootloader
  12. 2019年软件工程领域各大会议投稿时间
  13. 【温故而知新】分布式系统(一)
  14. spring boot练习--利用websocket实现QQ聊天室
  15. 手工收集的2021最新CSGO国服能取回皮肤的国内开箱网站大全
  16. 1.43 亿人信息被盗,整个美国都慌了;Linux 发行版 SUSE 诞生 25 周年
  17. centos解决redis客户端连接不上
  18. PCA 浅显易懂的数学原理
  19. 古月居ROS入门21讲——9.创建工作空间与功能包
  20. MSP430F5529常用定时器

热门文章

  1. 快狗打车CTO沈剑:怕什么技术无穷尽?进一寸有一寸的欢喜
  2. java-IO流基础知识
  3. JES专栏:Portlets的国际化和本地化(eNews 第二十八期/2007.09)
  4. Windows XP IIS 500内部错误 解决方案(HTTP 500内部服务器错误)
  5. 交换机之三层交换原理
  6. 聚币网API[Python2版]
  7. https双向认证java
  8. 第一章 80C51单片机概述
  9. 80c51单片机编程语言是什么,80c51单片机的ram分为几个部分各有什么特点和功能...
  10. 多颗微粒的阵列光镊系统设计