贝叶斯定理

贝叶斯定理

贝叶斯法则,贝叶斯公式

产生来源

引入:

在贝叶斯创造这个理论之前,人们已经能够计算出正向概率,如:“假设某个袋子中有N个白球,M个黑球,摸出黑球的概率是多大?”,当然这是在已知数据的情况下才能计算的先验概率。这个问题反过来:“如果我们事先并不知道袋子里面是什么球,而摸出一个(或者几个)球,观察球的颜色之后来推测袋子中球的比例”。这个问题就是逆向概率问题,也就是贝叶斯定理解决的问题。

定义:(英语:Bayes' theorem)是概率论中的一个定理,描述在已知一些条件下,某事件的发生几率。比如,如果已知某癌症与寿命有关,使用贝叶斯定理则可以透过得知某人年龄,来更加准确地计算出他罹患癌症的几率。————wiki解释

贝叶斯公式:

事件B发生的条件下,事件A发生的概率为:
P(A|B)=\dfrac{P(AB)}{P(B)}
事件A发生的条件下,事件B发生的概率为:
P(B|A)=\dfrac{P(AB)}{P(A)}
由此可得:
P(A|B)P(B)=P(AB)=P(B|A)P(A)
得贝叶斯公式如下:
P(A|B)=P(A)\dfrac{P(B|A)}{P(B)}

补充知识

  • 全概率公式:这个公式的作用是计算贝叶斯定理中的P(B);

P(B)=P(B|A)P(A)+P(B|A')P(A')

如果A和A'构成一个问题的全部(全部的样本空间),那么事件B的概率就等于A和A'的概率分别乘以B对这两个事件的条件概率之和

  • P(A):也叫先验概率边缘概率;在没有数据支持下,A发生的概率。

(Prior probability),不知道其他事件发生的前提下,我们对事件A发生概率的一个主观判断

  • P(A|B):也叫条件概率后验概率;在已知B发生后A的条件概率,由于得自B的取值而被称为A的后验概率。

(Posterior probability),即在B事件发生后,我们对事件A发生概率的重新评估

  • P(B|A):也叫似然函数;在已知A事件发生的情况下的概率分布。

\dfrac{P(B|A)}{P(B)}称为可能性函数(Likelyhood),这是一个调整因子,即新信息事件B的发生调整,使得先验概率更接近真实概率。

可能性函数可以理解为得到新信息后,对先验概率的一个调整,例如:主观认为明天下雨的可能为50%(先验概率),在知道今天的空气湿度、温度等信息(调整因子)后认为明天下雨的可能超过50%(后验概率)。

\dfrac{P(B|A)}{P(B)}>1,意味着“先验概率”被增强,事件A的发生的可能性变大;
\dfrac{P(B|A)}{P(B)}=1,意味着事件B无助于判断事件A的可能性;
\dfrac{P(B|A)}{P(B)}>1,意味着“先验概率”被削弱,事件A的发生的可能性变小;

深入理解

贝叶斯公式:
P(A|B)=P(A)\dfrac{P(B|A)}{P(B)}
上式可以理解为:
后验概率=先验概率*可能性函数

所以贝叶斯的底层思想为:
如果掌握了一个事情的全部信息,就可以计算出一个客观概率(古典概率、正向概率),但是绝大多数决策面临的信息都是不全的,在有限信息的条件下,尽可能预测一个好的结果,也就是在主观判断的基础上,可以先估计一个值(先验概率),然后根据观察的新信息不断修正(可能性函数)

先根据以往的经验预估一个先验概率P(A),然后加入新的信息(B),这样有了新的信息后,我们对事件A的预测就更加准确。

应用案例

案例一:事件判断

问题:有两个一模一样的碗,1号碗里有30个巧克力和10个水果糖,2号碗里有20个巧克力和20个水果糖。然后把碗盖住。随机选择一个碗,从里面摸出一个巧克力。这颗巧克力来自1号碗的概率是多少?

求解问题:

来自1号碗记为事件A1,来自2号碗记为事件A2,取出的是巧克力,记为事件B,那么要求的问题就是P(A1|B),即取出的是巧克力,来自1号碗的概率

已知信息:

1号碗里有30个巧克力和10个水果糖
2号碗里有20个巧克力和20个水果糖
取出的是巧克力

应用贝叶斯:

求先验概率(来自1号碗的概率)

由于两个碗是一样的,所以在得到新信息(取出是巧克力之前),这两个碗被选中的概率相同,因此P(A1)=P(A2)=0.5,(其中A1表示来自1号碗,A2表示来自2号碗)

这个概率就是"先验概率",即没有做实验之前,来自一号碗、二号碗的概率都是0.5。

求可能性函数:

P(B|A1)
表示从一号碗中(A1)取出巧克力(B)的概率。因为1号碗里有30个水果糖和10个巧克力,所以P(B|A1)=30/(30+10)=75%

P(B)
P(B|A1)是1号碗中巧克力的概率,我们根据前面的已知条件,很容易求出。P(B|A2)是2号碗中巧克力的概率,也很容易求出。
而P(A1)=P(A2)=0.5,根据全概率公式,最后P(B)=62.5%。所以,可能性函数P(A1|B)/P(B)=75%/62.5%=1.2。

带入贝叶斯公式求后验概率:

将上述计算结果,带入贝叶斯定理,即可算出P(A1|B)=60%

这个例子中我们需要关注的是约束条件:抓出的是巧克力。如果没有这个约束条件在,来自一号碗这件事的概率就是50%了,因为巧克力的分布不均把概率从50%提升到60%。

案例一:疾病检验

问题:假设艾滋病的发病率是0.001,即1000人中会有1个人得病。现有一种试剂可以检验患者是否得病,它的准确率是0.99,即在患者确实得病的情况下,它有99%的可能呈现阳性。它的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性。现有一个病人的检验结果为阳性,请问他确实得病的可能性有多大?

求解问题:

病人的检验结果为阳性,他确实得病的概率有多大?
病人的检验结果为阳性(新的信息)为事件B,他得病记为事件A,那么求解的就是P(A|B),即病人的检验结果为阳性,他确实得病的概率

已知信息:

疾病的发病率是0.001,即P(A)=0.001;
试剂可以检验患者是否得病,准确率是0.99,即在患者确实得病的情况下(A),它有99%的可能呈现阳性(B),也就是P(B|A)=0.99;
试剂的误报率是5%,即在患者没有得病的情况下,它有5%的可能呈现阳性,得病我们记为事件A,那么没有得病就是事件A的反面,记为A',所以这句话就是P(B|A')=5%;

应用贝叶斯定理:

求先验概率:

疾病的发病率是0.001,即P(A)=0.001

求可能性函数:

P(B|A)
表示在患者确实得病的情况下(A),试剂呈现阳性的概率,从前面的已知条件中我们已经知道P(B|A)=0.99

P(B)
根据全概率公式,可以求得P(B)=0.05,
所以可能性函数P(B|A)/P(B)=0.99/0.05=19.8

带入贝叶斯公式求后验概率:

得到了一个惊人的结果,P(A|B)等于1.98%。
也就是说,筛查的正确性都到了99%以上了,通过体检判断有没有得病的概率也只有1.98%

造成这么不靠谱的误诊的原因,是我们无差别地给一大群人做筛查,而不论测量准确率有多高,因为正常人的数目远大于实际的患者,所以误测造成的干扰就非常大了。根据贝叶斯定理,我们知道提高先验概率,可以有效的提高后验概率。所以解决的办法倒也很简单,就是先锁定可疑的样本,比如10000人中检查出现问题的那10个人,再独立重复检测一次,因为正常人连续两次体检都出现误测的概率极低,这时筛选出真正患者的准确率就很高了,这也是为什么许多疾病的检测,往往还要送交独立机构多次检查的原因。

案例二:垃圾邮件过滤器

问题:最初的垃圾邮件过滤是靠静态关键词加一些判断条件来过滤,效果不好,漏网之鱼多,冤枉的也不少。2002年,Paul Graham提出使用"贝叶斯推断"过滤垃圾邮件。因为典型的垃圾邮件词汇在垃圾邮件中会以更高的频率出现,所以在做贝叶斯公式计算时,肯定会被识别出来。之后用最高频的15个垃圾词汇做联合概率计算,联合概率的结果超过90%将说明它是垃圾邮件。

我们要求解的是这个概率:

P(垃圾邮件|检测到某种特征)
这个某种特征可以是关键词、时间、频次、附件类型、包括以上各种特征混合的特征……。

例如:
P(垃圾邮件|检测到“发票”关键词)=\dfrac{P(检测到“发票”关键词|垃圾邮件)}{P(检测到“发票”关键词)}

怎么知道垃圾邮件里出现“发票”关键词的概率?

理论上,除非我们统计所有邮件,否则我们是得不出的。这时候,就得做个妥协,在工程上做个近似,我们自己找到一定数量的真实邮件,并分为两组,一组正常邮件,一组垃圾邮件,然后进行计算,看 发票 这个词,在垃圾邮件中出现的概率是多少,在正常邮件里出现的概率是多少。

显然,这里的训练数量大一些的话,计算得到的概率会更逼近真实值。 Paul Graham 使用的邮件规模,是正常邮件和垃圾邮件各 4000封 。如果某个词只出现在垃圾邮件中, Paul Graham 就假定,它在正常邮件的出现频率是 1% ,反之亦然,这样做是为了避免概率为 0

这样的话,将公式继续分解为如下:

P(垃圾邮件|检测到“发票”关键词)= \dfrac{P(检测到“发票”关键词|垃圾邮件)}{P(检测到“发票”关键词)}

P= \dfrac{P(检测到“发票”关键词|垃圾邮件)}{P(检测到“发票”关键词∩垃圾邮件)+P(检测到“发票”关键词∩正常邮件)}

P= \dfrac{P(检测到“发票”关键词|垃圾邮件)}{\dfrac{P(检测到“发票”关键词|垃圾邮件)}{P(垃圾邮件)}+\dfrac{P(检测到“发票”关键词|正常邮件)}{P(正常邮件)}}

根据训练模型得到的概率,进行初始值计算:

此后,可以通过大量用户将垃圾邮件标注为正常邮件,正常邮件挪到垃圾邮件的动作,进行反复训练纠正,直至逼近一个合理值了。

不过这里还涉及到一个问题,就是单个关键词的概率(单个条件)无论如何再高,这封邮件仍然有可能不是垃圾邮件,所以在此处应用贝叶斯定理时,我们显然要用到多个条件,也就是计算这个概率:

P(垃圾邮件|检测到“A”关键词,检测到“B”关键词,检测到"C",...)

Paul Graham 的做法是,选出邮件中 P(垃圾邮件|检测到“X”关键词) 最高的 15个词 ,计算它们的联合概率。(如果关键词是第一次出现,Paul Graham 就假定这个值等于 0.4 ,也即认为是negative normal)。

案例三:机器学习之贝叶斯算法

后续更新……



参考文章1:(知乎)小白之通俗易懂的贝叶斯定理(Bayes' Theorem)
参考文章2:(简书)贝叶斯公式/贝叶斯法则/贝叶斯定理

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,723评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,485评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,998评论 0 344
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,323评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,355评论 5 374
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,079评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,389评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,019评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,519评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,971评论 2 325
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,100评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,738评论 4 324
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,293评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,289评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,517评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,547评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,834评论 2 345