您好、欢迎来到现金彩票网!
当前位置:刘伯温四肖中特料 > 推理结点 >

怎么通俗易懂地解释贝叶斯网络和它的应用?

发布时间:2019-05-21 16:46 来源:未知 编辑:admin

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

  这样的一个BN模型对你意义不大,因为它没有用到来你诊所病人的案例数据,不能反映真实病人的情况。当诊所诊治了数千病人后,会发现课本中所描述的北美的情况与实际诊所数据显示的情况是完全不同的,实际诊所数据显示:

  首先,应该注意到,上述模型反映了一个来诊所求医的新患者,为诊断之前我们没有这个患者的任何信息。而当我们向患者咨询信息时,BN网中的概率就会自动调整,这就是贝叶斯推理最完美、强大之处。贝叶斯网络最强大之处在于从每个阶段结果所获得的概率都是数学与科学的反映,换句话说,假设我们了解了患者的足够信息,根据这些信息获得统计知识,网络就会告诉我们合理的推断。

  现在看看如何增加个别病人信息调节概率。一个女病人进入诊所,我们开始和她谈论。她告诉我们她呼吸困难。我们将这个信息输入到网络。我们相信病人的信息,认为其存在100%呼吸困难。

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

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

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

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

  注意最大的区别。结核病或肺癌增加的概率极大。支气管炎仍然是三个独立的疾病中最可能的一个,但它小于结核或肺癌这一组合的假设。所以,我们将决定进行进一步测试,血液测试,肺组织活检,等等。我们当前的贝叶斯网不包括这些测试,但它很容易扩展,只需添加额外的节点作为我们获得新的统计数据的诊断程序。我们不需要扔掉以前的任何部分。这是贝叶斯网的另一个强大的功能。他们很容易扩展(或减少,简化),以适应不断变化的需求和变化的知识。

  在本节中,我们了解到,贝叶斯网络是一个用严格的数学方法来模拟一个世界的方法,是灵活的,适应于任何你拥有的知识程度的方法,同时也是计算效率的方法。

  最后说下,这篇文章用到了一个叫做netica的软件,我无聊将它破解掉了,去除了一些限制,各位有需要的可以在这里下载

  贝叶斯理论用于医学数据分析时,一个经典且对菜鸟容易上手的,就是基于贝叶斯网络的网络meta分析。那么,首先,何为meta分析?

  meta分析,又称paper灌水神器。(咳咳,严肃,严肃)meta分析通过比较同一研究主题下多个独立实验研究结果,用于探究临床药物在治疗某一疾病的有效性和安全性,或计算某一危险因素与某一疾病的相关性,或发现某一基因与某一疾病之间的关联程度,或评价某一诊断方法的敏感性和特异性,或分析某一药物的治疗某一疾病的费用与疗效。

  但是!单一的meta分析通常只能评价一种药物,一个基因啊?如果要比较几种药物治疗同一种疾病的疗效怎么办?另外,很多疾病可能是多基因相关,或者存在多个危险因素啊~这个时候怎么算?

  在传统meta 分析用,我们通过计算统计量(效应量effect sizes,置信区间confidence intervals, standard errors标准误, Z and P values Z值和P值)来分析不同研究中同一药物的疗效,此时输入的变量是药物组和安慰剂组的临床疗效值和两个组的样本量大小。而在比较多个药物的疗效时,变量成了药物A组的疗效值及样本量,药物B组的疗效值及样本量……以及安慰剂组组的疗效值及样本量。如果用图来表示,就是从两点一线变成了多点连网的关系。此时,频率统计只能通过两两比较的统计量及置信95%区间来排序,而贝叶斯统计则可利用后验概率对所有参与比较的药物进行排序。

  也就是说,在基于贝叶斯方法的网络meta分析中,会构造一个共同的对照基线,以实现对所有研究的共同分析。

  就像这篇比较不同抗抑郁治疗青少年抑郁的疗效的研究,构建了一个共同的安慰剂对照基线。

  在贝叶斯分析中,模型中的观测变量和参数都视为随机变量。此时样本x和参数Θ的联合分布可表示为:

  然而在网络meta分析时,从先验分布中抽样非常困难。此时,就需要使用马尔科夫链蒙特卡洛( Markov chain Monte Carlo, MCMC)方法对先验分布进行计算。(关于马尔科夫链和蒙特卡洛方法的基本概念可见随机过程笔记 - 混沌巡洋舰 - 知乎专栏)

  MCMC方法通过稳态的 马尔科夫链进行转移计算,等效于从 P(x) 分布采样,从而实现对先验分布的计算。最哈皮的是,使用MCMC方法时,问题维度的增加并不会降低其收敛速度或使其复杂。

  回到基于贝叶斯理论的网络meta分析,搞定了先验概率,便可进一步计算各个研究的相对处理效应,根据需要计算的效应值变量的特征和各研究间的异质性情况选择相应的模型代入分析。而对于网络meta分析的多节点变量,不同药物之间的比较通常存在较大的异质性,此时使用随机效应模型计算来自不同总体的纳入研究则更为可靠。(相应软件其实很傻瓜啦~认真阅读WinBUGS软件说明书吧)

  在这个网络meta分析中,研究者比较了多种非类固醇抗炎药治疗膝、 髋关节骨性关节炎疼痛的疗效,那两个大点就是样本量最大的两个不同的药物组(变量)。

  教科书上说,贝叶斯网络,既形式上,一个贝叶斯网络就是一个有向无环图,结点表示随机变量,可以是可观测量、隐含变量、未知参量或假设等;结点之间的邮箱边表示条件依存关系,箭头指向的结点依存于箭头发出的结点(父节点),每个结点都与一个概率函数相关。

  看看!说明啥?长得多么多么像医学中各个疾病与其危险因素的关系啊!多么多么像临床诊断指南里一下症状中几条中满足几条考虑诊断的诊断轴啊!

  此图是呼吸系统疾病(肺癌、支气管炎、肺结核)中危险因素与疾病之间相关概率的贝叶斯网络图,当然是简化了的。tica/secA/tut_A2.htm

  而形成一个可靠的以某个疾病为主题的贝叶斯网络图,则需要输入大量的原始数据进行计算。更进一步,当贝叶斯网络在结构上固定为标准化的输入输入的节点层级,变量间只能先进行线性组合,最后对一个变量进行非线性转换,应用于估计概率模型的参数时,它便成了人工神经网络。

  总之,作为机器学习的统计学基础的贝叶斯概率分析理论,其实我们的生活息息相关,不仅仅在于医学数据分析。

  董圣杰,冷卫东,田家祥,曾宪涛. Meta分析系列之五: 贝叶斯Meta分析与WinBUGS软件.中国循证心血管医学杂志2012年10月第4卷第5期

  廖炜圻 多处理因素meta分析与间接比较的模拟研究 南方医科大学硕士学位论文2011

  之前采访过一名前海征信里的“数据科学家”,他和我解释了什么是贝叶斯网络,也分享了贝叶斯网络的在实践中的应用。他 大致是这么说的:

  贝叶斯网络相关的技术,简单来说,它是一种因果的推理。比如说,我知道一个5亿人群体里的300万人的一些信息,再结合这300万人其他领域的标签,我们大概可以推测一下,其他4亿9千7百万人的这些数据是怎么样一个分布。

  因为,做风控模型的时候,如果数据是这样:比如说1亿人里面,我有前100万人的某些标签,另100万人的其他标签……这样的标签其实是不完整的,实际操作中十分难用。

  前海征信去年做了一个数据融合项目,就是想把这些零散的标签数据融合起来,放到模型里,让它变得更能帮助他们做决策——这块其实技术难度很高。

  最后,据介绍,他们用了贝叶斯网络相关技术后,去看他们的模型表现,效果大概提高了30%左右。

  (摘自雪梨酱发在DT专栏里的文章:前海征信卅伍研究院:为了对付“老赖”,我们打入了他们内部 - 知乎专栏)

  19世纪,概率论的发展从(相对静态的)的随机变量的研究发展到随机变量的时间序列S1,S2,S3...St...,即随机过程(动态的)研究,但是随机过程要比随机变量复杂得多。因为在任何一个时刻,对应的状态St都是随机的。

  举一个例子:我们把S1,S2,S3...St...,看成是北京的最高气温,这里面每个状态St都是随机的,第二,任何状态St的取值都可能和周围其他的状态有关。在本次的例子中,任何一天的最高气温,与这段时间的之前的最高气温是有关的。这样随机过程就有两个维度的不确定性。马尔可夫为了简化模型,提出了一个简化的假设,即随机过程中各个状态St的概率分布,只与它前一个状态St-1有关,即P(StS1,S2,S3...St-1)=P(StSt-1)

  这个假设后来被称为马尔可夫假设,而符合这个假设的随机过程称为马尔可夫过程,即为马尔可夫链。下面是一个离散的马尔可夫过程。

  前面提到的马尔可夫链,它描述了一种状态序列,其每个状态值取决于前面有限个状态。然而在现实生活中,很多事物的相关的关系并不能用一条链串联起来,它们之间的关系可能是交叉的,错综复杂的,比如下图,心血管疾病和它的成因之间是错综复杂的。

  可以把上述的有向图看成一个网络,其中每个圆圈表示一个状态。状态之间的连线表示它们的因果关系。所有的这些(因果)关系,都可以有一个量化的可信度,用一个概率描述。在网络中每个节点概率的计算,都可以用贝叶斯公式来计算,贝叶斯网络因此而得名。但是马尔可夫假设保证了贝叶斯网络便于计算。

  在上述的例子中我们做一个简化,假设只有三种状态,心血管疾病A,高血脂B,家族病史C为了简便起见,每个状态只有“有”,“无”两种状态。

  因此有家族病史的人只占人口的20%,但是它们占了有心血管疾病人数的53.57%,发病率高达60%,远远高于没有家族病史的人。

  因此这个问题包括五个随机变量,学生的智商(I)课程的难度(D),考试的成绩(G),学生的SAT成绩(S),推荐信的质量(L),G可以三个值,其余的都只能取两个值,因此,联合分布可以取值的总数为48。

  •贝叶斯网可以用有向图来表示,节点表示随机变量,边表示一个变量对另一个变量的直接影响。

  •课程的难度和学生的智商以独立的方式确定,并且先于模型中的任何变量。学生的成绩同时取决于这两个变量。SAT只取决于学生的智商。

  •第二个组成成分是一系列的局部概率模型,用于表示每个变量对其父节点依赖的本质。比如P(I)表示学生聪明与否的分布,P(GI,D)是表示学生成绩的条件分布。

  •例如,聪明学生在容易课程中得到A的可能性是90%,得到B的可能性是8%,得到C的可能性是2%。聪明学生在困难课程中得到A的可能性就是为50%。

  •模型中每个变量X都关联着一个条件概率分布,在已知其父节点的每种可能联合赋值的条件下,用来具体指明X的值的一个分布。对没有父节点的节点,条件概率分布以空变量集为条件。这个网络结构和条件概率分布一起组成了贝叶斯网β,

  •一个学生拥有成绩,课程难度,智力,SAT得分,推荐信等变量。通过一张有向无环图可以把这些变量的关系表示出来。

  •2.训练贝叶斯网络,如果不训练,我们只能知道定性的网络,而不能定量。实际上这一步也就 是要完成条件概率(CPT表)的构造,如果每个随机变量的值都是可以直接观察的,那么这一步的训练就是直观的。但通常贝叶斯网络存在隐藏变量节点。

  假设DAG已经构造了,我们要做的就是训练这个DAG网络,也就是说调整CPT的参数,最优化联合条件概率。

  朴素贝叶斯分类器通过假设每一个特征的出现都是独立事件,简化了计算复杂度,也避免了样本稀疏的问题。虽然这一假设常常是不准确的,但朴素贝叶斯在实际工程中出乎意料地好用。因为很多应用并不在乎精确的类概率,只关心最后的分类结果。

  然而,当特征之间相关性比较强,而我们又要求比较精确的类概率的时候,朴素贝叶斯就不够用了。

  现在每一项特征的概率可能受其他特征的影响。假设有一个函数pp可以表达这些影响:

  既然pp表达的是某一事件受其他事件的影响,那pp就可以用条件概率来定义:

  不过实际工程中,因为数据量很大,递归调用贝叶斯分类器是吃不消的。所以为了降低计算复杂度,我们需要进行一些简化:

  当然,如果有必要,上面的简化也可以放宽,以提高计算复杂度为代价,获得更准确的估计。

  进行上述简化后,我们得到了贝叶斯网络(Bayesian network)。

  贝叶斯网络中,特征间的相互影响关系,我们用有向无环图(DAG)来表示。在数学上,我们用图(Graph)来表示对象间的相互关系。图由结点(代表对象)和边(代表关系)组成。如果边具有方向,那么得到的图就称为有向图。对于一个有向图而言,如果从任一节点出发,都无法经过若干条边回到该节点,那么这个有向图就称为有向无环图。在贝叶斯网络中,我们用有向无环图的边的方向,表示某个特征对另一个特征的影响。无环则保证特征间的相互影响关系不会陷入无穷无尽的循环。

  特征对给定特征的具体影响程度,我们用条件概率表(CPT)来表示。条件概率表这个概念很容易理解。下图就展示了一个简单的贝叶斯网络中各特征的条件概率表。

  最后,特征间的相互影响关系,也就是DAG的构建,依赖于经验或领域知识。条件概率表,则可以用朴素贝叶斯来改进。

http://mojdzwonek.com/tuilijiedian/62.html
锟斤拷锟斤拷锟斤拷QQ微锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷微锟斤拷
关于我们|联系我们|版权声明|网站地图|
Copyright © 2002-2019 现金彩票 版权所有