本质上,贝叶斯定理不仅仅是一个简单的规则,当你收到新的论据时,它用来改变你对某个假设的信任度:如果论据和假设一致,假设成立的概率上升,反之则下降。

如果我们观察一个即使没有该原因也会发生的结果,那么能肯定的是,该原因的证据力不足。贝叶斯通过以下句子概括了:P(原因|结果)随着P(结果),即结果的先验概率(也就是在原因不明的情况下结果出现的概率)的下降而下降。最终,其他条件不变,一个原因是前验的可能性越大,它该成为后验的可能性就越大。综上所述,贝叶斯定理认为: P(原因|结果)=P(原因)*P(结果|原因)/P(结果)

用A代替原因,用B代替结果,然后为了简洁,把乘法符号删掉,就得到贝叶斯字母公式: P(A|B)=P(A)P(B|A)/P(B)

贝叶斯定理之所以有用,是因为通常给定原因后,我们就会知道结果,但我们想知道的是已知的结果,如何找出原因。贝叶斯定理让我们由原因推出结果,又由结果知道原因,但其重要性远非如此。对于贝叶斯定理的信仰者来说,这个伪装起来的公式其实就是机器学习中的F=ma等式,很多结论和应用都是在这个等式的基础上得出的。

贝叶斯学派回答的是:概率并非频率,而是一种主观程度上的信任。因此,用概率做什么由自己决定,而贝叶斯推理让你做的事就是:通过新证据来修正你之前相信的东西,得到后来相信的东西。

如果学习算法利用贝叶斯定理,且给定原因时,假定结果相互独立,那么该学习算法被称为“朴素贝叶斯分类器”。没有人能肯定是谁发明了朴素贝叶斯算法。在1973年的一本模式识别教科书中,它被提到过,当时并未注明出处,但它真正流行起来是在20世纪90年代,那时研究人员惊喜地发现,它很多时候比许多更为复杂的学习算法还要准确。

起初看起来可能不是这样,但朴素贝叶斯法与感知器算法密切相关。感知器增加权重,而朴素贝叶斯法则增加概率,但如果你选中一种算法,后者会转化成前者。两者都可以概括成“如果......那么......”的简单规则,这样每个先例都会多多少少体现在结果中,而不是在结果中“全有或全无”。

HMM(隐藏的马尔科夫模型)有助于模拟所有种类的序列,但它们远远不如符号学派的“如果......那么......”规则灵活,在这个规则中,任何事都可以以前提的形式出现,而在任意下游规则中,一条规则的结果可以反过来当作前提。然而,如果我们允许如此随意的结构在实践中存在,那么需要掌握的概率数量将会呈爆发式增长。

很长一段时间,没有人知道如何打破这个循环,而研究者们只能求助于特别方案,比如将置信度估算与规则挂钩,并以某种方式将它们联合起来。20世纪80年代终于有了突破,朱亚迪.珀尔发明了一种新的表示方法:贝叶斯网络。珀尔意识到,拥有一个随机变量之间复杂的依赖关系网络也没什么,只要每个变量仅仅直接依赖其他几个变量。

在任意贝叶斯网络中也是同样的道理:为了获得完整状态的概率,只需将单个变量表格中相应行上的概率相乘。因此,只要条件独立性有效,转换到更加简洁的表示方法不会导致信息丢失。这样我们就可以很容易算出极端非寻常状态的概率,包括之前未观察到的状态。

我们可以看到朴素贝叶斯法、马尔科夫链、HMM都是贝叶斯网络的特殊例子。贝叶斯网络对贝叶斯学派来说,就像逻辑与符号学者的关系:一种通用语,可以让我们很好地对各式各样的情形进行编码,然后设计出与这些情形相一致的算法。

推理的关键问题是你能否使填好的图“看起来像一棵树”,而不让树干变得太密。树干的“厚度”是物种数量的大小。当枝干过于茂密时,我们的唯一选择就是求助于近似推理。

有一个方法,珀尔在关于贝叶斯网络的书中,将其当作练习,也就是假装图形没有闭环,并来来回回传播概率,直到这些概率集中于一点。

然而,最受人青睐的选择就是借酒浇愁,喝的酩酊大醉,然后整夜都在跌跌撞撞。该选择的技术术语为“马尔科夫链蒙特卡洛理论”(MCMC):有“蒙特卡洛”这个部分,是因为这个方法涉及机遇;有“马尔科夫链”部分,是因为它涉及采取一系列措施,每个措施只能依赖于前一个措施。MCMC中的思想就是随便走走,就像众所周知的醉汉那样,以这样的方式从网络的这个状态跳到另一个状态。

人们在谈论MCMC时,往往把它当作一种模拟,但它其实不是:马尔科夫链不会模仿任何真实的程序,我们将其创造出来,目的是为了从贝叶斯网络中有效生成样本,因为贝叶斯网络本身就不是序变模式。

既然我们知道了如何解决推理难题,就可以从数据中掌握贝叶斯网络了,因为对贝叶斯学派来说,学习只是另一种形式的概率推理。需要做的只是运用贝叶斯定理,把假设当作可能的原因,把数据当作观察到的效果:
P(假设|数据)=P(假设)*P(数据|假设)/P(数据)
假设可以和整个贝叶斯网络一样复杂,或者和硬币正面朝上的概率一样简单。

实际上,对于贝叶斯学派来说,没有所谓的真相。你有一个优先于假设的分布,在见到数据后,它变成了后验分布,这是贝叶斯定理给出的说法,也就是贝叶斯定理的全部。

贝叶斯法不仅仅适用于学习贝叶斯网络,还适用于其特殊情况。我们可以将先验分布置于任意级别的假设中(规则组、神经网络、程序),然后在给定数据的条件下,利用假设的可能性来对其进行更新。贝叶斯学派的观点就是,选择什么表示方法由你决定,但得利用贝叶斯定理来掌握它。

我们可能认为贝叶斯学派和符号学派相处的很好,因为考虑到他们都相信学习的第一原理方法,而不相信自然启发的方法。事实不是这样的,符号学派不喜欢概率,符号学派指出我们因为概率而付出的高昂代价。反过来,贝叶斯学派指出了逻辑的脆弱性。

贝叶斯学派和符号学派一致认为,先验假设不可避免,但对于他们认可的先验知识种类却存在分歧。对于贝叶斯学派来说,知识越过模型的结构和参数,进入先验分布中。原则上,之前的参数可以是任意我们喜欢的值,但贝叶斯学派趋向于选择信息量不足的先验假设,因为这样更易于计算。但符号学派则要灵活的多:作为先验知识,你可以为自己的学习算法提供任何能用逻辑编码的东西。

显然,我们既需要逻辑,也需要概率。将联结学派和进化学派结合起来很简单:只要改善网络结构,利用反向传播来掌握参数。但将逻辑和概率统一起来要困难的多。多数专家相信,将逻辑和概率相统一是不可能的。

到目前为止,我们谈到的所有学派有一个共同点:他们都学习研究现象中的显式模型,无论它是一组规则、一个多层传感器、一个基因计划,还是一个贝叶斯网络。当他们没有足够的数据来做这件事时,就会被难住。但类比学派可以从甚至小到一个例子的数据中学习,因为他们绝不会形成一种模式。

参考文献:

终极算法. [美] Pedro Domingos 著. 黄芳萍 译

终极算法【6】——贝叶斯学派相关推荐

  1. 频率学派还是贝叶斯学派?聊一聊机器学习中的MLE和MAP

    作者:夏飞 Google | 软件工程师 量子位 已获授权编辑发布 转载请联系原作者 本文作者夏飞,清华大学计算机软件学士,卡内基梅隆大学人工智能硕士,现为谷歌软件工程师. 在这篇文章中,他探讨了机器 ...

  2. 基于python的贝叶斯分类算法_分类算法-朴素贝叶斯

    朴素贝叶斯分类器(Naive Bayes Classifier, NBC)发源于古典数学理论,有着坚实的数学基础,以及稳定的分类效率.同时,NBC 模型所需估计的参数很少,对缺失数据不太敏感,算法也比 ...

  3. 德国坦克问题及频率学派与贝叶斯学派

    转载:Tony's blog: 德国坦克问题及频率学派与贝叶斯学派 (tonysh-thu.blogspot.com) 这是一个看起来很基础很简单的经典问题:假设所有的德国坦克是从1开始按自然数递增编 ...

  4. Machine Learning | (5) Scikit-learn的分类器算法-朴素贝叶斯

    Machine Learning | 机器学习简介 Machine Learning | (1) Scikit-learn与特征工程 Machine Learning | (2) sklearn数据集 ...

  5. a*算法的优缺点_轻松理解机器学习算法-朴素贝叶斯

    1.预备知识 贝叶斯定理(Bayes' theorem)是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关.通常事件A在事件B发生的条件下的概率,与事件B在事件A发生的条件下的概率是不一 ...

  6. 算法杂货铺——分类算法之贝叶斯网络(Bayesian networks)

    算法杂货铺--分类算法之贝叶斯网络(Bayesian networks) 2010-09-18 22:50 by T2噬菌体, 66011 阅读, 25 评论, 收藏, 编辑 2.1.摘要 在上一篇文 ...

  7. 贝叶斯学派,先验概率,后验概率,贝叶斯估计

    最近paper上看到了很多贝叶斯估计的问题,总结一下网上的贝叶斯估计相关知识. 贝叶斯公式: 最大似然估计: 实际上是求了红线框起来的部分 最大后验估计: 实际上是去求了红线框起来的部分.比最大似然估 ...

  8. python实现排列组合公式算法_Python实现卡尔曼滤波算法之贝叶斯滤波

    Python实现卡尔曼滤波算法之贝叶斯滤波 作者:yangjian 卡尔曼滤波器属于贝叶斯滤波器的一种特例,本文主要讲解贝叶斯滤波原理及其算法的python实现. 先来看下贝叶斯公式 贝叶斯公式 :后 ...

  9. 贝叶斯算法c语言,01 贝叶斯算法 - 朴素贝叶斯

    引子: 1.孩子的性别问题 已知一对夫妻生了2个孩子,其中一个是女孩,那么另一个也是女孩的概率的多少? 普遍大家会觉得生男生女都一样,所以另一个也是女孩的概率是1/2.而另一部分稍微聪明一点的人认为: ...

  10. 机器学习算法之贝叶斯

    目录 文章目录 目录 一.简单实例 二.朴素贝叶斯 三.高斯贝叶斯 四.综合实例 总结 一.简单实例 import numpy as np X=np.array([[0,1,0,1],#模拟天气特征[ ...

最新文章

  1. ggplot2笔记3:工具箱——误差线、加权数、展示数据分布
  2. 乐山市2021年高考成绩查询,四川乐山2021年普通高考报名人数 实际高考参考人数...
  3. ActiveX 控件导入程序
  4. centos 安装jdk_Centos7下安装一个或多个tomcat7完整
  5. kitkat-s5p4418drone 记录
  6. 401 Palindrome
  7. 计算机usb端口没反应,技术编辑教您电脑usb接口没反应怎么办
  8. 七牛服务器入门教程_教程:使用无服务器,StepFunction和StackStorm构建社区的入门应用程序…...
  9. python 字符串翻转
  10. java 指定时间转换_Java中使用Calendar进行获取指定时间,使用SimpleDateFormat进行格式化转换...
  11. linux8安装bbr_CentOS 7安装4.9内核开启BBR
  12. springboot 事务嵌套问题_在springboot中写单元测试解决依赖注入和执行后事务回滚问题...
  13. PCIe device tree range属性详解
  14. lisp型材库_基于Visual Lisp的面向对象零件库的开发
  15. 免费而强大的十款PCB设计软件
  16. 吸引子传播(Affinity Propagation)算法
  17. 计算机课程总结800字,计算机课程心得体会范文800字(通用5篇)
  18. 为女性们点赞!Google 为女性提供更多支持
  19. IDEA中出现java file outside of source root
  20. MySQL 报错:ERROR 1137 (HY000): Can't reopen table: 'tempId'

热门文章

  1. 基于能量采集的认知无线电时间和功率分配(二)
  2. 德芙网络营销策略ppt_看德芙网络营销策划经典案例,戳这里!
  3. 华为手表广告营销案例和广告策划案例PPT模板
  4. 小学steam计算机课程案例,基于STEAM教育的小学信息技术课程案例开发
  5. Activiti Explorer messages 国际化文件
  6. Java实现地图的导出
  7. html模板原型,政务管理系统原型模板分享
  8. EditPlus 3编译运行设置
  9. jQuery第六章课后作业
  10. win10打开计算机黑屏怎么办,win10系统开机就一直黑屏无法进入桌面的解决方法...