“没有免费的午餐”定理(NFL定理)

“没有免费的午餐”定理(NFL定理)的理解 上篇

最近在看这个,个人的理解而已。

简介

在机器学习过程中,需要确定一个假设,从而确定了整个假设空间,而学习的过程就是在假设空间的众多假设中找到与样本数据集表现一致或者最相近的假设。

#与数据集表现一致或相近的假设可能很多,如何确定某个具体的假设?这就是算法的归纳偏好。
当面对一个二分类的问题时,如果采用线性可分支持向量机对该数据进行学习,则假设“整个训练数据集是线性可分的”(确定一个假设),假设空间则为ax+b=0,其中x表示样本的特征向量,a≠0,b为任意常数。

如下图所示,其中a、b为支持向量,d为向量机学习到的模型。
直线a到b这片区域可以理解为版本空间(真实的版本空间可能比这个大)
这里面就产生了一个疑问,为什么要在众多的版本空间中选择直线d作为模型,来预测新样本的分类?
这就是算法的偏好,支持向量机算法的偏好是选择能尽可能将正例和负例完全分开的直线。

那么这种偏好就一定好吗?
不一定,对于有些问题(或大多数问题)支持向量机的这种偏好可能很好,但是对于另一些问题(譬如真实分类界限是曲线),则可能产生较差的效果。
我们希望学习到的真实分类界限,可能是c,甚至可能不是直线,可能是整个版本空间的任意划分。

但是,任何一种机器学习算法都有归纳偏好,否则我们无法从众多的版本空间中确定某个特定的假设,而无法产生确定的学习效果。某些算法可能在解决这些问题时,能产生很好的效果,也就意味着在另外一些问题上会表现差。


没有免费的午餐”定理

《机器学习》中表示,“没有免费的午餐”指的是:在所有的“问题”出现的机会相同,或所有问题同等重要的条件下,任何算法在除训练集以外的整个样本空间预测误差的期望是相同的。

同样有点难以理解:
1、在所有的“问题”出现的机会相同,或所有问题同等重要的条件
这句话的意思是在面对一组数据(训练集)时,如图所示,我们只是按照一个确定的算法,找到一条确定的直线(归纳偏好),其实我们也不知道真实的分界线应该在哪里。但是,面对不同问题,真实的分界线可能是a到b之间任意直线(或曲线),机会相同指的是任意一条分界线出现的概率相同。
2、任何算法在除训练集以外的整个样本空间预测误差的期望是相同的
下面的公式指的是算法La在训练集以外的样本误差的期望。在这里插奥德赛
在算法La和算法Lb
在这里插入图片描述在这里插入图片描述
具体推导过程暂时略过,下次有机会再补。
表明,不同的算法对训练集外的样本误差期望是相同的。

如果将所有的问题划分为两个大类A和B,
若算法La在A问题上表现好,在B问题上表现差,算法Lb在A问题上表面差,
那么,算法 Lb必然在B问题上表现好。

“没有免费的午餐”定理说明了,脱离实际情况,单纯的谈算法的优劣是没有意义的。
因此,在选择算法时,应该根据具体问题,选择算法的偏好与实际问题一致的算法。


在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值