04.12 程序员、码农必知——强大到无所不能的贝叶斯算法!

关于贝叶斯算法,我想作为码农一定大家都不陌生了,毕竟有句话说的好:不认识贝叶斯的码农不是一个好码农!


程序员、码农必知——强大到无所不能的贝叶斯算法!

但是你对贝叶斯算法究竟又了解多少呢?今天,小编和大家分享一些贝叶斯算法的知识,希望可以帮到大家也希望大家多多提出意见改进!

程序员、码农必知——强大到无所不能的贝叶斯算法!

贝叶斯定理:也称贝叶斯推理,是关于随机事件A和B的条件概率(或边缘概率)的一则定理。其中P(A|B)是在B发生的情况下A发生的可能性。早在18世纪,英国学者贝叶斯(1702~1763)曾提出计算条件概率的核心公式如下图:

程序员、码农必知——强大到无所不能的贝叶斯算法!

程序员、码农必知——强大到无所不能的贝叶斯算法!

光是看图你可能就会觉得头大,搞不清楚所以然,但是我们把它简单翻译一下她就变得很简单啦

  • P(A丨B)表达为:B这样的情况,A的可能性

  • P(B丨A)同理:A这样的情况,B的可能性

  • P(A)是A发生的可能性

  • P(B)是B发生的可能性,其中P(B)=P(B丨A)P(A)+P(B丨A')P(A')......这个叫做全概率公式

  • 用数学语言翻译就是:后验概率=先验概率*调整因子

公式中对应的代表含义如上,这样对应计算是不是就会变得容易一些呢?

程序员、码农必知——强大到无所不能的贝叶斯算法!

应用实例:

  • 投资决策

贝叶斯定理用于投资决策分析是在已知相关项目B的资料,而缺乏论证项目A的直接资料时,通过对B项目的有关状态及发生概率分析推导A项目的状态及发生概率。如果我们用数学语言描绘,即当已知事件Bi的概率P(Bi)和事件Bi已发生条件下事件A的概率P(A│Bi),则可运用贝叶斯定理计算出在事件A发生条件下事件Bi的概率P(Bi│A)。按贝叶斯定理进行投资决策的基本步骤是:

1 列出在已知项目B条件下项目A的发生概率,即将P(A│B)转换为 P(B│A);

2 绘制树型图;

3 求各状态结点的期望收益值,并将结果填入树型图;

4 根据对树型图的分析,进行投资项目决策。

程序员、码农必知——强大到无所不能的贝叶斯算法!

  • 吸毒者检测

贝叶斯定理在检测吸毒者时很有用。假设一个常规的检测结果的敏感度与可靠度均为99%,也就是说,当被检者吸毒时,每次检测呈阳性(+)的概率为99%。而被检者不吸毒时,每次检测呈阴性(-)的概率为99%。从检测结果的概率来看,检测结果是比较准确的,但是贝叶斯定理却可以揭示一个潜在的问题。假设某公司将对其全体雇员进行一次鸦片吸食情况的检测,已知0.5%的雇员吸毒。我们想知道,每位医学检测呈阳性的雇员吸毒的概率有多高?令“D”为雇员吸毒事件,“N”为雇员不吸毒事件,“+”为检测呈阳性事件。可得

  • P(D)代表雇员吸毒的概率,不考虑其他情况,该值为0.005。因为公司的预先统计表明该公司的雇员中有0.5%的人吸食毒品,所以这个值就是D的先验概率。

  • P(N)代表雇员不吸毒的概率,显然,该值为0.995,也就是1-P(D)。

  • P(+|D)代表吸毒者阳性检出率,这是一个条件概率,由于阳性检测准确性是99%,因此该值为0.99。

  • P(+|N)代表不吸毒者阳性检出率,也就是出错检测的概率,该值为0.01,因为对于不吸毒者,其检测为阴性的概率为99%,因此,其被误检测成阳性的概率为1-99%。

  • P(+)代表不考虑其他因素的影响的阳性检出率。该值为0.0149或者1.49%。我们可以通过全概率公式计算得到:此概率 = 吸毒者阳性检出率(0.5% x 99% = 0.00495)+ 不吸毒者阳性检出率(99.5% x 1% = 0.00995)。P(+)=0.0149是检测呈阳性的先验概率。用数学公式描述为:

程序员、码农必知——强大到无所不能的贝叶斯算法!

  • 根据上述描述,我们可以计算某人检测呈阳性时确实吸毒的条件概率P(D|+):

P(D|+) = P(+|D)P(D)/(P(+|D)P(D)+P(+|N)P(N))=0.99 *0.005/0.0149=0.332215

尽管我们的检测结果可靠性很高,但是只能得出如下结论:如果某人检测呈阳性,那么此人是吸毒的概率只有大 约33%,也就是说此人不吸毒的可能性比较大。我们测试的条件(本例中指D,雇员吸毒)越难发生,发生误判的可能性越大。

但如果让此人再次复检(相当于P(D)=33.2215%,为吸毒者概率,替换了原先的0.5%),再使用贝叶斯定理计算,将会得到此人吸毒的概率为98.01%。但这还不是贝叶斯定理最强的地方,如果让此人再次复检,再重复使用贝叶斯定理计算,会得到此人吸毒的概率为99.8%(99.9794951%)已经超过了检测的可靠度。

程序员、码农必知——强大到无所不能的贝叶斯算法!

  • 其他应用

程序员、码农必知——强大到无所不能的贝叶斯算法!


分享到:


相關文章: