56星座屋
当前位置: 首页 星座百科

从头开始实现贝叶斯算法(如何真正的理解算法)

时间:2023-05-26 作者: 小编 阅读量: 4 栏目名: 星座百科

有多少人能将贝叶斯思想自然的用于解释生活中的各种现象呢?实际上,贝叶斯当时的论文只是对这个问题的一个直接的求解尝试,并不清楚他当时是不是已经意识到这里面包含着的深刻的思想。然而后来,贝叶斯方法席卷了概率论,并将应用延伸到各个问题领域,所有需要作出概率预测的地方都可以见到贝叶斯方法的影子,特别地,贝叶斯成为机器学习的核心方法之一。

文/傅一平

源/与数据同行

大学时学习了很多高深的课程,什么数学物理方法、小波函数等等,但现在脑海里估计已经一片空白,反正大概是一堆公式和解题方法吧,其实就是在当时,也根本没深究过这些数学公式的来龙去脉,更无法理解这些公式后面的光辉思想。

贝叶斯算法大名鼎鼎,但用过贝叶斯的估计没几个能从业务的角度去真正理解贝叶斯吧?有多少人能将贝叶斯思想自然的用于解释生活中的各种现象呢?在电梯里你能用几句话跟领导解释清楚吗?

当然直接拿着贝叶斯公式或者调用一个函数的确可以快速解决问题,但这种方法显然没法内化,逻辑上的推导才是算法精神和乐趣所在,对于一个建模的人来说,如果有时间,还是要尽量让一个算法长在自己心里,语言和工具总会不断被更新,你也许永远跟不上这个节奏,唯有里面的思想是持久的,也是一大把年纪后能留下的唯一的算法资产,特别是如果其还能指导你的生活,知道为什么总是很重要。

1、关于信念

你相信上帝吗?你相信中医吗?你相信全球变暖是人为造成的吗?你相信转基因食品安全吗?你相信大年初一去灵隐寺烧香能带来好运吗?信或不信,我们可以用一个量化数字来表示,比如说概率,大年初一去灵隐寺烧香能带来好运的可能性是90%,这是主观概率,就好比天气预报说明天下雨的概率90%一样。

真正的深信不疑或彻底不信都是很少的,一般情况下对一般有争议的问题我们都是抱着将信将疑的态度,信念值在0.01%到99.99%之间,而且,我们对大多数事物的信念值都在动态变化,比如有什么特别突兀的新东西出来,我们一开始可能是不信的,随着证据增多,慢慢增加信念,那么,我如何基于这些证据去计算新的信念值?

2、贝叶斯的困惑

所谓的贝叶斯方法源于他生前为解决一个“逆概”问题写的一篇文章,而这篇文章是在他死后才由他的一位朋友发表出来的。在贝叶斯写这篇文章之前,人们已经能够计算“正向概率”,如“假设袋子里面有N个白球,M个黑球,你伸手进去摸一把,摸出黑球的概率是多大?”

而一个自然而然的问题是反过来:“如果我们事先并不知道袋子里面黑白球的比例,而是闭着眼睛摸出一个(或好几个)球,观察这些取出来的球的颜色之后,那么我们可以就此对袋子里面的黑白球的比例作出什么样的推测,随着取出的球越来越多,我的推测是否也会变化?”

实际上,贝叶斯当时的论文只是对这个问题的一个直接的求解尝试,并不清楚他当时是不是已经意识到这里面包含着的深刻的思想。然而后来,贝叶斯方法席卷了概率论,并将应用延伸到各个问题领域,所有需要作出概率预测的地方都可以见到贝叶斯方法的影子,特别地,贝叶斯成为机器学习的核心方法之一。

3、从业务出发推导贝叶斯定理

如果我在决策时掌握所有的信息,我当然能计算一个客观的概率,比如在一个桶里有黑白色的球,如果我事先知道里面黑白球的比例,我自然知道我随机拿到一个白球的概率是多少,如果我事先知道去灵隐寺获得好运的可能性就是90%,我自然会在某次路过灵隐寺的时候进去烧香。

可是生活中绝大多数决策面临的信息是不全的,我们手里只有有限的几个证据,而贝叶斯定理的精神在于,人类的观察能力是有限的,既然无法得到全面的信息,我们就在证据有限(表面)的情况下,尽可能地做一个更好的判断,下面我们先祭出贝叶斯公式,然后尝试用灵隐寺烧香能否显灵的例子推导出它:

P(A/B)=P(B/A)/P(B)*P(A)

这里P(A)代表认为升职的概率,B代表一个与A相关的事件(实例),比如“我朋友去年去了灵隐寺烧香,结果他升职了”,P(A/B)代表在B发生的情况下,A发生的概率,其他类似。

P(A)代表了我的原始信念A,就是说我对于升职有一个初始的判断概率,比如15%。P(A/B)代表某个实际事件发生后,有了新的证据,我需要对于原始的信念A做个调整,你可以把A当成你对一般情况的理论预言,而B是一次实验结果,有了新的实验结果,你就调整自己的理论预言,这个新的预言就是P(A/B)。

那么P(A/B)这个新的预言如何计算呢?

首先,跟初始的P(A)有关系,假如P(A)一开始极小,则再多的事件发生你也不会改变初衷,我们的当前观点肯定受先前观点的影响。

其次,跟P(B/A)/P(B)也有关系,就是说如果在原始信念P(A)作用下发生某个特定事件(B)的可能性相对更高了,则我由于这个事件改变原始信念的可能性就越高,比如这里P(B)代表去灵隐寺的概率,P(B/A)就代表升职的人中去过灵隐寺的的概率,两者比值就表示信念由于事实改变的相对大小,注意好好理解这句话。

最后,我们就得到了能业务化解释的贝叶斯公式:P(A/B)=P(B/A)/P(B)*P(A),假如你真理解了,你就不会纠结搞混这个公式。

4、从技术出发推导贝叶斯定理

当然,如果纯粹去推导出这个公式,其实也是容易的,笔者这里简要示意下:

U代表全空间,A代表升职,B代表去灵隐寺,C代表交集,很容易推导:

P(A,B)=C/U

P(A/B)*P(B)=C/B*B/U=C/U

P(B/A)*P(A)=C/A*A/U=C/U

即P(A/B)=P(B/A)/P(B)*P(A)

5、生活的启示

请看以下第一张图,你认为大树后面是一个箱子,还是两个箱子,或是三个箱子,为什么? 如果你认为是一个箱子,请看第二张图,你到底凭什么判断是一个箱子?

很简单,你会说:要是真的有两个箱子那才怪了,怎么就那么巧这两个箱子刚刚好颜色相同,高度相同呢?

那么,如何证明?

我们可以很容易用贝叶斯来解释这个生活常识问题,假如A1代表认为是一个箱子,A2代表二个箱子,B代表观察到的事件,则其实求解P(A1/B)、P(A2/B)哪个概率最大?

P(A1/B)=P(B/A1)/P(B)*P(A1)

P(A2/B)=P(B/A2)/P(B)*P(A2)

显然P(B/A2)猜测后面是两个箱子使得我们的观测结果成为小概率的时候,我们才会说才怪呢?哪能这么巧呢?

6、中文分词问题

中文分词领域就用到了贝叶斯,分词问题的描述为:给定一个句子(字串),如:南京市长江大桥,如何对这个句子进行分词(词串)才是最靠谱的,例如:

1. 南京市/长江大桥

2. 南京市长/江大桥

这两个分词,到底哪个更靠谱呢?

我们用贝叶斯公式来形式化地描述这个问题,令 B 为句子,A 为词串(一种特定的分词假设),我们就是需要寻找使得 P(A|B) 最大的 A ,使用一次贝叶斯可得:

P(A分词/B句子)=P(B/A)/P(B)*P(A)

由于P(B)对于每个A都一样,P( B/A )近似为1,则P(A/B)主要由P(A)决定,也就是要寻找一种分词A使得这个句子B的概率最大化。

如何计算一个词串,A=W1,W2,W3,W4...的可能性呢?

我们知道,根据联合概率的公式展开:P(W1, W2, W3, W4 ..) = P(W1) * P(W2|W1) * P(W3|W2, W1) * P(W4|W1,W2,W3) * ...,然而不幸的是随着条件数目的增加(P(Wn|Wn-1,Wn-2,..,W1) 的条件有 n-1 个),数据稀疏问题也会越来越严重,即便语料库再大也无法统计出一个靠谱的 P(Wn|Wn-1,Wn-2,..,W1) 来。

为了缓解这个问题,科学家们一如既往地使用了“天真”假设:我们假设句子中一个词的出现概率只依赖于它前面的有限的 k 个词(1个词就是朴素贝叶斯),这个就是所谓的“有限地平线”假设。

虽然这个假设很傻很天真,但结果却表明它的结果往往是很好很强大的,现在式子变成了:P(W1) * P(W2|W1) * P(W3|W2) * P(W4|W3) ..。

对于我们上面提到的例子“南京市长江大桥”由于“南京市长”和“江大桥”在语料库中一起出现的频率为 0 ,这个整句的概率便会被判定为 0 ,从而使得“南京市/长江大桥”这一分词方式胜出。

其他应用案例比如:

垃圾邮件识别(过滤器):P(A(垃圾邮件)/B(N个单词组成的垃圾邮件));

统计机器翻译:P(A(翻译成的外文)/B(待翻译的句子));

语音识别:P(A(推测出发送的句子)/B(观测到的语音信号));

7、一个具体计算案例

一般人中艾滋病的携带者比例是0.01%,如果一个人检测血液呈阳性,其得艾滋的概率是多少?(如果是真艾滋,血液检测的准确性达到99.9%,如果是假艾滋,血液检测准确率是99.99%)。

P(A(得艾滋)/B(检测呈阳性))= P(B/A)/P(B)*P(A)=99.9%/(0.01%*99.9% 99.9%*0.01%)*0.01%=50%。

真没想到,在这么高的血液检测准确性条件下,一个检测血液呈阳性的人真得艾滋的概率也只有50%。

直观解释:随机找1万人做实验,根据分布,只有1人得艾滋,由于检测手段强,这个人会被检测出来,但剩下的9999人虽然没艾滋,但检测出艾滋的概率由于0.01%,还是有1人被错误检测,因此共有2人检测成阳性,得艾滋的概率为50%。

因此,如果一个事情很罕见,即先验概率很低,即使再多的可疑事实出现,也要注意可能误判,比如不要对抓特务报太大信心!

笔者学习贝叶斯也是东看看,西看看,看了忘,忘了看,这次把学习的综合写成一篇还算易懂的文章,算是了却一个心愿,对于任何一个公式一定要在业务上搞懂搞透,起码能自圆其说吧,贝叶斯算是好懂的,但很多算法不是这样,公式的推导就已经让人发疯,更别提搞懂来龙去脉甚至跟生活去接轨了,从历史上看,牛人一般也只愿意show 结果,而不愿意把思考过程写下来,比如费马定理的证明,这个非常遗憾。

好了,贝叶斯介绍完了,如果你真的看到这里,是否对于其思想有一个新的理解?作为传统企业的一个技术人员,其实对于算法的掌控深度是非常纠结的,因为即使理解透了也可能于工作无益,这并非是性价比很高的方式,工程上能搞定就可以了。

但笔者想的是,这是一种学习方式,也许不用那么功利,自己觉得值就去干吧,没有谁能说现在学哪个知识就一定将来有用,或者没用,未来是如此不确定,在这个大数据时代。

,
    推荐阅读
  • 欢乐颂蒋欣穿绿色的衣服哪一集(细数欢乐颂里给我们种的草)

    中国上海,欢乐颂小区19号楼22层住着五个女人。灵感来源于纪梵希高级定制,将高级手工蕾丝融入护肤领域,与独家专利配方具有非凡生命力的"墨藻生命精萃"融合,带来出乎意料的抗老功效。第七集里,樊胜美手上拿的这款纪梵希小羊皮唇膏,也让本公举盯上了!↓兰芝气垫BB霜SPF30PARMB305特殊科技舒缓降温使用后即刻令肌肤温度下降3度,双重容器隔离炎热,维持海绵的温度。《欢乐颂》才播出了13集,就给我们安利了这么多好东西!

  • 梅雨季节衣服不干有味怎么办(梅雨季节衣服不干有味解决方法)

    梅雨季节衣服不干有味怎么办?以下内容希望对你有帮助!黑色能吸收热量及紫外线,并有杀菌功能,并不会出现捂坏的情况,比自然晾晒干得快,特别适合在阴雨天晾衣服用。如果是袜子这样的小件,可以放在正在使用的显示器上烘干。把铁丝衣架两端1/3处用力向前弯曲,衣架变成立体的,晾晒衣服时,前、后身就不会贴在一起,衣物内侧通风可以大大缩短晾晒的时间,阴雨天晾衣服可以快速晾干。

  • 沙漠鹰有哪些(盘点那些生不逢时的战鹰们)

    但是军方却不买账。美国空军于1991年4月23日宣布YF-22获选优胜。YF-23一共只有生产两架原型机,目前都已经不再飞行。1991年4月8日,美国陆军宣布波音、西科斯基公司小组获胜,LHX随之进入原型机研制阶段。运-10由于各种原因最终没有投产。,2000年2月29日首飞,只有1架技术验证机。1969年1月,在完成了最后一次试验飞行之后,被送进俄亥俄州的怀特,帕特森空军基地博物馆。

  • 海贼王热血航线怎么参加狙击王的试炼(海贼王热血航线如何参加狙击王的试炼)

    下面更多详细答案一起来看看吧!海贼王热血航线怎么参加狙击王的试炼工具/原料:华为P40,MIUI12.0.0.1,海贼王热血航线1.0.7。第一步玩家们登录自己的大区,在游戏的主页面找到玩法选项。这里我们需要选择的是第一个游戏狙击王点击进入。

  • 阿胶糕速冻一年还能不能食用(阿胶糕速冻一年还能食用吗)

    阿胶糕放这种食物在冰箱中冷藏了一年,这个时候是不可以食用的冷藏通常至少可以保质一个星期左右,即便是冷冻,也只只可以保质2个月到3个月之间,接下来我们就来聊聊关于阿胶糕速冻一年还能不能食用?阿胶糕速冻一年还能不能食用阿胶糕放这种食物在冰箱中冷藏了一年,这个时候是不可以食用的。而到了七八月的炎热天,高温也有可能导致阿胶融化。因此,不建议食用保存超过两个月的阿胶。

  • 2021广州国际汽车展览会门票多少钱(广州国际汽车展览会2020门票)

    第十九届广州国际汽车展览会将于2021年11月19日至28日在中国进出口商品交易会展馆举办,11月19日为媒体日。欢迎全球观众、媒体及业内人士前来参观。2021广州国际汽车展览会门票多少钱?11月19日为媒体日,仅对国内外媒体及特邀嘉宾开放。

  • 孩子咳嗽感冒流鼻涕小妙招(小孩感冒咳嗽流鼻涕)

    闺女感冒了,咳嗽,流鼻涕。按照医嘱按时吃药会很快好起来。于是改用第二方案,拿个吸管,放在奶瓶盖中,让小家伙吸,无效,屁孩知道是药仍抗拒。改用第三方案,拿小勺子喂,无效,甚至打翻药。于是又软下来苦口婆心地劝说,让她乖点,喝药,妈妈就不离开了,可这小家伙仍拒药,比革命烈士更坚决立场。改用第六方案,滴管滴,可小家伙很快发现是药,只让滴一次,决不上第二次当了。终于搞定这小家伙了。

  • WE战队的成员都是谁啊?(WE战队的成员简述)

    WE战队的成员都是谁啊WE.IGE的队员包括有:WE.IGE.Suho:中国第一精灵,左手会跳舞的男人。在第二届中韩对抗赛上勇夺冠军,并在Acon4上取得了季军的成绩。WE.IGE.Sky:Sky流创始人,WCG2005全球总决赛魔兽冠军。我们毫不怀疑其世界顶尖选手的实力。WE.IGE.WyW:中国星际Zerg第一高手。WE.IGE.DuCui:原Lion战队主力,国内顶尖orc玩家。WE.IGE.TeD:国内亡灵新秀,第一届“SoulWar激战台”擂主。

  • 新工科专业有哪些(有这五种)

    新工科专业有哪些?大数据类大数据是众多学科与统计学交叉产生的一门新兴学科,涉及数据挖掘、云计算等数学,我来为大家科普一下关于新工科专业有哪些?云计算,是指“超级计算集群”经过网络输送各种计算机服务及数据。智能科学与技术类。智能科学与技术专业面向前沿高新技术的基础性本科专业,覆盖面很广。光电信息科学与工程类。该专业主要学习光学、机械学、电子学及计算机科学基础理论及专业知识。

  • 人和自然的关系(关系有哪些)

    不论是以屈从于“神”的方式,还是以屈从于“道”的方式,敬畏都是人存在的统一姿势。在这个时期,西方艺术以描绘“神”为主题,东方艺术则以领悟“道”为宗旨。科学革命打破了人类的一切禁忌。神不再是世界的主体,而承载“道”的宇宙则被解释成不过是一群根据万有引力漂浮在太空的平凡球体。于是,无论是西方的神还是东方的道都变得不值一提。战争与环境问题挑战了人类理性的绝对地位。