《机器学习基石》课程笔记(4)

Learning is Impossible?

考虑如下二元分类的例子:

这里写图片描述

给出5条数据,设计一个算法找出一个 gH 并且所有的 g(xn)=yn ,并且说明 g 和理想的那个f是否近似。
既然输入 xn 有3个维度,那么输入一共只有8种情况,而输出有2种情况,一共有 28=256 种输入输出组合。我们可以找到一些 hH 使得在训练数据 D 上所有样本的分类结果都正确,而D之外的数据集上不同的 h 分类结果不同。即在训练样本中g=f而在训练样本之外 g!=f 。但是机器学习的目的恰恰是根据训练样本找到一个模型使得该模型在未知数据上的预测与真实结果大体一致。

这里写图片描述

上面的例子说明我们想要在训练数据 D 以外的数据中找到接近f g 似乎是不可能的,这就是“没有免费的午餐”定理(No Free Lunch Theorem)。只有在某些假设条件下,我们才能评价机器学习算法的好与坏。

Probability to the Rescue

既然我们从D以外的数据中推断出未知的 f 是很困难的,那么我们能不能通过其他的方式推断出某些未知的东西呢?下面我们先来看一个弹珠的例子。
假设我们有一个罐子,里面装满了橙色和绿色的弹珠,现在我们想要知道罐子里橙色弹珠的比例,我们该如何做呢?最直观的想法就是把罐子里的弹珠拿出来,一个一个地数;另外,还可以从罐子里随便抓一把(以下简称样本),计算这一把弹珠中橙色的比例,然后由这个比例推断罐子里橙色弹珠的比例。

这里写图片描述

样本中的ν和样本之外的 μ 有什么样的关系呢?我们能不能通过 ν 推断出 μ 呢?

我们知道,当罐子里大部分都是橙色弹珠时,样本中基本上不可能出现较多的绿色弹珠。也就是说,样本中橙色弹珠的比例 υ 大致与罐子里橙色弹珠的比例 μ 相接近。下面我们来看一下, υ μ 到底有多接近。

在样本数量较大的情况下,二者之间的差距可以由以下不等式衡量:

P[|νμ|>ϵ]2e2ϵ2N

也就是说, ν μ 之差的绝对值大于 ϵ 的概率小于 2e2ϵ2N 。上面的不等式叫霍夫丁不等式(Hoeffding’s Inequality),根据这个不等式,我们就可以说“ ν=μ ”这句话是大概接近正确的(Probably Approximately Correct,简称PAC)。

仔细观察上面的不等式,我们可以发现它有以下几个特点:

  • 对所有的 N ϵ都有效
  • μ 无关,也就是说我们不需要知道 μ
  • N 越大或者ϵ越小, μ 约等于 ν 的概率越高

Connection to Learning

那么抓弹珠和机器学习之间有什么关系呢?下面我们把抓弹珠和机器学习对应起来:

罐子机器学习
未知的橙色弹珠比例 μ 需要寻找的与目标f(x)相近的假设h(x)
罐子里的弹珠输入空间中的每个向量
橙色弹珠假设 h 是错的,即h(x)f(x)
绿色弹珠假设 h 是对的,即h(x)=f(x)
从罐子抓取的 N 个样本(独立同分布) 训练数据D={(xn,yn)}(独立同分布)

如果样本容量 N 足够大并且向量xn是独立同分布的,那么我们就有可能由已知的 h(xn)f(x) 推断出 h(x)f(x)
所以,现在机器学习的过程就变成了下图所示的样子,其中虚线表示我们不知道的东西:

这里写图片描述

一个更正式的描述:

这里写图片描述

上面的不等式和抓弹珠很像:

  • 对于所有的 N ν都成立
  • Eout(h) 无关,也就是不需要知道 Eout(h) f P也不需要知道
  • Ein(h)=Eout(h) 是PAC的

如果 Ein(h)Eouth 并且 Ein(h) 很小的话,那么就可以推断出 Eout(h) 也很小,那么 hf 就在 P 上成立。

但是新的问题又出现了。对于任意一个h,当数据量足够大的时候, Ein(h)Eout(h) ,那么我们能断言这一定是一个好的学习结果( gf )吗?

当某个 h Ein很小并且 A 选择了那个h作为最后的 g ,那么g=f是PAC的;如果 A 不得不选择某一个h当作最后的 g ,通常来说此时Ein不会太小,所以 gf 是PAC的。也就是说,真正的学习是 A H中做选择(就像PLA)而不是被迫地选择某个 h 。所以我们需要验证某个h相对于 f 好还是不好。验证过程如下:

这里写图片描述

Connection to Real Learning

如果找到一个h,它在数据集D上表现的很完美,那么选不选它作为最后的 g 呢?
拿抛硬币举例,150个人同时抛5次硬币,有的人抛了5次正面,那么这枚硬币出现正面的概率是不是真的比其他硬币高?还是只是运气好抛出了5次正面呢?
根据统计学的知识,即使当每一枚硬币正反面出现的概率都是12,150个人抛5次硬币,有人抛出5次正面的概率为

1(3132)150>99%

根据上面的例子,我们引入了坏样本(BAD sample),也就是那些 Ein Eout 差别很大的样本,这些坏样本让选择结果变得更糟。比如抛硬币, Eout=12 ,但是我们抛出5次正面( Ein=0 )!同理,对于某个 h 来说,如果某些数据关于它的Eout Ein 差别很大,比如 Eout 很大(和 f 差很远)但是Ein很小(在很多样本上都正确),那么那些数据就是坏数据(BAD Data)。
那么对于单个 h 来说,坏数据出现的可能性是多少呢?请看下图:

这里写图片描述

当我们有很多h的时候,如果某个数据集对于一个 h 来说是坏数据,那么对于整个假设空间来说它也是坏数据,只有那些在所有h上不是坏数据的数据集才不是整个假设空间的坏数据,如下图的 D1126

这里写图片描述

那么对于 M 个假设,坏数据出现的几率上界是多少呢?下面给出相关证明:

这里写图片描述

现在,机器学习的流程变成了下图:

这里写图片描述

如果M是有限的,数据量 N 足够大,对于A选择的所有 g ,都有Eout(g)=Ein(g);如果 A 找到了一个g Ein(g)0 时,PAC保证了 Eout(g)0 ,这时候我们就说学习是可行的。新的问题又出现了,当 M <script type="math/tex" id="MathJax-Element-30877">M</script>无限大的时候(就像在PLA里有无数条线一样),那么我们应该怎么办呢?请听下回讲解。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值