当前位置: 首页 > 科技观察

什么是贝叶斯定理?朴素贝叶斯有多“朴素”?终于有人解释了

时间:2023-03-16 01:06:07 科技观察

假设您正在玩掷硬币游戏。游戏看起来很公平,没有人干预硬币结果,硬币看起来像普通硬币。对于即将开始的下一场比赛,您如何下注?从理论上讲,硬币落地后出现正面和反面的概率是一样的,所以你可以随意猜测,总会猜对一半。但这毕竟是理论,你不能确定你面前的硬币也是如此。更重要的是,你不能提前抛硬币足够多的次数来检验你的假设。那么应该采用什么样的投注策略呢?答案是基于历史资料。假设一枚硬币被抛掷10次,其中8次正面朝上。也就是说,经过10次练习,硬币正面朝上的概率是80%。虽然这个概率可能会偏离它的理论值(50%),但它仍然是一个重要的投注参考。如果还剩第11次抛硬币,您应该猜正面。更极端的是,如果一枚硬币被抛掷1亿次,正面朝上,那么下一次反面朝上的概率是多少?我们能坚信这是一枚特殊的钱币吗?不,虽然下一个硬币反面的概率无限接近于零,但不等于零。只要没有对硬币的进一步确认,无论我们抛多少次,都不能排除反面的可能性,只能无限降低对其可能性的期望。大多数人都在根据历史经验不断修正自己的认知。毕竟我们不是先知,无法提前知道所有事件发生的概率。这种思维方式具有实际意义,其背后的数学原理就是贝叶斯定理。一、什么是贝叶斯定理预测在生活中必不可少,比如决定是否多买股票、预测某支球队是否会获胜、决定下个月是否去旅行等。要做出准确的预测,不仅需要获得一个事件发生概率的理论值,还要根据实际经验做出合理的判断。换言之,人们对某一事件未来发生的认知,很大程度上取决于该事件或过去类似事件发生的频率。这就是贝叶斯定理的数学模型,最早是由数学家托马斯·贝叶斯提出的。贝叶斯生活在18世纪,职业是长老会牧师。1763年,他发表论文《论有关机遇问题的求解》,提出解决问题的框架,即通过不断增加信息和经验,逐渐接近真理或了解未知。这个想法奠定了贝叶斯理论的基础。贝叶斯定理的过程可以概括为:“过去的经验”加上“新的证据”得到“修正的判断”。它提供了一种将新观察到的证据与现有经验结合起来进行推论的客观方法。假设有随机事件A和B,它们的条件概率关系可以用下面的数学公式表示:其中,事件A是待调查的目标事件,P(A)是事件A的初始概率,称为先验probability,这是基于一些先前的观察或经验的概率。B是发生的新事件,它影响事件A。P(B)表示事件B发生的概率。P(B|A)表示A出现时B出现的概率,是条件概率。P(A|B)表示B出现时A出现的概率(也是条件概率)。就是我们要计算的后验概率,指的是在获得一些观测信息后,事件发生的概率。贝叶斯公式给出了一种通过先验概率和条件概率求后验概率的方法。例如,我们假设事件A代表堵车,事件B代表下雨,已知如下数据:某一天下雨的概率为40%,即P(rain)=0.4。上班路上堵车的概率是80%,即P(trafficjam)=0.8。如果上班路上堵车,那么有30%的概率是下雨天,即P(rain|trafficjam)=0.3。那么,我们可以求出下雨天上班堵车的概率:P(堵车|下雨)=P(堵车)×P(下雨|堵车)÷P(下雨)=0.8×0.3÷0.4=0.6这个计算并不复杂,但是意义深远。有时,先验概率很容易获得,但对于不同的条件概率,其计算难度差别很大。例如,医生可以统计心脏病患者的男女比例,但很少仅根据对方的性别来诊断患心脏病的概率。另外,根据贝叶斯公式,先验概率一般是通过之前的数据分析或统计得出的概率数据。后验概率是在一定条件下发生的概率,是获取信息后重新修正的概率。也就是说,后验概率可以在先验概率的基础上修正得到。1.贝叶斯和频率论者基于贝叶斯的思维几乎无时无刻不在出现。人们通常很少做出绝对的判断,但可以做出相对可信的推论,并根据新的证据不断更新先前的结论。例如,没有程序员可以保证他写的代码没有错误。但是我们可以对它做大量的验证,随着每一个测试的通过,我们可以更加确定这段代码的质量。在贝叶斯世界观中,概率被解释为人们相信某事会发生的程度,即信心。假设你不确定某件事发生的概率,但你知道这个概率值一定存在,于是你开始重复实验,并记录每次的结果。一开始,得到的后验概率是不稳定的。但随着试验次数的增加,观测值的概率会越来越接近其真实概率值。在这个过程中,我们不是从随机性中推导出确定性,而是保留不确定性。这就是贝叶斯的思维方式。然而,频率论者对概率有另一种解释。他们认为概率是一个事件在很长一段时间内发生的频率,即发生的次数。例如,发生车祸的概率可以认为是一段时间内发生车祸的次数。但是,发现这个定义并不适用于一些特殊情况,尤其是只发生一次的事件。Imaginethatduringanelection,wediscusstheprobabilityofacandidatebeingelected,buttheelectionitselfwillonlyhappenonceinthefuture,anddataonmultipleelectionswillneverbeavailable.为解决这一矛盾,频率论者提出了“替代现实”一词,套用当今物理学中的概念作为平行宇宙,频率论者认为概率是所有平行宇宙中出现的频率。有时将概率理解为置信度或频率不会影响结果。例如,一个人对车祸发生的信心,就等于他对车祸发生频率的了解。但有时用贝叶斯方式解释概率似乎更自然。例如,在大选的情况下,贝叶斯不需要考虑任何平行宇宙,他们只需要考虑对候选人获胜的信心,并将其视为选举成功的概率。这一认识具有现实意义。贝叶斯主义者认为,概率代表个人观点,每个人都可以给出自己的事件概率,因人而异,没有唯一的标准。有人给一个事件赋予的概率为0,表示他绝对确定这件事不会发生;如果概率为1,则表示他确定它会发生。概率值在0到1之间,代表他心目中这件事发生的可能性。这种观点为人与人之间的认知差异留下了空间。每个人都有不同的信息、认知和判断。这些差异导致不同的人对同一事件的发生有不同的信心。这并不意味着其他人是错误的。比如我抛硬币后偷看结果,我可以确定某个结果的概率是1。显然,我得到的额外信息不会改变硬币本身的结果,但会导致我和其他人为结果分配不同的概率值。在贝叶斯观点中,事件发生的置信度等同于概率。这似乎是人们长期以来与现实世界打交道的方式。很多时候,人们只能知道部分真相,但可以通过不断收集证据修正自己的信念。在检查不确定性时,频率论者和贝叶斯主义者有不同的起点。频率论者认为事件本身具有某种客观随机性,而贝叶斯主义者则认为这不是事件本身的问题,而是观察者不知道事件的结果。观察者对事件了解得越多,掌握的证据越多,对事件的判断就越准确。2.贝叶斯推理与应用为什么基于贝叶斯的推理与应用会在这些年广为流传和津津乐道?答案是因为大数据。以前没有大数据,先验概率很难得到。多年来,人们积累了大量的数据,贝叶斯模型的应用也越来越广泛。例如,贝叶斯统计方法被用于一些语言翻译网站和医学诊断仪器。同样在电子邮件软件中,也集成了基于贝叶斯方法的垃圾邮件过滤功能。贝叶斯定理告诉我们不要完全放弃我们最初的信念,即使获得了新的证据。新的证据可以让我们对某些结果更有信心,或帮助我们纠正最初信念中的错误。也就是说,我们必须在不忽视最初信念的情况下关注新证据。新的证据很重要,因为最初的信念可能是错误的,而这些证据可以用来进行修正。但同时,最初的信念仍然是重要的依据,不能仅凭新的证据就草率做出判断。关于这一点,让我们举几个例子。假设中年女性有1%的几率患上乳腺癌。有一种医疗设备可以检测女性的乳腺肿瘤。根据现有检测数据,该设备正确诊断乳腺癌的概率为80%。但对于健康的女性来说,也有10%的几率会误判。现在假设一名女性测试呈阳性,并且被发现患有乳腺癌,那么她实际患有癌症的概率是多少?大多数医生认为,既然设备检测呈阳性,那位女士患乳腺癌的概率应该很高,他们给出的答案通常在75%左右。但实际上,这个答案被高估了10倍。贝叶斯定理告诉我们,1%的先验概率不会立即变成75%的后验概率,它只会增加到7.5%。很多医生往往过分强调设备的准确性,认为如果检测结果为阳性,女性患乳腺癌的概率应该与设备的准确性相近,约为80%。但这种直觉是错误的。我们必须更多地关注女性患乳腺癌的初始比例(即先验概率)和健康女性为假阳性的概率。由于健康女性的比例远高于乳腺癌患者,她们也更容易被误诊为阳性,这一数据不容忽视。再比如,假设一个盒子里有很多球,其中85%是红球,15%是绿球。有人从盒子里拿出一个球。此人有色弱。假设他能以80%的准确率区分颜色。如果这个人说这是一个绿球,那么这个球是绿球的概率是多少?我们来做个计算:由于红球被看成绿球的概率是85%×20%,绿球被看成绿球的概率是15%×80%,所以球是绿球的概率为0.15×0.8/(0.85×0.2+0.15×0.8)=41.38%。也就是说,即使这个人看到的是绿球,而且他的辨色准确率达到了80%,因为绿球本身的基数小,所以这个球是红球的可能性更大。通过以上两个例子,我们可以发现,当先验概率足够强时,即使有新的证据出现,先验概率也会表现出惊人的影响。这对我们的启示是,我们不能只关注最新的信息,更要注意全局,考虑先验概率这个重要前提。二朴素贝叶斯是如何“朴素”的贝叶斯定理研究的是条件概率,即在一定条件下发生的概率。基于这种数学思想,提出了一种称为朴素贝叶斯的算法。朴素贝叶斯常用于解决分类问题,其目的是将具有某种特征的样本归入最有可能的类别中。也就是说样本属于哪个类别的概率最大,就认为属于那个类别。该算法已经应用于邮件分类、文章分类、情感分析等诸多应用场景。以邮件分类为例,该算法通过统计邮件内容中单词出现的频率来对邮件进行判断。例如,如果发现“扫码”、“汇款”等词频繁出现,则判断该邮件疑似垃圾邮件。既然叫朴素贝叶斯算法,那它“简单”在哪里呢?朴素贝叶斯算法的使用必须满足一个基本假设:假设给定目标值的各个特征是相互独立的,即条件独立。例如,“parrotscanfly”和“parrotscanlearntotalk”这两个短语是条件独立的,因为它们之间没有必然关系。“鹦鹉会飞”和“鹦鹉是鸟”不是条件独立的,它们是相关的:鹦鹉是鸟,所以它会飞;或因鹦鹉能飞,故名鸟。总之,这两个短语相互影响,“鹦鹉会飞”影响“鹦鹉是鸟”的结论,“鹦鹉是鸟”导致“鹦鹉会飞”,它们不是条件独立的。朴素贝叶斯算法为什么要设置条件独立的前提?这是因为,如果每个特征不是相互独立的,则在计算条件概率时必须考虑这些特征的所有排列组合。这不仅需要大量的计算,而且会产生指数级的参数,在实践中很难实现。下面以文本分类为例,看看朴素贝叶斯算法是如何工作的。首先,确定每个类别在不同特征条件下的出现概率。比如要判断一篇文章是经济类文章还是体育类文章,可以把这个问题变成:当出现“银行”、“贷款”等特定词时,这篇文章属于的概率是不是更高属于经济类,还是属于运动类?更高的概率?其次,省略计算全概率。由于只是比较概率,因此没有必要计算每个特征出现的完整概率。根据贝叶斯公式,总概率对于所有类别具有相同的分母,可以忽略进行比较。即对于任何文章,“银行”出现的概率是多少,包含“贷款”的概率是多少,不需要统计。最后,也是朴素贝叶斯算法的核心思想:假设每个特征都是条件独立的。这样,只要计算出每个特征的条件概率,然后相乘比较,就可以得出结论。也就是说,不管文章中的“bank”和“loan”这两个词是否相关(实际上很有可能是相关的),只计算每个词的条件概率即可。在这个例子中,假设在待分类的文章中出现了“银行”和“贷款”这两个词。而我们已经有了一些经济和体育文章的样本,我们可以提前计算出不同的词出现在不同文章中的概率。现在要判断手上的文章是经济类文章还是体育类文章,可以计算出以下两个“分数”。分数1=(文章是经济文章的概率)×(经济文章中出现“银行”的概率)×(经济文章中出现“贷款”的概率)分数2=(文章是体育的概率articleProbability)×(“bank”出现在体育文章中的概率)×(“loan”出现在体育文章中的概率)如果score1大于score2,则这篇文章更有可能是经济文章,否则,它被认为是体育用品。当然,使用朴素贝叶斯算法需要一些“技巧”。例如,算法要避免某个概率为0的情况。假设根据手头已有的学习样本,“bank”这个词恰好没有出现在经济类文章中,则得到(“bank”出现的概率在经济类文章中)为0,这是一个问题,因为只要有0,总分就一定为0,会放大生僻词对结果的影响。因此,有时会为每个单词的出现次数设置一个较小的初始值,以防止那些不存在的样本影响整体概率。对于文本处理,虽然不同的词之间存在联系,每种语言都有自己特定的语法规则,但朴素贝叶斯选择忽略这些联系。这种“简单”的假设大大简化了计算过程,而且从实用的角度来看,结论通常不会有太大的偏差。这就是朴素贝叶斯的“朴素”思想,人为地给出了一个非常强的前提。由于这种假设,模型中包含的条件概率数量大大减少,朴素贝叶斯算法的预测过程也大大简化。当然,这也在一定程度上牺牲了分类精度。三人人都懂贝叶斯贝叶斯定理虽然只是一个数学公式,但其内涵已经远远超出了公式的范畴。它告诉我们要从不同的角度去思考已有的想法,用不同的方式去检验它们,通过实践不断调整我们对问题的假设和看法。贝叶斯定理提供了一种全新的看待事物的方式。在不确定的环境中,每条信息都会影响原有的概率假设,决策需要根据最新的信息进行更新和改进,直到决策者从不确定状态转变为坚定信心状态。人类的认知可能就是这样。人类总是在探索和掌握新的知识。在这个过程中,纠正了一些知识,摒弃了错误的观念。“燃素”就是一个很好的例子。这个概念最早出现在17世纪,当时人们还不了解空气的成分,也没有氧气、氮气、氧化等方面的知识。为了解释燃烧现象,提出了“燃素”的概念。人们认为物体燃烧是因为燃素。后来通过科学实验,人们认识到燃烧是一种化学反应,“燃素”的概念从此被彻底摒弃。除了认知更新,贝叶斯定理还解释了为什么人们难以接受与自己的经验相悖的信息或想法。因为只有条件概率足够强,才能改变先验概率的原有影响。例如,过去大多数人都相信“地球是平的”。公元前5世纪左右,古希腊哲学家毕达哥拉斯提出地球是球形的猜想,但当时他没有证据。后来,亚里士多德根据月食时地球影子的形状给出了第一个科学证据。直到16世纪,葡萄牙人麦哲伦实现了人类历史上的第一次环球航行,证明了“地球是圆的”,人们才开始普遍接受“地球”的概念。在推理小说中,侦探推理的过程也包含了贝叶斯定理的思想。优秀的侦探会先在心理学上做一个假设,比如先假设某人是罪犯的先验概率,然后根据不断获得的线索和证据更新后验概率。你得到的线索越多,证据越有力,某人就是罪犯的可能性就越大。在福尔摩斯推理小说中,福尔摩斯本人就是一个非常擅长贝叶斯推理的人。当他第一次见到沃森时,他就知道他来自阿富汗。福尔摩斯的推理过程是这样的:眼前的这位先生有医务工作者的风度,却有军人的气度。所以推测对方很可能是一名军医。他的脸色黝黑,手腕上的皮肤却是黑白分明的,可见他原本的肤色并不是黑色,所以才刚从炎热的气候中回来。面容憔悴,可见久病初愈,历经磨难。左臂受了伤,还有些僵硬,活动不便。试问,英国军医哪能在炎热的气候中历尽艰辛,伤到胳膊呢?当然,只有在阿富汗。这样一连串的假设、推论、验证,显示了福尔摩斯的智慧,也展示了贝叶斯推理的过程。无论是在数学上还是在生活实践中,贝叶斯定理都具有重要的指导意义。究其原因,从一件事的“因”推导出“果”很容易,但要做到逆运算就非常困难了。例如,如果一个人向窗户扔球,球很可能会打破窗户。我们的思维和认知都是朝着“因果”的方向发展的。但是如果我们只知道结果,也就是窗户被打破了,想要推断原因,就必须得到更多的信息,比如哪个男孩扔了球打破了窗户?窗户被球打破了吗?解决这个逆概率问题比前向推导困难得多,但贝叶斯方法为我们提供了一种估计逆概率难题的实用方法。一般来说,我们可以从思维推导的正向出发,直接估计确定的概率,然后用贝叶斯公式求出逆向推导困难的条件概率。这是贝叶斯定理在统计学中的一个重要应用。作者简介:徐盛,某商业银行IT技术总监,毕业于上海交通大学,在IT技术领域工作十余年,对技术发展和人工智能有自己独到的见解,并且专注于智能运维(AIOps)、数据可视化、容量管理等工作。本文节选自《大话机器智能:一书看透AI的底层运行逻辑》,经发布者授权发布。(书号:9787111696193)