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

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

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

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

答案是:

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

似乎 M 大小都不好,怎么解决这个问题呢?我们的处理方法是想办法当M无限大时将 M 换成一个有限的数量。
这里写图片描述
在红色框中有个“?”表示我们不能确定这种转换是可行的。接下来我们会将如何进行转换。

2. 有效的直线

我们先留着这个问题,看一下之前讲过的union bound问题。
我们之前在推导霍夫丁不等式的过程中,计算不好的事情发生的概率时说明了使用连集来计算union bound(不清楚的可以看第4课),即
这里写图片描述
不等式左边就表示BAD发生的概率。当M趋向于无穷大时右边不等式会趋向于无穷大,那么这个上界就没有意义了。但是这个事情不太对,因为当两个假设函数 h 很接近时,那这两个假设函数对于整个数据的实际错误率就会很相似。
这里写图片描述
所以,这两个h发生坏事的概率就会相当接近,也就是因为这两个h发生坏事而导致整体发生坏事的概率有重叠。因此在union bound时直接相加会导致over-estimating。
那怎么办呢?我们需要找到重叠的部分。我们现在回到第一部分中 mh 的部分,我们用一个有限的数取代无限的数。
我们想象一个二分类问题,如果我们抽取的样本数量 N=1 时而假设函数 h 数量M是无限的会发生什么?答案是, h 只有两种情况,要么将该样本分为“O”,要么就是“X”。
这里写图片描述
那么如果是两个样本N=2时呢?会有四种情况;
N=3
这里写图片描述
会发现有 23 种。但是当三个样本处于一条直线时,会发现有两种情况无法完成,也就是 23 种。在 N=4 时会有14种情况, N=5 时有22种情况。总之,有效的直线 h 的数量M2N,我们也称之为effective(N)。如果说,effective(N)的值能远小于 2N ,我们就能说找到一个有限的数来取代无限的 M 了。但是知道这个具体数值目前还比较困难,随着课程的展开会慢慢知晓的。

3. 有效的假设函数

使用一个新的名词:成长函数(growth function),记为mH(H)。成长函数的定义是:对于由N个点组成的不同集合中,某集合对应的dichotomy最大,那么这个dichotomy值就是 mH(H) ,它的上界是2N:
这里写图片描述
成长函数其实就是我们之前讲的effective lines的数量最大值。根据成长函数的定义,二维平面上, mH(H) 随N的变化关系是:
这里写图片描述
接下来,我们讨论如何计算成长函数。先看一个简单情况,一维的Positive Rays:
这里写图片描述
若有N个点,则整个区域可分为N+1段,很容易得到其成长函数mH(N)=N+1。注意当N很大时,(N+1)<<2N,这是我们希望看到的
另一种情况是一维的Positive Intervals:
这里写图片描述
这种情况下, mH(N)=12N2+12N+1<<2N ,在N很大的时候,仍然是满足的。
假设在二维空间里,如果hypothesis是凸多边形或类圆构成的封闭曲线,如下图所示,左边是convex的,右边不是convex的。那么,它的成长函数是多少呢?当数据集D按照如下的凸分布时,我们很容易计算得到它的成长函数 mH=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(Nk1) 。如果成立,那么就可以用mH代替M,就满足了机器能够学习的条件。关于上述猜测的证明,我们下节课再详细介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值