林轩田机器学习基石课程个人笔记-第四讲

63 阅读10分钟

这一讲主要学习了学习的可行性,将从以下的四个小节进行学习:


在这里插入图片描述

Learning is Impossible?

首先给出一个学习的小问题,我们也可以在很多情况看到这种类似的益智问题。在如下的 3 ∗ 3 3*3 3∗3的方格中,有的小格被黑色所填充,有的没有,然后上面三种情况下,我们给出的 y y y的值为-1,而下面三种情况给出的y的值为+1。问你如果遇到最右面的那种情形,值应该是多少呢?这时候你就疯掉啦,什么鬼?有啥规律呢?费劲的想吧……
在这里插入图片描述

其实我们说结果是-1对,说是+1也对,因为我们总可以找出一种对应规则来满足我们的结果。这时我们就可以说这个问题是不能学习的了,因为没有一种固定的规则,就无法得到一个绝对正确的答案。


在这里插入图片描述

接下来我们再看一个简单的二分类问题,如果已有的 x n x_n xn​和 y n y_n yn​的对应情况如下所示,那么如何根据输入的 x x x的序列来判断 y y y的情况,是o还是×?


在这里插入图片描述

也就是说我们能否在所有可能的假设中找到了一个 g g g,使其很好的接近数据中隐藏的规则 f f f呢?如下所示。输入特征 x x x是二进制的、三维的,对应就有8种输入,其中已知结果的D有5个。那么,根据样本对应的输出 y y y,假设有8个假设,这8个假设在D上,对5个训练样本的分类效果效果都完全正确。但是在另外3个测试数据上,不同的假设表现有好有坏。在已知数据D上, g g g约等于 f f f;但是在D以外的未知数据上, 不一定成立。而机器学习目的,就是希望我们选择的模型能在未知数据上的预测与真实结果是一致的,而不是在已知的数据集D上寻求最佳效果。


在这里插入图片描述

我们只能在给定的数据上寻找到一种规则,使其很好的满足猜想,但无法保证对于其他的未知数据仍然是正确的。这就是No Free Lunch,不存在一种可以适应所有情况的学习算法,对于不同的情形,我们总可以找到一个好的学习器,使它的结果好于随机猜测。

通常所说的什么算法比另一个要好,这种结论都是基于一定的情形下,比如数据的分布、特定的先验信息等,在不同的应用情形下,应该选择合适的算法来满足具体的要求。


Probability to the Rescue

在前面的总结中提出,无法使用现有的数据来学习未知数据的某种规则,但是能否通过某种方法对于未知的目标做一些推论呢?不一定要完全得到最终的结果,但尽量做到足够的接近呢?


在这里插入图片描述

假设现在有一个装满弹珠的瓶子,里面有绿色和橙色两种,我们能否知道橙色弹珠所占的比例呢?也许你会说,把它一颗一颗的数,不就知道了吗?NO!这只是在现实中你可以这样做,在理论上当弹珠有很多很多,多到不可数时,我们就没法通过暴力数的方法来得到结果。


在这里插入图片描述

那就是通过采样的方法!既然我们无法去数所有的弹珠,那么可以一次取一部分,例如10颗,然后看这10颗中橙色的比例,然后重复操作,不断的采样,当采样的次数足够多时,我们就认为在概率学意义上,样本中橙色弹珠所占的比例就是总体中橙色弹珠的比例。


在这里插入图片描述

如下所示,假设瓶中橙色弹珠所占比例为 μ \mu μ,绿色的自然就是 1 − μ 1 - \mu 1−μ了,但是我们是不知道μ具体是什么值的。通过采样,在N个样本中,我们算出橙色弹珠比例为 v v v,绿色为 1 − v 1-v 1−v,这个 v v v我们是知道的。


在这里插入图片描述

这种随机抽取的做法能否说明罐子里橙色球的比例一定是 v v v呢?答案是否定的。但是从概率的角度来说,样本中的 v v v很大可能接近未知的 μ \mu μ。


在这里插入图片描述

那么我们如何从 v v v中知道关于 μ \mu μ的一些信息呢?下面从数学推导的角度来看 v v v与 μ \mu μ之间的关系。如下所示,已知 μ \mu μ是罐子里橙色球的比例, v v v是N个抽取的样本中橙色球的比例。当N足够大的时候, v v v和 μ \mu μ的大小差距就会满足我们设定的概率,也就是v接近于 μ \mu μ。这就是Hoeffding’s inequality,它同样可以用到其他的很多问题上。


在这里插入图片描述

Hoeffding不等式说明当N很大的时候, v v v和 μ \mu μ相差不会很大,它们之间的差值被限定在之内。我们把结论 v = μ v=\mu v=μ称为probably approximately correct(PAC)。
在这里插入图片描述

在Hoeffding’s inequality中,我们需要给定一个误差的范围和一个足够大的N,而不必知道要求的 μ \mu μ,只需要知道 v v v,在N足够大的时候,不等式右边的概率值就会很小,那么在概率学意义上我们就可以通过知道的 v v v推论不知道的 μ \mu μ。


在这里插入图片描述

Connecting to Learning

通过前面弹珠的例子,我们知道了一些方法,下面将其推广到普遍意义上的学习中。假设有很多个独立的样本,在样本集合D中想找到一个 h ( x ) h(x) h(x)来接近真实的 f ( x ) f(x) f(x),当 h h h不合适时,意味着 h ( x ) ! = f ( x ) h(x)!=f(x) h(x)!=f(x),反之两者相等。当我们的N足够大时,我们就可以通过样本中 h ( x n ) ! = y n h(xn)!=yn h(xn)!=yn的概率知道总体中 h ( x ) ! = ( x ) h(x) !=(x) h(x)!=(x)的概率。


在这里插入图片描述

上面所说的,映射中最关键的点是将抽样中橙球的概率理解为样本数据集D上 h ( x ) h(x) h(x)错误的概率,以此推算出在所有数据上 h ( x ) h(x) h(x)错误的概率,这也是机器学习能够工作的本质,即为啥在采样数据上得到了一个假设,就可以推到全局呢?因为两者的错误率是PAC的,只要我们保证前者小,后者也就小了。


在这里插入图片描述

为了叙述的方便,这里引入两个值 E i n E_{in} Ein​和 E o u t E_{out} Eout​。 E i n ( h ) E_{in}(h) Ein​(h)表示在抽样样本中, h ( x h(x h(x)与 y n y_n yn​不相等的概率; E o u t ( h ) E_{out}(h) Eout​(h)表示实际所有样本中, h ( x ) h(x) h(x)与 f ( x ) f(x) f(x)不相等的概率是多少。


在这里插入图片描述

那么表现在不等式中就是下面的情形,在N足够大时, E i n E_{in} Ein​可能会接近 E o u t E_{out} Eout​。
在这里插入图片描述

类似于前面的说法,我们的假设条件如下, E i n = E o u t E_{in}=E_{out} Ein​=Eout​也是PAC的,如果 E i n = E o u t E_{in}=E_{out} Ein​=Eout​, E i n E_{in} Ein​就很小,那么就能推断出 E o u t E_{out} Eout​很小,也就是说在该数据分布P下, h h h与 f f f非常接近,机器学习的模型比较准确。


在这里插入图片描述

但是固定的 h h h来说,即使在数据量足够大时有 E i n E_{in} Ein​约等于 o u t _{out} out​,能否就可以断定 g g g约等于 f f f呢?我们的学习方法是一个好的学习呢?


在这里插入图片描述

这个需要我们分情况来看,如果对于固定的 h h h, E i n E_{in} Ein​很小并且我们的学习算法也选择了 h h h,那么在PAC下认为 g = f g=f g=f是可行的。但是如果学习算法强制选择 h h h作为最后的 g g g,而 E i n ( h ) E_{in}(h) Ein​(h)并不总是很小时,这种情况下是不能断言这个 h h h是合适的。


在这里插入图片描述

而在真实的应用中,我们应该给学习算法一个选择 h h h的范围,而不是给一个固定的 h h h。所以,一般会通过演算法A,选择最好的 h h h,使 E i n ( h ) E_{in}(h) Ein​(h)足够小,从而保证 E o u t ( h ) E_{out}(h) Eout​(h)很小。固定的 h h h,使用新数据进行测试,验证其错误率是多少。


在这里插入图片描述

学习流程图就变成了这样:


在这里插入图片描述

Connecting to Real Learning

回到弹珠的例子上,假设现在有M个瓶子,里面装满的弹珠,在某一次采样时,我们拿到的都是绿色的,能否选择这个瓶子作为普遍采样的一个选择呢?


在这里插入图片描述

首先看一个日常的抛硬币的例子::有150个人一起抛硬币,其中一名同学抛了5次都是正面,可以计算一下这个事件所发生的概率如下,可见这个值是很大的。但这样能否所这个同学所用的硬币具有普遍的代表性呢?

当然是不行的啦,因为我们知道,每一枚硬币在每一次抛中,出现某一面的概率都是0.5,那么在上面弹珠的例子中,在某个瓶子中某次抽到的都是绿色,也不能说这个瓶子中的就都是绿色,更不能说所有的瓶子中都是绿色。


在这里插入图片描述

这就是b现象。它是指 E i n E_{in} Ein​和 E o u t E_{out} Eout​差别很大,即当我们的选择越多时,导致不好的情形出现的概率自然就会越大。


在这里插入图片描述

例如对于同一个 h h h来说, E o u t E_{out} Eout​很大而 E i n E_{in} Ein​却很小。


在这里插入图片描述

根据许多次抽样的到的不同的数据集D,Hoeffding’s inequality保证了大多数的D都是比较好的情形(即对于某个h,保证 E i n E_{in} Ein​和 E o u t E_{out} Eout​相近),但是也有可能出现Bad Data,即 E i n E_{in} Ein​和 E o u t E_{out} Eout​差别很大的数据集D,这是小概率事件。也就是说对于不同的D,不同的h,都有可能成为Bad Sample,只要D在任意一个h上出现Bad Sample,那么这个D我们就认为是Bad Data;只有D在所有的h上都不出现Bad Sample,我们就认为是一个Good Data。


在这里插入图片描述

那么对于M个假设,Bad Data出现的概率上界是多少呢?我们可以通过级联的方式来看一下。


在这里插入图片描述

其中,M是hypothesis的个数,N是样本D的数量。该union bound表明,当M有限,且N足够大的时候,Bad Data出现的概率就更低了,即能保证D对于所有的h都有Ein约等于Eout,满足PAC,A的选择不受限制。那么满足这种union bound的情况,我们就可以和之前一样,选取一个合理的演算法(PLA/pocket),选择使Ein最小的h作为g,一般能够保证g约等于f,即有不错的泛化能力。


在这里插入图片描述

所以,如果假设的个数M是有限的,N足够大,那么通过A任意选择一个g,都有 E i n E_{in} Ein​约等于 E o u t E_{out} Eout​成立;同时,如果找到一个g,使Ein约等于0,PAC就能保证 E i n E_{in} Ein​约等于0,就证明了机器学习是可行的。

学习流程图如下所示


在这里插入图片描述

那么当M是无穷大时,学习是否就是不可行的了呢?后面我们会学习到它的解决办法。


总结


在这里插入图片描述