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
大小都不好,怎么解决这个问题呢?我们的处理方法是想办法当
在红色框中有个“?”表示我们不能确定这种转换是可行的。接下来我们会将如何进行转换。
2. 有效的直线
我们先留着这个问题,看一下之前讲过的union bound问题。
我们之前在推导霍夫丁不等式的过程中,计算不好的事情发生的概率时说明了使用连集来计算union bound(不清楚的可以看第4课),即
不等式左边就表示BAD发生的概率。当
所以,这两个
那怎么办呢?我们需要找到重叠的部分。我们现在回到第一部分中
mh
的部分,我们用一个有限的数取代无限的数。
我们想象一个二分类问题,如果我们抽取的样本数量
N=1
时而假设函数
h
数量
那么如果是两个样本
N=3
时
会发现有
23
种。但是当三个样本处于一条直线时,会发现有两种情况无法完成,也就是
≤23
种。在
N=4
时会有14种情况,
N=5
时有22种情况。总之,有效的直线
h
的数量
3. 有效的假设函数
使用一个新的名词:成长函数(growth function),记为
成长函数其实就是我们之前讲的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(Nk−1)
。如果成立,那么就可以用mH代替M,就满足了机器能够学习的条件。关于上述猜测的证明,我们下节课再详细介绍。