当我们拿到数据之后,构建机器学习算法的第一步应当是:观察数据,总结规律。

目前由于大数据和深度学习的发展,很多人会认为,只要收集足够多的数据,从网上的开源算法模型中随便找一个,直接将数据丢到模型中去训练,就可以获得很好的结果。这样的观点在大多数情况下都是不正确的。我们需要对数据有一个感性的认识,如果我们对数据没有感性的认识,我们就很难设计出好的算法,也很难估计算法可能达到的性能极限。

对于不同的机器学习任务,我们怎么样去选择一个更好的机器学习算法呢?

没有免费午餐定理(No Free Lunch Theorem)

1995年,Wolpert和Macerday提出了没有免费午餐定理。该定理的大致内容概括为:任何一个预测函数,如果在一些训练样本上表现好,那么必然在另一些训练样本上表现不好。如果不对数据在特征空间的先验分布有一定的假设,那么表现好与表现不好的情况一样多。因此,没有任何情况下都最好的机器学习算法。

通俗地说,没有免费午餐(No Free Lunch, NFL)定理证明了任何模型在所有问题上的性能都是相同的,其总误差和模型本身是没有关系的。也就是每种问题出现的概率是均等的,每个模型用于解决所有问题时,其平均意义上的性能是一样的。

所有模型在等概率出现的问题上都有同样的性能,这件事可以从两个角度来理解:

一是从模型的角度来看,如果单独拿出一个特定的模型来观察的话,这个模型必然会在解决某些问题时误差较小,而在解决另一些问题时误差较大

二是从问题的角度来看,如果单独拿出一个特定的问题来观察的话,必然有某些模型在解决这些问题时具有较高的精度,而另一些模型的精度就没那么理想了。

举个例子来说,如果把不同模型看成一个班级里的不同学生,不同问题看成考试时的不同科目,NFL 定理说的就是在这个班里,所有学生期末考试的总成绩都是一样的,既然总成绩一样,每一科的平均分自然也是一样的。这一方面说明了每个学生都有偏科,数学好的语文差,语文好的数学差,如果数学语文都好,那么英语肯定更差;另一方面也说明了每个科目的试题都有明显的区分度,数学有高分也有低分,语文有高分也有低分,不会出现哪一科上大家都是 90 分或者大家都是 30 分的情形。

       NFL 定理最重要的指导意义在于先验知识的使用,也就是具体问题具体分析。机器学习的目标不是放之四海而皆准的通用模型,而是关于特定问题有针对性的解决方案。因此在模型的学习过程中,一定要关注问题本身的特点,也就是关于问题的先验知识。这就像学习数学有学习数学的方法,这套方法用来学习语文未必会有良好的效果,但它只要能够解决数学的问题就已经很有价值了。脱离问题的实际情况谈论模型优劣是没有意义的,只有让模型的特点和问题的特征相匹配,模型才能发挥最大的作用。

在周志华的《机器学习》也就是通常所说的西瓜书中有这样一个例子:

图中的黑点代表训练集。如果采用两种不同的算法,他们有着不同的归纳偏好,或者说训练策略,可能会训练出 A 和 B 两个模型(即假设),那么对于第一张图中的测试数据集(白点),显然 A 比 B 拟合得更好,即 A 的泛化能力更强;而对于第二张图则相反,B 在测试数据集上表现更出色。

即便左边的图中的数据点的平滑分布似乎是一个更”常见“,更”合理“的现实问题,但很遗憾这只是你的一厢情愿。从数学上讲左右两张图所描述的问题,它们的地位是一样的,出现的可能也是一样,并不存在谁比谁更常见更符合现实。

”没有免费的午餐“定理正是要告诉我们,没有什么算法是适用于所有的现实问题的,任何两个算法,以及它们训练出来的模型,在所有的现实问题的集合面前是无优劣的,它们的性能的数学期望值是一样的。对于不同的现实问题,要选择相应的算法来解决。

没有免费午餐定理(No Free Lunch Theorem)相关推荐

  1. 没有免费午餐定理No Free Lunch Theorem

    不得不说,网上博客千千万,在技术方面,我承认这些博客的重要性.然而,只要和机器学习理论挂钩,似乎都讲得不清不楚,大家都是各自地抄,抄书籍,抄论文,抄别人的博客或者直接翻译,或者讲故事一样描述,几乎没什 ...

  2. [TIST 2022] No Free Lunch Theorem for Security and Utility in Federated Learning

    联邦学习中的安全性和实用性没有免费午餐定理 No Free Lunch Theorem for Security and Utility in Federated Learning 目录 摘要 简介 ...

  3. 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(10)——天下没有免费午餐定理(No Free Lunch Theorem)

    天下没有免费午餐定理(No Free Lunch Theorem) 周志华老师西瓜书的第一章就说到了这个定理,形象非严谨地说就是面对问题A,你精心挑选的一种算法X性能吊打某垃圾算法Y:那么问题空间里一 ...

  4. NFL定理——没有免费的午餐No Free Lunch Theorem

    NFL定理--没有免费的午餐No Free Lunch Theorem 算法宝典西瓜书里绪论里提到了NFL定理,即"没有免费的午餐",虽然道理很简单,但是证明却稍显简陋.我在拜读了 ...

  5. 机器学习笔记1-“没有免费的午餐”定理(No Free Lunch Theorem)

    教材-周志华<机器学习> 绪论各种基本术语不再赘述,大部分都可以望文生义. "没有免费的午餐"定理(No Free Lunch Theorem)(简称NFL定理):该定 ...

  6. UC伯克利发现「没有免费午餐定理」加强版:每个神经网络,都是一个高维向量...

    来源:AI科技评论 作者:Mr Bear.杏花 编辑:青暮 经典的「没有免费午餐定理」表明:如果某种学习算法在某些方面比另一种学习算法更优,则肯定会在其它某些方面弱于另一种学习算法. 也就是说,对于任 ...

  7. 《匆匆那年》的你,还记得吗?数学中的那些有(hui)趣(se)的定理(14)——毛球定理(Hairy ball theorem)

    毛球定理(Hairy ball theorem) 这个定理说明了偶数维的单位球面上不存在处处不为零的连续切向量场,可以形象得理解为「永远不可能抚平一个毛球」. 毛球定理还可以推出一些很有意思的结论,比 ...

  8. 计算理论中的莱斯定理(Rice's Theorem)——证明与应用

    我们给出一个在探讨不可判定性时非常有用的结论--莱斯定理(Rice's Theorem).首先,我们来看前面讨论过的几个不可判定的例子: 这些都是由图灵机识别之语言的性质.而莱斯定理告诉我们,任何由图 ...

  9. 希尔伯特第 13 问题,Kolmogorov–Arnold representation theorem 和通用近似定理(Universal approximation theorem)

    文章目录 1. 希尔伯特第十三问题 1.1 介绍 1.2 历史 1.2.1 近期发展 1.2.1.1 打开和关闭,然后再打开 1.2.1.2 事情的根源 1.2.1.3 视觉思考 1.2.1.4 迈向 ...

最新文章

  1. 万字长文,最硬核的mysql知识总结
  2. 告别CPU,加速100-1000倍!只用GPU就能完成物理模拟和强化学习训练
  3. python字符串面试题:找出一个字符串中第一个字母和最后一个字符是第一次重复,中间没有重复且最长的子串...
  4. tmpfs 内存文件系统
  5. 快速排序时间复杂度为O(n×log(n))的证明
  6. C++ Opengl图形颜色源码
  7. php oauth 扩展,PHP 安装 Oauth 扩展
  8. 南加州大学机器视觉实验室_机器学习带动南加州爱迪生的变革
  9. oracle sql语句大全
  10. 2019计算机应用基础期末考试试题,2019-2020年度公共课计算机应用基础考试试题附答案...
  11. FMCW激光雷达原理推导公式
  12. K线技术指标实现详解—KDJ
  13. 2022茶艺师(中级)考试题及模拟考试
  14. H5微信分享、自定义微信分享
  15. linux下mysql修改时区,linux修改系统时区
  16. ODC 3.4.0 现已上线,让数据库开发更简单
  17. 台式机使用笔记本电脑上网解决办法。
  18. emacs下使用google-cpplint
  19. 【软件工程】概念模型、逻辑模型、物理模型
  20. android实现悬停效果代码,Android StickListView实现悬停效果

热门文章

  1. 用于调用的参数太少/写入位置时发生冲突/检测到无效的异常处理程序例程
  2. 「csp模拟试题 201903-2」二十四点 C/C++ 100分
  3. 程序员需要学习英语吗?
  4. Windows11 运行安卓子系统 教程
  5. c语言复制粘贴快捷键_大家还知道哪些快捷键方法?如:ctrl+c复制,ctrl+v粘贴
  6. about ContentProvider
  7. 简单电话簿管理系统(C语言)
  8. 常用的git命令(实用)
  9. matlab中函数参数和变量作用域
  10. Python 中的 astype() 和 .dtype