贝叶斯网络Matlab.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
贝叶斯网络Matlab

Matlab贝叶斯网络建模1 FullBNT简介基于Matlab的贝叶斯网络工具箱BNT是kevin p.murphy基于matlab语言开发的关于贝叶斯网络学习的开源软件包,提供了许多贝叶斯网络学习的底层基础函数库,支持多种类型的节点(概率分布)、精确推理和近似推理、参数学习及结构学习、静态模型和动态模型。1.1贝叶斯网络表示BNT中使用矩阵方式表示贝叶斯网络,即若节点i到j有一条弧,则对应矩阵中值为1,否则为0。1.2结构学习算法函数BNT中提供了较为丰富的结构学习函数,都有:学习树扩展贝叶斯网络结构的算法.数据完整条件下学习一般贝叶斯网络结构学习算法表1-1 数据完整条件下贝叶斯结构算法算法名称调用函数K2算法learn_struct_k2()贪婪搜索GS(greedy search)算法earn_struct_gs()爬山HC(hill climbing)算法learn_struct_hc()…………缺失数据条件下学习一般贝叶斯网络结构学习算法表1-2 缺失数据条件下贝叶斯结构算法算法名称调用函数最大期望EM(expectation maximization)算法learn_struct_EM()MCMC(Markov Chain Monte Carlo)learn_struct_mcmc()…………1.3参数学习算法函数BNT中也提供了丰富的参数学习函数,都有:完整数据时,学习参数的方法主要有两种:最大似然估计learn_params()和贝叶斯方法bayes_update_params();数据缺失时,如果已知网络拓扑结构,用EM算法来计算参数, learn_params_em ()。1.4推理机制及推理引擎为了提高运算速度,使各种推理算法能够有效应用,BNT工具箱采用了引擎机制,不同的引擎根据不同的算法来完成模型转换、细化和求解。这个推理过程如下:BNT中提供了多种推理引擎,都有:表1-3 BNT推理引擎算法名称调用函数联合树推理引擎jtree_inf_engine()全局联合树推理引擎global_joint_inf_engine()信念传播推理引擎belprop_inf_engine()变量消元推理引擎var_elim_inf_engine()采样传播引擎gibbs_sampling_inf_engine2 参数学习在BNT中,参数评估程序可以分为4类。分类依据是否目标是通过参数或仅仅一个点的估计来计算贝叶斯全部的后验概率,是否全部的节点是可观察的或者存在数据/隐含变量(局部可观察)。Full obsPartial obsPointlearn_paramslearn_params_emBayesBayes_update_paramsnot yet supported2.1节点类型Noisy-or节点一个Noisy-or节点就像通常的“或”门一样,但有时父节点的效果将被抑制。受抑制的父节点i的概率用来表示。一个节点C,有两个父节点A和B,有如下CPD,使用F和T来表达关和开,(在BNT中是1和2)。ABP(C=off)P(C=on)FF1.00.0TFqA)1-q(A)FTq(B)1-q(B)TTq(A)q(B)1-q(A)q(B)Softmax 节点神经网络节点使用一个多层感知器实现了从连续父节点向离散子节点的映射。高斯节点将连续值的节点处理成一个离散的情况广义线性模型节点分类/回归树节点2.2 最大似然参数估计bnet3 = learn_params(bnet2, samples);2.3先验参数分布tabular_CPD(bnet, i, prior_type, dirichlet, dirichlet_type, unif);B=1B=2B=3A=1111A=2111tabular_CPD(bnet, i, prior_type, dirichlet, dirichlet_type, BDeu);B=1B=2B=3A=11/61/61/6A=21/61/61/6我们将 N/(q*r) 放入每个格;N 是等效的样本大小,r=|A|, q = |B|. 这可以按如上面方式创建:tabular_CPD(bnet, i, prior_type, dirichlet, dirichlet_type, ...BDeu, dirichlet_weight, 10);这里 1 是等效样本大小,也是先验概率的强度。你可以使用上面面方式更改它,3结构学习问题:以下两模型结构评分是否相等?表3-1算法概要贝叶斯模型选择算法1.建立模型A-B,生成样本数据2.建立所有可能的结构:(1)A B,(2)B-A,(3) A-B并计算先验概率3.模型2和模型3为Markov equivalent4.B节点使用noisy Not ga

文档评论(0)

zilaiye + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档