贝叶斯定理

贝叶斯定理

引言

在生活中,我们常常对于把握很大的事情,坚信不疑。假设我们有一个检测人是否有过吸毒经历的设备,它的准确率为99%。如果,我们用它检测出小区内,有一个邻居呈阳性,我们很难相信他不是一个瘾君子。

然而事实是这样吗?

假设小区有200人,我能够确定有1个人吸毒。经过上面的检测装置,查出了这个倒霉鬼,我们是否能够结案了?

答案是否定的。我们不仅不能结案,我们甚至会得出一个很惊人的结论。我们冤枉了好人的概率有67%,我们的正确率只有33%。

发表于1763年的贝叶斯定理像我们揭示了这个惊人的结论。贝叶斯推理的问题是条件概率推理问题,这一领域的探讨对揭示人们对概率信息的认知加工过程与规律、指导人们进行有效的学习和判断决策都具有十分重要的理论意义和实践意义。

准备

条件概率公式:

P(A|B) = P(AB)/P(B)
P(A|B)——在 B 条件下 A 的概率。即事件A 在另外一个事件 B 已经发生条件下的发生概率。
P(AB)——事件A、 B同时发生的概率,即联合概率。联合概率表示两个事件共同发生的概率。A 与 B 的联合概率表示为 P(AB) 或者 P(A,B)。
P(B)——事件B发生的概率。

推导

结合上面的例子:

我们把小区居民是吸毒者定为事件A,通过检测装置呈阳性的概率为B。我们需要求得的是在检测为阳性的情况下,这个人是吸毒者的概率,即P(A|B)。

通过上面的条件,我们可以得知:
P(B|A) = 0.99
P(A) = 0.005
假设A‘ 为小区居民不是吸毒者
P(B) = P(B|A) x P(A) + P(B|A') x P(A') = 0.99 x 0.005 + 0.01 x 0.995 = 0.0149
根据条件概率公式:
P(A|B) = P(AB)/P(B)
P(B|A) = P(BA)/P(A)
所以:
P(A|B) = P(B|A) x P(A) / P(B) = 0.99 * 0.005 / 0.0149 = 0.332
可以看到,这里与我们上面的结论相同,我们这次检测结果正确的概率只有0.33。

这其中P(A)为先验概率 , P(A|B)为后验概率。我们可以看到,虽然检测装置不完全靠谱。但借助它99%的准确率,我们也将0.005的概率提升到了0.332。

贝叶斯定理

贝叶斯定理

应用

场景

在机器学习中,我们在处理文本信息(如邮件过滤)时,经常会用到贝叶斯定理。贝叶斯定理本质上擅于解决已知P(Bi|A)和P(A),求P(A|Bi)的问题。
比如我们将A定为垃圾邮件,Bi定为邮件中包含的各种垃圾特征。现在我们有一堆已经标定的数据,我们可以从中统计出,如果邮件是垃圾邮件,它包含各种垃圾特征的概率是多少。同时,我们也已知在我们的数据中,垃圾邮件的概率是多少,包含各种垃圾特征的邮件是多少。
通过贝叶斯定理,我们就能够求出包含各种垃圾特征的邮件中,垃圾邮件的概率。

其中朴素贝叶斯(NaiveBayes)算法就是,只要包含各种垃圾特征的邮件是垃圾邮件的概率是50%,我就认为它是垃圾邮件了(非常朴素却有效的想法)。

工程实践

我们使用python的sklearn进行工程实践。

数据

我们需要大量的邮件数据,然后将数据分为特征数据和标签数据。
特征数据表示,这些邮件中包含了哪些垃圾特征。
标签数据表示,这些邮件中哪些是垃圾邮件。
这些数据的获取方式不是本篇重点,不赘述

features_train,  labels_train = getTrainData()

训练模型

我们用sklearn中的高斯贝叶斯进行训练

from sklearn.naive_bayes import GaussianNB
clf = GaussianNB()
clf.fit(features_train , labels_train)

使用模型

通过训练好的模型,预测数据。

pred = clf.predict(features_test)

验证准确率

如果我们事先已经获得了features_test这组数据的标签,我们就可以对clf上面的结果进行验证,以确定我们模型的准确率。

from sklearn.metrics import accuracy_score
print accuracy_score(pred , labels_test)

总结

贝叶斯定理,推导简单,应用广泛。在搜索、信息过滤、机器学习中都有它的身影。通过对条件概率的变换,给我们带来了更客观的视角,和解决问题的方法。其中,朴素贝叶斯由于方法简单,我们非常容易选取想要的特征,这也降低了这个算法的使用门槛。

同时,朴素贝叶斯将各特征都当作了独立事件,没有考虑特征之间的联系,这也是贝叶斯算法的局限性,使它不适用于特征关系非常密切的系统。

以上。

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

推荐阅读更多精彩内容