Is learning feasible?

从数据中学到能应用于数据外的经验,这一点是可行的吗?这个问题看上去有些蠢,如果不可行,整个机器学习不就不可行了吗?实际上,这个问题的答案取决于我们所做出的假设。

首先我们来看一个例子:

Is learning feasible?_第1张图片

如果我们手上的数据集D是前五个(x,y),我们在D上学习得到的g包含有D外3个点的信息吗?或者说我们可以利用g来对D外的数据进行预测吗?我们可以看到,与D相吻合的f有8个,如果这8个f都是等可能的,那么g所做的预测正确的概率是1/8,这和我们不依靠D直接猜结果是一样的……也就是说,我们没有从D中获得关于D之外的任何信息。

仔细想想我们会发现,上面的过程我们实际上是把前5个点和后3个点割裂开考虑的,也就是说,不管前5个点是什么情况,后3个点都可能是任何情况。这事放到气象局来说就是,我们曾经多次观察到了某种气象特征,然后都下雨了,现在又来了一个观测,这个观测和之前不太一样,但也具有这种气象特征,但我们只能说,不好意思,我们做不出任何预测,这个观测我们之前没见过,所以只好认为既有可能下雨,也可能不下雨,概率一半一半吧。这显然是不对的,按这样的说法,每天的气象观测都不可能完全相同,那我们还怎么做天气预报?

问题的关键就在于,我们要把手上的数据集D和D之外的数据联系起来,分开考虑的话我们当然不可能从D中获得D之外的信息。联系的桥梁就是概率分布。我们必须假定所有可能的数据(包括D中的和D之外的)都来自同一个概率分布。我们用一个简单的抽球模型来看一下这件事:

Is learning feasible?_第2张图片

假设我们的样本是从一个盒子(表示样本空间)中抽出来的,那么我们可以通过样本中的橙色球比例v来推测盒子中的橙色球比例μ吗?这是可行的:


Is learning feasible?_第3张图片

根据概率论中的霍夫丁不等式(Hoeffding’s Inequality)若样本量N足够大,ν就很可能接近μ。这就使得学习具有了概率意义下的可行性。拿天气预报的例子来说,我们至少可以说在较大的概率下明天会降雨,至于概率是多大,根据以往的数据计算比例即可,比方说是90%(也就相当于v),然后我们根据霍夫丁不等式找到一个上界,比如说是5%,那么我们就可以说,在大于95%的概率下,下雨概率是90%这一预报是大致(因为v只是充分接近u)准确的。

那么我们一般的学习问题如何与这个抽球的模型联系起来呢?我们先来看一下学习问题是如何定义的:

Is learning feasible?_第4张图片

接下来我们看一下学习问题和小球模型的联系:


Is learning feasible?_第5张图片

这里实际上是说,对于给定的假设h,可以确定一个箱子当中所有小球的颜色(因为f是固定的,只是我们不知道),然后呢,我们手上拥有的数据D就是抽出来的小球,只有这部分小球的颜色是已知的(因为我们的h作用于D之外的结果我们不知道)。因此,应用上面的结论我们就可以知道,当样本量足够大的时候,我们就能从h在D上的表现推测出h在整个样本空间中的表现。

但是,这里还有一个问题,我们目前所做的只是验证了一个h是不是表现够好,但没有完成学习所要求的从多个h中选择一个好的h。但是这种情况下霍夫丁不等式还能用吗?

Is learning feasible?_第6张图片

假如出现了某个h,在它对应的盒子里抽出来的球都是绿的,即h在数据集D上正确率100%,那我们就选这个h就好了。真的如此吗?并不是。

Is learning feasible?_第7张图片

当假设很多的时候,有某个h表现很好的概率要大得多。就好像上面掷硬币的例子一样,我们抛硬币抛5次,出现5个正面的概率并不大,但是重复这个过程150次,我们有某一次出现5个正面的概率大于99%!掷硬币转化成小球问题,就是我们所有的假设h实际上在样本空间上的正确率都只有50%,但最终我们却选择了一个“好”的。然而实际上这个h的表现和其它h并没有什么区别。

那么当我们拥有多个假设的时候,霍夫丁不等式确定的上界就失效了吗?其实不是,只是上界变大了。为了说明这一点,我们先定义坏样本。所谓坏样本是针对假设而言的,对于假设h来说一个样本D是坏的,如果它使得h在D上的表现和h在D外的表现相差很远。

Is learning feasible?_第8张图片

那么我们如何才能从M个假设h中选到真正好的那一个呢?实际上只需要我们的样本D对于任意一个假设h都不是坏样本就行了(即每个假设h在D上的表现都和它在D外的表现差不多),这样我们选择在D上表现好的h,就可以找到在D外表现同样很好的h。上图说明了样本D对于任意一个假设h都不是坏样本的概率其实也和霍夫丁不等式的上界有关,只是多了一个系数M。至此我们知道,只要M是有限的,我们就可以通过足够多的样本来完成学习。这也是深度学习需要超多样本支持才能产生较好效果的一个原因,因为它的假设空间太大了,即M非常大,如果N不够大的话,我们将不能保证模型的泛化能力。

Is learning feasible?_第9张图片

至此,我们的学习过程实际上分为了两部分:

Is learning feasible?_第10张图片

要想达到学习的目标,我们首先要保证泛化能力,然后再保证假设h在训练集上的表现比较好。

这两个要求和我们的假设空间以及真实的f有何关系呢?

首先,我们用假设空间包含的假设数量M来衡量假设空间的复杂度,那么M越大,我们的泛化能力就约得不到保证;但另一方面,M越大,我们就越可能在训练集上取得好的表现。所以说假设空间的选取有一个trade-off。

然后我们看f的复杂性。由霍夫丁不等式可以看到,不管f多复杂,这个上界都不会受到影响。这是不是说我们学习复杂模型变得和学习简单模型一样容易了呢?当然不是……虽然泛化能力不受影响,但是f如果真的很复杂,我们要想在训练集上和f拟合的比较好,也就是在训练集上产生较好的表现,难度就比较大。

所有和学习有关的问题以及之后的算法,其实都是围绕着这两点在进行,以保证模型在测试集上能产生比较好的效果。

最后,我们看一下对于学习目标的严谨说法是怎样的:

Is learning feasible?_第11张图片

首先,我们不一定能选出一个好的假设h,有可能所有的h在数据集上表现都很差,其次,即使我们能找到一个好的h,我们也只能说,在很大的概率下,我们的假设h可以在数据集之外表现得和在数据集上一样良好。

你可能感兴趣的:(Is learning feasible?)