美文网首页
贝叶斯定理

贝叶斯定理

作者: oceanLong | 来源:发表于2017-04-17 23:08 被阅读32次

贝叶斯定理

引言

在生活中,我们常常对于把握很大的事情,坚信不疑。假设我们有一个检测人是否有过吸毒经历的设备,它的准确率为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)

总结

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

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

以上。

相关文章

  • 产品经理如何应用贝叶斯定理?(来源于网络)

    贝叶斯定理提供的是一种逆条件概率的方法,本文简单总结了贝叶斯定理是什么,贝叶斯定理应用的理解,以及贝叶斯定理在AI...

  • 贝叶斯与全概率

    贝叶斯定理 全概率公式 形式1 形式2 真正的贝叶斯定理

  • 基于sklearn的朴素贝叶斯分类器

    理论内容 贝叶斯定理 贝叶斯定理是描述条件概率关系的定律$$P(A|B) = \cfrac{P(B|A) * P(...

  • 贝叶斯定理

    贝叶斯定理有什么用? 在有限的信息下,能够帮助我们预测出概率。所有需要作出概率预测的地方都可以见到贝叶斯定理的影子...

  • 贝叶斯定理

    贝叶斯定理是关于随机事件A和B的条件概率(或边缘概率)的一则定理。其中P(A|B)是在B发生的情况下A发生的可能性...

  • 贝叶斯定理

    贝叶斯定理(英语:Bayes' theorem)是概率论中的一个定理,它跟随机变量的条件概率以及边缘概率分布有关。...

  • 贝叶斯定理

    公式: P(A∩B)=P(A)P(B|A)=P(B)P(A|B) P(A|B)=P(B|A)*P(A)/P(B) ...

  • 贝叶斯定理

    贝叶斯公式 我们把P(A)称为"先验概率",即在B事件发生之前,我们对A事件概率的一个判断。P(A|B)称为"后验...

  • 贝叶斯定理

    贝叶斯定理 引言 在生活中,我们常常对于把握很大的事情,坚信不疑。假设我们有一个检测人是否有过吸毒经历的设备,它的...

  • 贝叶斯定理

    万维钢 如果我们对某件事的信念值非常非常低,那么即使强有力的证据也很难扭转我们的信念。 比如我国特殊时期的“抓特务...

网友评论

      本文标题:贝叶斯定理

      本文链接:https://www.haomeiwen.com/subject/qlmxzttx.html