NFL定理及背景前提

  • 什么是NFL(No Free Lunch Theorem)

我们在做模型时,都会在算法的选择上花费了大部分时间,会纠结在算法的好坏以及各自的优缺点,最终实现我们的目标函数和现实函数之间的总误差最小。我们也会平时挂在嘴边,哪个算法比哪个好。但是在周志华老师《机器学习》的书中提到一个概念NFL。

周志华老师写道:

通过公式的推导,我们发现总误差竟然与学习算法无关,对于任意两个学习算法,无论哪个算法更加”聪明“或者更加”笨拙”,它们的期望性能竟然相同。这就是”没有免费的午餐“定理(No Free Lunch Theorem,简称NFL定理)

那么照周老师的说法,既然所有学习算法的期望性能跟随机胡乱猜测差不多,那还有什么必要去学习算法呢? 

我在网上搜索了一些信息,发现很多人对周老师的理解还是有理解错误的,在此发表个人看法。

  • NFL是有前提的!

聪明的人,肯定一下子能想出NFL肯定是有前提的,不然是有悖于我们的现实操作的。

以一个简单例子为例,假设我们有6个样本点(xi, yi)组成的训练集,分布如下图:

现在选择两个算法,LA和LB,它们各自模拟了各自假设空间中最佳的假设函数A和B,对应上图中的A和B两条曲线。我们会倾向于较为结构简单的A,因为在相同数据集下,A符合现存的数据集,同时可以简单化模型,所以大多数情况下我们会选择较为简单的A。

现实中的实际问题可能是如下所示:

上图中,百点为测试样本,黑点为训练样本。可以发现A的性能的确比B好,A于训练集的样本更一致,预测比B准确。

于此同时,现实的问题也可以是如下图:

由图的,B的性能比A好。

上面的例子是为了说明:在比对学习算法的优劣时,是需要结合具体问题的。对于一个学习算法LA,若它在莫i个问题上比学习算法LB好,则必然存在另一些问题,在那里LB比LA好。

以上的例子是符合我们的现实逻辑的。那么我们现在来看看周老师所说的NFL的来源:

原文:

————————————————————————————————————————————————-

我解释下文中使用(1.1)作为训练集之外的所有样本的误差原因:

首先,我们是这样定义一个假设函数h对一个样本点x的预测误差的:预测值h(x)与真实值f(x)一致则误差为0,不一致则误差为1,即I(h(x)≠f(x)),由于x是一个随机变量,那么这个误差值也是一个随机变量,取值为0或1,其在训练集之外的所有样本上的期望可以看作假设函数h在训练集之外的所有样本上预测的错误率,即:

注:此处求和下标中的大X为训练集数据集,下边小x表示训练集外的数据。

因此, 我们就把这个错误率作为假设函数h在训练集之外的所有样本的误差。

与此同时,

在算法La的假设空间中可能会存在多个假设函数与训练集一致,每一个假设函数的产生是有概率的,令算法La在训练数据集X上产生某个假设h的概率为P(h|X, La),那么,我们接下来要做的是定义算法La在“训练集之外的所有样本上的误差”,而不只是La产生的一个假设h的误差。

我们已经定义了假设函数h在训练集之外的所有样本上的误差,由于h是算法La以概率P(h|X, La)产生的,那么我们可以定义算法La的误差为所有可能的h的误差的期望,即:

 上面的说明就是(1.1)是的含义了。

再来解释下(1.2式):

这里考虑的是二分类问题,而且假设真实目标函数f可以是任何输入空间X到输出空间{0, 1}的映射,那么整个函数空间的大小就应该是2^|X|。(指数)

 假设在整个函数空间中所有可能的目标函数f是均匀分布的(也就是说现实中的真实的问题是均匀出现的(因此这个就是我开头所说的前提!!!))。

在二分类问题中,对于一个样本点x,假设函数h(x)的预测值要么是0要么是1,不妨假设为0,那么由于f是均匀分布的,所有将x映射为0的真实函数f的数量和所有将x映射为1的真实函数f的数量应该是一样的,那么,在函数空间中就有一半数量的可能的f于假设函数h的预测不一致,于是就有:

等于

由此可以的到结论中的公式

公式结论为:总误差竟然跟学习算法无关!!!

因此读者在看的时候,会以为算法对总误差是没影响的。 其实细心的人,会看到我上文强调了一个前提,那就是”假设在整个函数空间中所有可能的目标函数f是均匀分布的

我们需要注意到,NFL定理有一个主要的前提:所有“问题”出现的机会相同,或所有问题同等重要。但实际情况并不是这样。很多时候,我们只关注自己正在试图解决的问题(例如某个具体应用任务),希望为它找到一个解决方案,至于这个解决方案在别的问题、甚至在相似的问题上是否为好方案,我们并不关心。所以,NFL定理最重要的寓意,是让我们清楚地认识到,脱离具体问题,空泛地谈论“什么学习算法更好”毫无意义,因为若考虑所有潜在的问题,则所有学习算法都一样好。要谈论算法的相对优劣,必须要针对具体的学习问题;在某些问题上表现好的学习算法,在另一些问题上却可能不尽如人意。

因此NFL原理中,算法的比较是需要基于某一现实问题才能进行比较,如果脱离现实问题,所有的算法都是同等高度的。

 

 

 

 

            </div>
  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值