贝叶斯、香农、奥卡姆合写博客「机器学习是什么」

https://www.cnblogs.com/DicksonJYL/p/9698362.html

作者:Tirthajyoti Sarkar

来源:TowardsDataScience,机器之心

牛顿说:「解释自然界的一切,应该追求使用最少的原理。」

介绍

我们很少听到一个三词短语,能将统计学习、信息论和自然哲学的一些核心概念融合到一起。它对于任何有探索兴趣的人来说,都有精确且易于理解的含义,而且对 ML 和数据科学的研究人员,它应该是个有实用性的词。

我说的就是「最小描述长度」(Minimum Description Length)。你可能在想这到底是什么……

让我们拨开层层迷雾,看看它有多有用。

贝叶斯和他的定理

我们从托马斯·贝叶斯牧师开始说起(不按年代),他从未发表过关于统计推理的想法,但他的同名定理却经久不衰。

在 18 世纪下半叶,还未曾出现名为「概率论」的数学科学分支。人们知道它,是因为 Abraham de Moievre 写的一本名为《机会学说》的书。1763 年,由贝叶斯撰写的一篇名为《机会问题的解法》的文章,经过 Richard Price 编辑后寄给了英国皇家学会,并发表到《伦敦皇家学会哲学学报》上。在这篇文章中,贝叶斯用一种频率论的方式描述了一个关于联合概率的简单定理,得到了逆概率的计算公式,即贝叶斯定理。

自此统计学科的两个敌对学派——贝叶斯学派和频率学派展开了多次「战争」。但为了本文的目的,让我们暂时忽略历史,把重点放在贝叶斯理论的简单解释上。本文只关注方程。

该方程本质是:在看到数据/证据(似然度)后更新先验概率,并将更新后的信念程度赋给后验概率。你可以从一个信念开始,但是每个数据点会加强或削弱这个信念,所以会一直更新假设。(假定 A 是某个过程的可能的前提,则 P(A) 是人们事先对前提条件出现可能性大小的估计,称之为先验概率。如果这个过程得到了一个结果 B,那么贝叶斯公式提供了我们根据 B 的出现而对前提条件做出新评估的方法。P(A∣B) 即是对以 B 为前提下 A 的出现概率的重新认识,称 P(A∣B) 为后验概率。)

听起来是不是简单明了?

不过这段话里有个小陷阱,你发现了吗?我漏掉了一个词「假设」。

在统计推理的世界中,假设就是信念。这是关于过程本质的信念(我们无法观察到),它产生于随机变量(有噪声但可观察)。在统计学中,假设被定义为一种概率分布。但在机器学习背景下,它被看做可以产生示例或训练数据的一套规则(或逻辑或过程),我们再从这个神秘过程中学到隐藏的性质。

所以让我们用数据科学的符号来重新定义贝叶斯定理。我们用 D 表示数据,h 表示假设。即应用贝叶斯的公式来确定:在给定数据下,数据由什么假设得到。我们把公式重写为:

一般来说,我们有一个巨大(通常为无限)的假设空间,可提供很多个假设。贝叶斯推理的本质是,我们检验数据,从而将最可能产生观测数据的假设的概率最大化。我们主要是想确定 P(h|D) 的 argmax 函数,即怎样的 h 使得观测的 D 的概率最大。为了实现这个目的,我们去掉分母 P(D) 的项,因为它不依赖于假设。这个方法被称为最大后验(MAP)。

现在我们应用下面的数学技巧:

  • 最大化原函数和最大化取对数的原函数的过程是相似的,即取对数不影响求最大值问题。
  • 乘积的对数等于对数的和。
  • 正量的最大化等同于负量的最小化。

底数为 2 的负对数项看起来是不是很熟悉?这都来自「信息论」,下面是香农篇。

香农

香农的麻省理工硕士论文在电气工程领域被称为 20 世纪最重要 MS 论文:22 岁的香农在论文中展示了如何利用带继电器和开关的电子电路实现 19 世纪数学家 George Boole 的逻辑代数(布尔代数)。数字计算机设计的最基本的特征是通过开关的打开闭合来表示「真」和「假」、「0」和「1」,并使用电子逻辑门来决定和执行计算——这都可以追溯到香农的论文中。

但这还不是他最伟大的成就。

1941 年,香农前往贝尔实验室从事战争方向的研究,包括密码学。他还在进行信息和通信领域的原创理论研究。在 1948 年,贝尔实验室就此项研究成果发表了一篇著名的论文。

香农定义了源信息量,即通过类似物理中定义热力学熵的公式定义消息中的信息量。用基础术语来说,香农信息熵就是编码信息所需的二进制数,对于概率为 P 的消息或事件,该消息最高效(紧凑)的编码需要-log2(p) 位。

这恰恰是出现在贝叶斯定理中的最大后验表示中的术语的本质。

因此,在贝叶斯推理中,最可能的假设依赖于决定编码长度的两个项,并偏好最小长度。

但长度是什么概念呢?

Length (h):奥卡姆剃刀

William Ockham(1287–1347)是一位英语方济会修士和神学家,也是一位非常有影响力的中世纪哲学家。作为一位伟大的逻辑学家,他的名气主要来自于他的格言,也就是众所众知的奥卡姆剃刀。剃刀一词指的是通过「剔除」不必要的假设或消除两个相似的结论来区分两个假设。

他的意思是:若无必要, 勿增实体。用统计学的话说,就是我们必须努力用最简单的假设来解释所有数据。

其他名人也说过类似的原则。

牛顿说:「解释自然界的一切,应该追求使用最少的原理。」

罗素说:「只要可能,就应该用由已知实体组成的构造来代替推导出未知实体的推论。」

人们总喜欢较短的假设。

下图 A 和 B 中,哪个决策树的长度更短?

即使没有一个假设「长度」的准确定义,我相信你会认为左边(A)的树看起来更短。因此,一个更短的假设是说,它有更少的自由参数或者复杂度更低的决策边界(对于分类问题而言),或者是能够表示简洁性的属性的组合。

那 Length(D|h) 又是什么?

它是给定假设的数据长度。什么意思呢?

直观上看,它与假设的正确性或表示能力有关。在给定假设的条件下,它决定了假设「推断」数据的能力。如果假设生成的数据非常理想,我们可以无误的预测出数据,那我们根本不需要数据。

回忆一下牛顿的运动定律。

它们首次以「原理」的形式出现时,背后没有任何的严格数学证明。它们不是定理,而更像基于对自然物体运动的观察而做出的假设。但是它们对数据的描述非常完美。所以它们最终变成了物理定律。

所以当力作用在物体上时,你不需要时刻记住每一刻的加速度数据。你只需要遵循假设的定律 F=ma,并相信根据这个公式,所有你需要的数据都能计算出来。这说明 Length(D|h) 非常小。

但是如果数据经常偏离严格假设,那你就要对这些偏差有一个「长」的描述,以解释这些偏差。

因此,Length(D|h) 简洁地描述了「数据与给定假设的吻合程度」的概念。

它本质上是错误分类或错误率的概念。对于完美的假设,它是短的,在极限情况下为零。对于一个不完全符合数据的假设,它往往比较长。

这是一种权衡。

如果你用奥卡姆的剃刀剔除掉你的假设,你可能会得到一个简单的模型,但该模型不会拟合所有数据。因此,你必须提供更多的数据。另一方面,如果你创建一个复杂且长的假设,训练数据可能会拟合得很好,但这个假设可能(对于其它数据)不正确,因为它违背了具有最小熵假设的最大后验准则。

很像偏差与方差的权衡吗?确实就是 :-)

三者结合

因此,贝叶斯告诉我们,最佳假设是假设长度和错误率之和的最小值。

这个意义重大的句子,几乎囊括了所有(全监督)机器学习。

从这句话延伸开来,可以看到:

线性模型的模型复杂度——选择什么多项式,如何减少平方和的残差。

神经网络的架构选择——如何防止过拟合,达到良好的验证准确率,同时减少分类误差。

支持向量机的正则化和核选择——非线性地权衡准确率和决策边界。

结论

从最小描述长度(MDL)的分析中,我们能得出什么结论呢?

这能直接证明短假设是最好的吗?好像不行。

MDL 表明的是,如果选择假设的表示使假设 h 的大小为—log2 P(h),并且如果选择异常(异常)的表示,则给定 h 的 D 的编码长度是等于—log2 P(D|h),则 MDL 原则产生 MAP 假设。

然而,为了证明我们有这样的表示,我们必须知道所有先验概率 P(h),以及 P(D|h)。相对于假设的任意编码和错误/误分类,没有理由优先考虑 MDL 假设。

在实际的机器学习中,对设计者来说,有时获得假设的相对概率表示比完全得到每个假设的绝对概率要容易得多。

在这一点上,领域的专业知识变得极为重要。它缩短了(通常)无限大的假设空间。通过它我们能获得一组可能性更高的假设,我们可以对这些假设优化编码,并找到其中一组最大后验假设。

总结和思考

如此简单的数学推导就能在概率论的基本特征上,深刻而简洁地描述监督机器学习的基本限制和目标。为简明扼要地阐述这些问题,读者可以参考论文《为什么机器学习有效》(http://www.cs.cmu.edu/~gmontane/ montanez_. pdf)。这些定理是如何和没有免费午餐定理联系到一起的,同样值得思考。

原文链接:https://towardsdatascience.com/when-bayes-ockham-and-shannon-come-together-to-define-machine-learning-96422729a1ad 

贝叶斯、香农、奥卡姆合写博客「机器学习是什么」相关推荐

  1. ⚡关于Eastmount博客「网络安全自学篇」系列重要通知!!!⚡

    为响应2021年9月1日施行的<中华人民共和国数据安全法>,以及<中华人民共和国网络安全法>.即日起Eastmount的博客「网络安全自学篇」系列将不再发布任何有关" ...

  2. 奥卡姆剃刀是什么?机器学习实践中那些学习模型或者那些评估指标践行了这一理论?

    奥卡姆剃刀是什么?机器学习实践中那些学习模型或者那些评估指标践行了这一理论? 奥卡姆剃刀:无无必要,勿增实体. 奥卡姆剃刀原理应用于模型选择时变为以下想法:在所有可能选择的模型中,能够很好地解释已知数 ...

  3. 牛人的博客(机器学习,图像处理,计算机视觉)

    1.小魏的修行路 http://blog.csdn.net/xiaowei_cqu  2.晨宇思远(邹宇华 北京航空航天大学) http://blog.csdn.net/chenyusiyuan  3 ...

  4. [转载]荷香如歌_xing2516_新浪博客

    原文地址:荷香如歌作者:松阳中山 荷香如歌 在炎炎的盛夏,我游览了世界上现存最大的古典皇家园林----承德避暑山庄.驻足于风景如画的"知鱼矶"旁,穿过那飘渺如幻的"烟雨楼 ...

  5. 来自寂寞码农的第一篇博客

    小农我是大二在读本科生 大一时候的小农就开始自学c语言 大概一周六小时的课程 在网上自己寻找资源. 给新手小白的建议是一定要学好c语言 C语言是基础 我们码农界有句话是c生万物 . 目前小农我还在努力 ...

  6. 当你看完这篇朴素贝叶斯(NB)算法后,是否会有怦然心动的感觉

    一.引言 当一位气象学家提供天气预报时,通常会使用像"明天70%的可能性会下雨"这样的术语来预测j降雨,这些预测称为下雨的概率.你有没有想过他们是如何计算的呢? 本文将讲述一种机器 ...

  7. python实现贝叶斯分类器

    文章代码来自博客贝叶斯分类器,在这篇博客代码的基础上稍作修改 用朴素贝叶斯法实现对水果分类: 文件结构: bayes_classfier. py #贝叶斯分类器 datasets={'banala': ...

  8. 机器学习算法系列(六)-- 朴素贝叶斯

    机器学习算法系列之 – 朴素贝叶斯 朴素贝叶斯法是基于概率统计,特征条件独立假设的分类方法,是一种非常常用的机器学习算法:通常用于处理文本分类和情感分析等自然语言处理任务中.相对于其他复杂的模型,朴素 ...

  9. 统计学习方法03—朴素贝叶斯算法

    目录 1.朴素贝叶斯的基本原理 2. 贝叶斯算法实现 2.1 数据集的准备与处理 2.2 GaussianNB 高斯朴素贝叶斯 2.2.1 @staticmethod静态方法 2.2.2 几种概率统计 ...

最新文章

  1. Ubuntu中的minicom
  2. 实现隐藏窗体而非关闭的方法
  3. C语言 变量 函数 (类型、作用域、生命周期、存储位置)
  4. Ubuntu下安装cmake,配置ITK 和 SimpleITK, VTK(已测试可执行)
  5. Linux查看时间段文件,Linux查看特定时间段内修改过的文件
  6. PHP遍历数组的几种方法
  7. 使用C语言----修改密码
  8. 如何用DAX实现查看每个月中不同类别排名前一位,以及一个简单的svg案例
  9. 实验2.2编写重载函数Max1
  10. 2.73 交叉编译python_Python这么火,要不要学?听听华为工程师怎么说...
  11. C# 浏览器控件 谷歌、火狐内核
  12. 因为梦想 书送远方 《数据化运营》免费领取
  13. filenet骗局_将FileNet P8与J2EE消息传递基础结构集成
  14. C++之常用集合(总结)
  15. win10打印机无法打印(怎样使用打印机打印)
  16. lesson 20 one man in a boat 独坐孤舟-for hours数小时做时间状语,having done于句首非谓语做状语,its wasteof time,do nothing
  17. 了解抖音小店店铺装修功能以及条件
  18. Qgis 如何根据范围来裁剪地图,高程图等
  19. 用哪些特殊的字符方便作为分隔符
  20. 小小盗号VC实现原理

热门文章

  1. abc类计算机,计算机科学ABC类会议分类表
  2. 如何设计一款地震高岗一派溪山千古秀的反爬虫?
  3. MoviePy - 中文文档4-MoviePy实战案例-把多个clip放置在一个画面中(超美)
  4. VS2010 + Qt5.3.2配置教程
  5. 自定义监听器 java
  6. 康奈尔Nature论文:一种使用反向传播训练的深度物理神经网络
  7. 申卫星:“十四五”数字经济高质量发展需要法治护航
  8. 优化物理和机器学习之间的协同作用
  9. 规则就够用?还是必须上机器学习?46页ppt教你如何把规则引擎和机器学习融会贯通...
  10. 独家 | 经验教训分享:我的第一个机器学习项目