文档介绍:,提供了许多贝叶斯网络学习的底层基础函数库,支持多种类型的节点(概率分布)、精确推理和近似推理、参数学习及结构学习、静态模型和动态模型。,即若节点i到j有一条弧,则对应矩阵中i,j值为1,否则为0。,都有:学习树扩展贝叶斯网络结构的TANC算法learn_struct_tan().数据完整条件下学习一般贝叶斯网络结构学习算法表1-1数据完整条件下贝叶斯结构算法算法名称调用函数K2算法learn_struct_k2()贪婪搜索GS(greedysearch)算法earn_struct_gs()爬山HC(hillclimbing)算法learn_struct_hc()…………缺失数据条件下学习一般贝叶斯网络结构学习算法表1-2缺失数据条件下贝叶斯结构算法算法名称调用函数最大期望EM(expectationmaximization)算法learn_struct_EM()MCMC(MarkovChainMonteCarlo)learn_struct_mcmc()…………,都有:完整数据时,学习参数的方法主要有两种:最大似然估计learn_params()和贝叶斯方法bayes_update_params();数据缺失时,如果已知网络拓扑结构,用EM算法来计算参数,learn_params_em()。,使各种推理算法能够有效应用,BNT工具箱采用了引擎机制,不同的引擎根据不同的算法来完成模型转换、细化和求解。这个推理过程如下:BNT中提供了多种推理引擎,都有:表1-3BNT推理引擎算法名称调用函数联合树推理引擎jtree_inf_engine()全局联合树推理引擎global_joint_inf_engine()信念传播推理引擎belprop_inf_engine()变量消元推理引擎var_elim_inf_engine()采样传播引擎gibbs_sampling_inf_engine2参数学习在BNT中,参数评估程序可以分为4类。分类依据是否目标是通过参数或仅仅一个点的估计来计算贝叶斯全部的后验概率,是否全部的节点是可观察的或者存在数据/隐含变量(局部可观察)。-or节点一个Noisy-or节点就像通常的“或”门一样,但有时父节点的效果将被抑制。受抑制的父节点i的概率用P(i)来表示。一个节点C,有两个父节点A和B,有如下CPD,使用F和T来表达关和开,(在BNT中是1和2)。ABP(C=off)P(C=on))1-q(A)FTq(B)1-q(B)TTq(A)q(B)1-q(A)q(B)Softmax节点神经网络节点使用一个多层感知器实现了从连续父节点向离散子节点的映射。高斯节点将连续值的节点处理成一个离散的情况广义线性模型节点分类/=learn_params(bnet2,samples);(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结构学习ABAB问题:以下两模型结构评分是否相等?表3-->B,:(1)AB,(2)B<-A,(3)A->