Learning is Impossible?
考虑如下二元分类的例子:
给出5条数据,设计一个算法找出一个
g∈H
并且所有的
g(xn)=yn
,并且说明
g
和理想的那个
既然输入
xn
有3个维度,那么输入一共只有8种情况,而输出有2种情况,一共有
28=256
种输入输出组合。我们可以找到一些
h∈H
使得在训练数据
D
上所有样本的分类结果都正确,而
上面的例子说明我们想要在训练数据
D
以外的数据中找到接近
Probability to the Rescue
既然我们从
假设我们有一个罐子,里面装满了橙色和绿色的弹珠,现在我们想要知道罐子里橙色弹珠的比例,我们该如何做呢?最直观的想法就是把罐子里的弹珠拿出来,一个一个地数;另外,还可以从罐子里随便抓一把(以下简称样本),计算这一把弹珠中橙色的比例,然后由这个比例推断罐子里橙色弹珠的比例。
样本中的
我们知道,当罐子里大部分都是橙色弹珠时,样本中基本上不可能出现较多的绿色弹珠。也就是说,样本中橙色弹珠的比例 υ 大致与罐子里橙色弹珠的比例 μ 相接近。下面我们来看一下, υ 和 μ 到底有多接近。
在样本数量较大的情况下,二者之间的差距可以由以下不等式衡量:
也就是说, ν 和 μ 之差的绝对值大于 ϵ 的概率小于 2e−2ϵ2N 。上面的不等式叫霍夫丁不等式(Hoeffding’s Inequality),根据这个不等式,我们就可以说“ ν=μ ”这句话是大概接近正确的(Probably Approximately Correct,简称PAC)。
仔细观察上面的不等式,我们可以发现它有以下几个特点:
- 对所有的
N
和
ϵ 都有效 - 和 μ 无关,也就是说我们不需要知道 μ
-
N
越大或者
ϵ 越小, μ 约等于 ν 的概率越高
Connection to Learning
那么抓弹珠和机器学习之间有什么关系呢?下面我们把抓弹珠和机器学习对应起来:
罐子 | 机器学习 |
---|---|
未知的橙色弹珠比例 μ | 需要寻找的与目标f(x)相近的假设h(x) |
罐子里的弹珠 | 输入空间中的每个向量 |
橙色弹珠 | 假设
h
是错的,即 |
绿色弹珠 | 假设
h
是对的,即 |
从罐子抓取的 N 个样本(独立同分布) | 训练数据 |
如果样本容量
N
足够大并且向量
所以,现在机器学习的过程就变成了下图所示的样子,其中虚线表示我们不知道的东西:
一个更正式的描述:
上面的不等式和抓弹珠很像:
- 对于所有的
N
和
ν 都成立 - 和
Eout(h)
无关,也就是不需要知道
Eout(h)
,
f
和
P 也不需要知道 - Ein(h)=Eout(h) 是PAC的
如果 Ein(h)≈Eouth 并且 Ein(h) 很小的话,那么就可以推断出 Eout(h) 也很小,那么 h≈f 就在 P 上成立。
但是新的问题又出现了。对于任意一个
当某个
h
的
Connection to Real Learning
如果找到一个h,它在数据集
拿抛硬币举例,150个人同时抛5次硬币,有的人抛了5次正面,那么这枚硬币出现正面的概率是不是真的比其他硬币高?还是只是运气好抛出了5次正面呢?
根据统计学的知识,即使当每一枚硬币正反面出现的概率都是
根据上面的例子,我们引入了坏样本(BAD sample),也就是那些 Ein 和 Eout 差别很大的样本,这些坏样本让选择结果变得更糟。比如抛硬币, Eout=12 ,但是我们抛出5次正面( Ein=0 )!同理,对于某个 h 来说,如果某些数据关于它的
那么对于单个 h 来说,坏数据出现的可能性是多少呢?请看下图:
当我们有很多
那么对于 M 个假设,坏数据出现的几率上界是多少呢?下面给出相关证明:
现在,机器学习的流程变成了下图:
如果