贝叶斯定理是什么,有什么用处?可能很多人都听过这个贝叶斯定理,却对它一知半解。事实上,不懂贝叶斯定理不会让我们的生活崩塌,不会让我们的生活一团乱麻,但是一旦掌握了贝叶斯定理,在很多决策场景中,我们将会变得更加明智。

今天我们将通过一个实际生活中的案例,用最通俗的方式帮助大家理解它。后续的话,我会为大家讲解如何用Python在实际案例中应用贝叶斯定理,感兴趣的朋友欢迎关注哦

小明到底有没有得癌症?

这是一个非常经典的案例,令人难以想象的是,很多时候一些医生的误诊竟是因为他们不懂贝叶斯定理!

考虑这样的场景,医生常通过某种血检来辅助判断病人是否罹患某种癌症。但是这种血检返回的结果并不是百分百的精准,当患者的确患病时,血检返回阳性的概率为98%;当患者没有患病时,血检返回阴性的概率为97%。已知有千分之一的人会得这种癌症。

现在小明做了这种血检,并且检测结果显示阳性,那么请问他得病的可能性大,还是没病的可能性大呢?

用直觉来判断,是不是第一反应就是小明大概率得了这种癌症了?

然而事实并非如此,小明得病的概率仅有3.17%!是不是非常难以置信?检验为阳性的时候,小明患病的概率竟然只有3.17%!现在应该很多同学不认可这个结果,那么接下来我们就看一下贝叶斯定理是个什么东西。

条件概率

认识贝叶斯定理之前,我们有必要先了解下条件概率以及它的一些性质。

条件概率是指在某些背景约束(或前提条件)下某事件发生的概率,比如令一名学生考上清华大学作为事件A,其概率为P(A),学生是女生作为事件B,其概率为P(B),那么在学生是女生的前提条件下,学生考上清华的概率就是P(A|B)。下面我们分别考虑事件A与事件B之间是否相互独立的情况。

贝叶斯算法实例讲解(数据分析入门贝叶斯定理)(1)

贝叶斯定理

从式(1)可以得知:

贝叶斯算法实例讲解(数据分析入门贝叶斯定理)(2)

式(2)就是鼎鼎大名的贝叶斯定理了,我们来从另一个角度理解一下它的意义。我们用数据集D替换事件B,用假设H替换事件A,得到:

贝叶斯算法实例讲解(数据分析入门贝叶斯定理)(3)

这就给我们提供了一种方法,可以根据数据集D的变化不断更新假设H发生的概率,这种方式被称作“历史诠释”。

那么我们现在来回头看小明是否得癌症的问题。

贝叶斯算法实例讲解(数据分析入门贝叶斯定理)(4)

等式的前半部分就是贝叶斯定理的公式。而在后边计算P(阳性)的时候,可以看到我们用了两部分相加得到了P(阳性)。这里我们不得不介绍一下全概率公式:

贝叶斯算法实例讲解(数据分析入门贝叶斯定理)(5)

拿我们这个例子来说,P(B)就是P(阳性),然而P(阳性)的数据我们无法直接获取,但是我们知道在患病和无病的条件下血检为阳性的概率,也知道患病和无病的概率,因此把患病情况下血检为阳性的条件概率乘以患病的概率,再加上无病情况下血检为阳性的条件概率乘以无病的概率,就是所有情况下血检为阳性事件发生的概率了,即:

贝叶斯算法实例讲解(数据分析入门贝叶斯定理)(6)

那么最后我们给出完整的计算过程:

贝叶斯算法实例讲解(数据分析入门贝叶斯定理)(7)

你学会了吗?有任何问题都可以在下方留言,我会一一回答!

,