概述
本质上,贝叶斯定理不仅仅是一个简单的规则,当你收到新的论据时,它用来改变你对某个假设的信任度:如果论据和假设一致,假设成立的概率上升,反之则下降。
如果我们观察一个即使没有该原因也会发生的结果,那么能肯定的是,该原因的证据力不足。贝叶斯通过以下句子概括了: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】——贝叶斯学派的全部内容,希望文章能够帮你解决终极算法【6】——贝叶斯学派所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复