第五章 The Bias-Complexity Tradeoff

在第二章中介绍了一种情况,训练数据可能会对模型造成误导,从而导致过拟合。为了克服这个问题,把搜索空间限制在了某个假设集当中。这个限制反映了一些先验规则,一般认为加上这个限制的假设集中一定存在着一个对这个特定问题low-error的模型。

本章讨论的内容主要是如果没有这个先验,可不可以学出一个表现好的通用模型出来?

根据没有免费午餐定理,这个情况是不存在的,也就是说不可能有一个通用模型能适合所有的问题,在一个问题上表现的好的模型,在另外的问题上可能根本不work。所以机器学习需要对症下药,根据不同的问题做不同的分析,这样在设计模型的过程中就带有这个问题的先验。

一般来说先验知识分为两种:

一种是我们熟悉的先验分布,先验分布的用处十分广泛,可以说只要是贝叶斯场景下都带有先验分布计算的模式,同样可以和似然一起求出后验分布,后验分布在决策中相当重要。

另一种是,假设当定义一个PAC 学习模型的时候,在假设集里存在一个h使得特别小。这里有点难理解,举个例子,我们在做nlp生成任务的时候倾向于使用RNN相关的模型。因为对于nlp任务来说,本身就是一个序列决策的过程。使用RNN是由我们所知所学决定的,就可以看作是一个先验。

一般衡量一个先验是否合理有两个指标,第一个是用来衡量假设集的最低风险,也就是bias,另一个是产生过拟合的误差,也就是variance。

没有免费的午餐原理

考虑二分类问题,且真实木匾函数可以是任何函数χ→{0,1},函数空间为{0,1}^|χ|,此时对所有可能的f按均匀分布对误差求和,有

第五章 The Bias-Complexity Tradeoff_第1张图片
因此,总误差与学习算法无关,也就是说,不论学习算法£a多聪明、学习算法£b有多笨拙,它们的期望性能竟然相同!这就是“没有免费的午餐”定理。

然而,NFL定理的前提是,所有问题出现的机会相等、或所有问题都是同等重要。而实际情形往往并不是这样。一般我们只需要关注自己正要解决的问题即可。而对于我们的解决方案在另一个问题上的表现是否同等出色,我们并不关心。

为了解决真实世界中的问题,我们可能需要提出多个不同的模型。对于每一种模型,我们同样有多种算法来训练模型。在实现算法的过程中,也同样存在算法精确度、速度和储存空间之间的折中。因此,脱离具体问题而空谈“什么算法最好”之类的讨论毫无意义,因为若考虑所有潜在的问题,那么所有的模型、算法都一样好——这也是我们通过NFL定理得出的。要比较模型的相对优劣,则必须建立在与之对应的学习问题之上。

你可能感兴趣的:(第五章 The Bias-Complexity Tradeoff)