什么是贝叶斯网络?做什么用?

贝叶斯定理

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

条件概率公式

也成为后验概率,就是事件A在另外一个事件B已经发生条件下的发生概率。条件概率表示为P(A|B),读作“在B条件下A的概率”。

对应有:

全概率公式:

我们举个例子,假如小张到公司有三条路可走,每条路的拥堵情况不一样,那么小张从家到公司的不迟到的概率为多少?

这时我们计算的概率就是全概率了。

我们需要算出三条路不迟到的概率,然后相加求和。公式如下,L 在此处指的就是条件。

贝叶斯公式:

在已知条件概率,和全概率的前提下,贝叶斯公式就可以得出。

至于为何要这样做,可以参考:https://www.wushuai.net/archives/654

贝叶斯网络

贝叶斯网络(Bayesian network),又称信念网络(Belief Network),或有向无环图模型(directed acyclic graphical model),是一种概率图模型,于1985年由Judea Pearl首先提出。它是一种模拟人类推理过程中因果关系的不确定性处理模型,其网络拓朴结构是一个有向无环图(DAG)。

贝叶斯网由一个有向无环图(DAG)和条件概率表(CPT)组成,通过DAG和一组随机变量表示它们的条件依赖关系。

参考理解:https://www.norsys.com/tutorials/netica/secA/tut_A1.htm

在应用中的理解

贝叶斯网络应用实例一:胸部疾病诊所(Chest Clinic)

假想你是Los Angeles一名新毕业的医生,专攻肺部疾病。你决定建立一个胸部疾病诊所,主治肺病及相关疾病。大学课本已经中告诉你了肺癌、肺结核和支气管炎的发生比率以及这些疾病典型的临床症状、病因等,于是你就可以根据课本里的理论知识建立自己的Bayes网。如根据如下数据信息:

  • 美国有30%的人吸烟.
  • 每10万人中就就有70人患有肺癌.
  • 每10万人中就就有10人患有肺结核.
  • 每10万人中就就有800人患有支气管炎.
  • 10%人存在呼吸困难症状, 大部分人是哮喘、支气管炎和其他非肺结核、非肺癌性疾病引起.

根据上面的数据可以建立如下BN(Bayesian Networks,有向无环网络)模型:

21a569894683edbbcfcf39b0ecb46e99_1440w

这样的一个BN模型对你意义不大,因为它没有用到来你诊所病人的案例数据,不能反映真实病人的情况。当诊所诊治了数千病人后,会发现课本中所描述的北美的情况与实际诊所数据显示的情况是完全不同的,实际诊所数据显示:50%的病人吸烟.1%患有肺结核.5.5% 得了肺癌.45% 患有不同程度支气管炎.
将这些新数据输入到BN模型中,才真正的获得了对你有意义的实用BN模型:

0ef323c753f7a2a8b3f37a2134ab2319_1440w

现在,看看如何在日常诊断中用该BN模型。

首先,应该注意到,上述模型反映了一个来诊所求医的新患者,为诊断之前我们没有这个患者的任何信息。而当我们向患者咨询信息时,BN网中的概率就会自动调整,这就是贝叶斯推理最完美、强大之处。贝叶斯网络最强大之处在于从每个阶段结果所获得的概率都是数学与科学的反映,换句话说,假设我们了解了患者的足够信息,根据这些信息获得统计知识,网络就会告诉我们合理的推断。现在看看如何增加个别病人信息调节概率。一个女病人进入诊所,我们开始和她谈论。她告诉我们她呼吸困难。我们将这个信息输入到网络。我们相信病人的信息,认为其存在100%呼吸困难。

cbb64ffb6b65e847a420260f4ea93604_1440w

可以观察到,一旦病人有呼吸困难症状,三种疾病的概率都增大了,因为这些疾病都有呼吸困难的症状。我们的病人存在这样的症状,某种程度上我们会推断这三种疾病可能性比较大,也增加了我们患者有严重疾病认识的信念。

仔细看看推断的过程:

  1. 明显增大的是支气管炎,从 45% 到 83.4%. 为什么会有如此大的增长呢?因为支气管炎病比癌症和肺结核更常见. 只要我们相信患者有严重的肺部疾病,那最支气管炎的可能性会更大些。
  2. 病人是抽烟者的几率也会随之增大,从50% 到63.4%.
  3. 近期访问过亚洲的几率也会增大: 从1% 到1.03%, 显然是不重要的.
  4. X光照片不正常的几率也会上涨,从11% 到16%.

知道现在我们还无法确认什么疾病困扰着我们的这个女患者,我们目前比较相信她患有支气管炎的可能性很大,但是,我们应该获得更多信息来确定我们的判断,如果我们现在就主观定了病症,她可能得的是癌症,那我们就是一个烂医生。这就需要更多信息来做最后的决定。

因此,我们按照流程依此问她一些问题,如她最近是不是去过亚洲国家,吃惊的是她回答了“是”。现在获得的信息就影响了BN模型。

d57be3a397a169b15e420da0f47a6729_1440w

患肺结核的几率显然增大,从 2%到 9%. 而患有癌症、支气管炎以及该患者是吸烟患者的几率都有所减少。为什么呢?因为此时呼吸困难的原因相对更倾向于肺结核。继续问患者一些问题,假设患者是个吸烟者,则网络变为

a729b982b5dede08862a9101928dc5d5_1440w

此时注意到最好的假设仍然是认为患者患有支气管炎。为了确认我们要求她做一个X光透视,结果显示其正常。结果如下:

eb1c17e85f7f4d4f1ac3d811ef1a9501_1440w

这就更加肯定我们的推断她患有支气管炎。

如果X光显示不正常的话,则结果将有很大不同:

4f79a2b89c9113dfbc3331862639c17c_1440w

贝叶斯分类器

贝叶斯分类器是一类分类算法的总称,贝叶斯定理是这类算法的核心,因此统称为贝叶斯分类。贝叶斯决策论通过相关概率已知的情况下利用误判损失来选择最优的类别分类。

朴素贝叶斯分类器 和 贝叶斯网络的区别就是,朴素贝叶斯分类器的各个特征属性之间是相互独立的,而贝叶斯网络研究的问题则针对于特征属性不独立的情况

这里需要搞清楚一个事情,相互独立:表示两个事件发生互不影响而互斥:表示两个事件不能同时发生,(两个事件肯定没有交集)。互斥事件一定不独立,独立事件一定不互斥。

参考 – 知乎 https://www.zhihu.com/question/28006799/answer/38996563

赞 (1)