机器学习中什么算法最好?了解“没有免费的午餐”定理

您所在的位置:网站首页 哪有免费的午餐 机器学习中什么算法最好?了解“没有免费的午餐”定理

机器学习中什么算法最好?了解“没有免费的午餐”定理

2024-07-03 20:01:21| 来源: 网络整理| 查看: 265

这几天在公众号看了几篇深度学习的文章,发现有些人对深度学习过渡的迷之自信,好像深度学习就是机器学习里最强的绝招:独孤九剑,任何场景和问题都可以把深度学习这套独孤九剑使出来耍一下,就可以完美搞定,然后收剑转身,四十五度仰望天空,留下一个世界难逢对手的孤傲背影。让我想起了网上看过的一个网友分享的自己的经历(此处应有哭笑不得的表情): 在这里插入图片描述 作为从业人员,我兴奋于目前已有的多种深度学习框架,如深度神经网络、卷积神经网络、深度置信网络以及递归神经网络等。也很高兴深度学习目前在一些领域取得的一些巨大成功,如计算机视觉、语音识别、自然语言处理、音频识别及生物信息学等领域的落地和应用都获取了极好的效果。但我们也应该有清醒的认识,深度学习是好,但也不能草率的有这种想法:认为任何场景任何数据只要套用了深度学习,肯定能学习出来一个特别好特别NB,远胜过其他算法的模型。深度学习有他的强大之处,但也有他的局限性,其他机器学习算法也有他们各自擅长的一面,不能一概而论,具体问题还是要具体分析。

“没有免费的午餐”定理的提出

机器学习里有一个“没有免费的午餐”定理,本文就基于该定理说一说为什么脱离具体问题,空泛的谈论和比较“什么学习算法更好”毫无意义。总之,要把握一个原则:没有更好的,只有更合适的。

“天下没有免费的午餐”是人尽皆知的俗语,指天底下不会有不要钱就可以吃到的东西,比喻想得到回报就必须付出劳动。这朴素的道理在机器学习中同样适用。

没有免费午餐定理(NFL)是由Wolpert 和Macerday在最优化理论中提出的。该定理证明:任何模型在所有问题上的性能都是相同的,其总误差和模型本身是没有关系的。一种算法(算法A)在特定数据集上的表现优于另一种算法(算法B)的同时,一定伴随着算法A在另外某一个特定的数据集上有着不如算法B的表现。所以不能脱离具体问题来谈论算法的优劣,任何算法都有局限性,必须要具体问题(机器学习领域内问题)具体分析(具体的机器学习算法选择)。

这里的问题更具体来讲就是指一个函数,从输入可以计算得到输出的函数,或者说从输入到输出的映射。我们获取了一堆样例数据,想要求解这个目标函数,通俗来说就是要解决这个问题。

“没有免费的午餐”定理的证明

具体证明过程可参考周志华教授的证明过程。 (对证明过程的更详细理解,可以参考该篇文章机器学习 - ”没有免费的午餐“定理的理解)

假设样本空间 X \mathcal{X} X和假设空间 H \mathcal{H} H都是离散的,令 P ( h ∣ X , L a ) P\left(h \mid X, \mathfrak{L}_{a}\right) P(h∣X,La​)代表算法 L a \mathfrak{L}_{a} La​基于训练数据 X X X 产生假设 h h h 的概率,再令 f f f 代表我们希望学习的真实目标函数。 L a \mathfrak{L}_{a} La​ 的“训练集外误差”,即 L a \mathfrak{L}_{a} La​ 在训练集之外的所有样本上的误差为 E ote  ( L a ∣ X , f ) = ∑ h ∑ x ∈ X − X P ( x ) I ( h ( x ) ≠ f ( x ) ) P ( h ∣ X , L a ) E_{\text {ote }}\left(\mathfrak{L}_{a} \mid X, f\right)=\sum_{h} \sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h \mid X, \mathfrak{L}_{a}\right) Eote ​(La​∣X,f)=h∑​x∈X−X∑​P(x)I(h(x)​=f(x))P(h∣X,La​) 其中 I ( ⋅ ) \mathbb{I}(\cdot) I(⋅) 是指示函数,若 ⋅ \cdot ⋅ 为真则取值1,否则取值0。

注释:

可以这样简单地等价,一个问题就是一个目标函数,问题的集合,就是目标函数的集合,即函数空间,也等价于假设空间 H \mathcal{H} H,因为我们求解出来的假设 h h h 必然是属于上述函数空间中的某一个函数,只是它并不一定恰好是目标函数(或者说几乎不可能是),所以在测试样本集上 h h h 必然会产生误差。有了问题,即有了目标函数,就有了样本数据,所有样本的集合就是样本空间。不同的目标函数,在样本上会求出不同的标签,这些带了标签的样本就是样例。我们的任务,就是从有限的样例数据中尽可能地还原出目标函数,使之能很好地描述(拟合)真实问题。假设就是根据训练数据集,训练出来的函数,这个函数可能并不是这个问题真正的目标函数,但值得注意的是,不管是真正的目标函数,还是我们训练出来的假设函数,它们都来自同一个函数空间

有了 L a \mathfrak{L}_{a} La​ 的“训练集外误差”后,假设考虑二分类问题,且真实目标函数可以是任何函数 X ↦ { 0 , 1 } \mathcal{X} \mapsto\{0,1\} X↦{0,1} ,函数空间为 { 0 , 1 } ∣ X ∣ \{0,1\}^{|\mathcal{X}|} {0,1}∣X∣ 。对所有可能的 f f f 按均匀分布对误差求和,有 ∑ f E ote  ( L a ∣ X , f ) = ∑ f ∑ h ∑ x ∈ X − X P ( x ) I ( h ( x ) ≠ f ( x ) ) P ( h ∣ X , L a ) = ∑ x ∈ X − X P ( x ) ∑ h P ( h ∣ X , L a ) ∑ f I ( h ( x ) ≠ f ( x ) ) = ∑ x ∈ X − X P ( x ) ∑ h P ( h ∣ X , L a ) 1 2 2 ∣ X ∣ = 1 2 2 ∣ X ∣ ∑ x ∈ X − X P ( x ) ∑ h P ( h ∣ X , L a ) = 2 ∣ X ∣ − 1 ∑ x ∈ X − X P ( x ) ⋅ 1 \begin{aligned} \sum_{f} E_{\text {ote }}\left(\mathfrak{L}_{a} \mid X, f\right) &=\sum_{f} \sum_{h} \sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) P\left(h \mid X, \mathfrak{L}_{a}\right) \\ &=\sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h \mid X, \mathfrak{L}_{a}\right) \sum_{f} \mathbb{I}(h(\boldsymbol{x}) \neq f(\boldsymbol{x})) \\ &=\sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h \mid X, \mathfrak{L}_{a}\right) \frac{1}{2} 2^{|\mathcal{X}|} \\ &=\frac{1}{2} 2^{|\mathcal{X}|} \sum_{\boldsymbol{x} \in \mathcal{X}-X} P(\boldsymbol{x}) \sum_{h} P\left(h \mid X, \mathfrak{L}_{a}\right) \\ &=2^{|\mathcal{X}|-1} \sum_{x \in \mathcal{X}-X} P(\boldsymbol{x}) \cdot 1 \\ \end{aligned} f∑​Eote ​(La​∣X,f)​=f∑​h∑​x∈X−X∑​P(x)I(h(x)​=f(x))P(h∣X,La​)=x∈X−X∑​P(x)h∑​P(h∣X,La​)f∑​I(h(x)​=f(x))=x∈X−X∑​P(x)h∑​P(h∣X,La​)21​2∣X∣=21​2∣X∣x∈X−X∑​P(x)h∑​P(h∣X,La​)=2∣X∣−1x∈X−X∑​P(x)⋅1​ 上式显示出,总误差与学习算法无关。对于任意两个学习算法 L a \mathfrak{L}_{a} La​ 和 L b \mathfrak{L}_{b} Lb​,都有 ∑ f E ote  ( L a ∣ X , f ) = ∑ f E ote  ( L b ∣ X , f ) \sum_{f} E_{\text {ote }}\left(\mathfrak{L}_{a} \mid X, f\right)=\sum_{f} E_{\text {ote }}\left(\mathfrak{L}_{b} \mid X, f\right) f∑​Eote ​(La​∣X,f)=f∑​Eote ​(Lb​∣X,f) 也就是说,无论学习算法 L a \mathfrak{L}_{a} La​ 多聪明、学习算法 L b \mathfrak{L}_{b} Lb​ 多笨拙,他们的期望性能都是些相同的。这也是“没有免费的午餐”定理,简称NFL。

“没有免费的午餐”定理的寓意

看到这样的结论,我们不仅扪心自问:既然大家都一样,谁也不比谁好,那对机器学习算法和模型的持续不断的研究又有什么意义呢?直接基于奥卡姆剃刀原则,随便用一种最简单的不就行了么?!其实这种想法误解了 NFL 定理的一个核心前提:假设所有“问题”出现的机会相同、或所有问题同等重要,即全体问题集合的分布是均匀的,地位均等。只有在该前提下,才可以得出假设与假设之间不存在任何优劣之分,算法与算法之间也不存在任何优劣之分,它们的性能期望值都是相等的。

但实际情形却并非如此,我们不会应用在所有问题上做测试来评估一个算法或者假设的性能,因为这是不合理也无法实现的。在现实应用中,任何算法和假设都有其特定的适用场景,我们关心的是它们在自己适配的场景上,即在某些问题上,能否表现出最优异的性能。

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

所以,NFL 定理最重要的指导意义在于先验知识的使用,也就是具体问题具体分析。NFL定理是让我们清楚地认识到,脱离问题的实际情况谈论模型优劣是没有意义的,因为若考虑所有潜在的问题,则所有学习算法都一样好。要谈论算法的相对优劣,必须要针对具体的学习问题;在某些问题上表现好的学习算法,在另一些问题上可能表现平平,只有让模型的特点和问题的特征相匹配,模型才能发挥最大的作用。因此在模型的学习过程中,一定要关注问题本身的特点,也就是关注问题的先验知识。这就像学习了一套方法:如何挑选质量好的苹果。这套方法对于挑选苹果很适合,可以让我们快又准的挑选出好的苹果,但这套方法用来挑选橘子可能就未必会有良好的效果,但这套方法只要能够解决苹果挑选的问题就已经很有价值了。



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭