我自己找到一篇很通俗易懂的案例
英语原文:
http://www. norsys.com/tutorials/ne tica/secA/tut_A1.htm
以下内容摘录自www.norsys.com,根据实例内容意译译文。
贝叶斯网络应用实例一:胸部疾病诊所(Chest Clinic)
假想你是Los Angeles一名新毕业的医生,专攻肺部疾病。你决定建立一个胸部疾病诊所,主治肺病及相关疾病。大学课本已经中告诉你了肺癌、肺结核和支气管炎的发生比率以及这些疾病典型的临床症状、病因等,于是你就可以根据课本里的理论知识建立自己的Bayes网。如根据如下数据信息:
根据上面的数据可以建立如下BN模型:
这样的一个BN模型对你意义不大,因为它没有用到来你诊所病人的案例数据,不能反映真实病人的情况。当诊所诊治了数千病人后,会发现课本中所描述的北美的情况与实际诊所数据显示的情况是完全不同的,实际诊所数据显示:
将这些新数据输入到BN模型中,才真正的获得了对你有意义的实用BN模型:
现在,看看如何在日常诊断中用该BN模型。
现在看看如何增加个别病人信息调节概率。一个女病人进入诊所,我们开始和她谈论。她告诉我们她呼吸困难。我们将这个信息输入到网络。我们相信病人的信息,认为其存在100%呼吸困难。
可以观察到,一旦病人有呼吸困难症状,三种疾病的概率都增大了,因为这些疾病都有呼吸困难的症状。我们的病人存在这样的症状,某种程度上我们会推断这三种疾病可能性比较大,也增加了我们患者有严重疾病认识的信念。
- 明显增大的是支气管炎,从 45% 到 83.4%. 为什么会有如此大的增长呢?因为支气管炎病比癌症和肺结核更常见. 只要我们相信患者有严重的肺部疾病,那最支气管炎的可能性会更大些。
- 病人是抽烟者的几率也会随之增大,从50% 到63.4%.
- 近期访问过亚洲的几率也会增大: 从1% 到1.03%, 显然是不重要的.
- X光照片不正常的几率也会上涨,从11% 到16%.
知道现在我们还无法确认什么疾病困扰着我们的这个女患者,我们目前比较相信她患有支气管炎的可能性很大,但是,我们应该获得更多信息来确定我们的判断,如果我们现在就主观定了病症,她可能得的是癌症,那我们就是一个烂医生。这就需要更多信息来做最后的决定。
因此,我们按照流程依此问她一些问题,如她最近是不是去过亚洲国家,吃惊的是她回答了「是」。现在获得的信息就影响了BN模型。
继续问患者一些问题,假设患者是个吸烟者,则网络变为
此时注意到最好的假设仍然是认为患者患有支气管炎。为了确认我们要求她做一个X光透视,结果显示其正常。结果如下:
注意最大的区别。结核病或肺癌增加的概率极大。支气管炎仍然是三个独立的疾病中最可能的一个,但它小于"结核或肺癌"这一组合的假设。所以,我们将决定进行进一步测试,血液测试,肺组织活检,等等。我们当前的贝叶斯网不包括这些测试,但它很容易扩展,只需添加额外的节点作为我们获得新的统计数据的诊断程序。我们不需要扔掉以前的任何部分。这是贝叶斯网的另一个强大的功能。他们很容易扩展(或减少,简化),以适应不断变化的需求和变化的知识。
总结
在本节中,我们了解到,贝叶斯网络是一个用严格的数学方法来模拟一个世界的方法,是灵活的,适应于任何你拥有的知识程度的方法,同时也是计算效率的方法。
本文引用地址:http://blog.sciencenet.cn/blog-82650-255141.html 此文来自科学网邱士利博客
最后说下,这篇文章用到了一个叫做netica的软件,各位有需要的可以在这里下载
链接:
百度云 请输入提取密码
密码: 1qav
-------------20170127更新
鉴于大家都想对贝叶斯网路进一步了解,这里推荐一些资料:
【贝叶斯网引论】链接:
https:// pan.baidu.com/s/1qYxvvd U
密码: 7iv8
netica官方文档
http://www. norsys.com/WebHelp/NETI CA.htm
R语言贝叶斯网络的包
Bayesian network structure learning
R语言pcalg包
CRAN - Package pcalg