A. 怎么通俗易懂地解释贝叶斯网络和它的应用
我们首先呢下载贝叶斯网络工具箱再个呢解压压缩包然后将工具箱中bnt文件夹复制到matlab工具箱文件夹中(D:Program FilesMATLABR2014a oolbox)最后是打开matlab2014a,贝叶斯网络是处理不确定信息做有效的表示方法之一。其关键的特征之一是提供了把整个概率分布分解成几个局部分布的方法,网络的拓扑结构表明如何从局部的概率分布获得完全的联合概率分布。 贝叶斯网络适合于对领域知识具有一定了解的情况,至少对变量间的依赖关系较清楚。否则直接从数据中学习贝叶斯网络结构复杂性极高(随节点的增加成指数级增长)在这个网络meta分析中,研究者比较了多种非类固醇抗炎药治疗膝、 髋关节骨性关节炎疼痛的疗效,那两个大点就是样本量最大的两个不同的药物组(变量)。当然,伟大的贝叶斯统计怎么会仅仅局限于对文献数据的网络meta分析?教科书上说,贝叶斯网络,既形式上,一个贝叶斯网络就是一个有向无环图,结点表示随机变量,可以是可观测量、隐含变量、未知参量或假设等;结点之间的邮箱边表示条件依存关系,箭头指向的结点依存于箭头发出的结点(父节点),每个结点都与一个概率函数相关。看看!说明啥?长得多么多么像医学中各个疾病与其危险因素的关系啊!多么多么像临床诊断指南里一下症状中几条中满足几条考虑诊断的诊断轴啊!
B. 如何使用贝叶斯网络工具箱
第一步:下载贝叶斯网络工具箱
第二步:解压压缩包
第三步:将工具箱中bnt文件夹复制到matlab工具箱文件夹中
第四步:打开
C. 求大神!matlab代码错误如何调试,未定义的函数'mk_bnet'用于类型'cell'的输入参数。
你要先向matlab中添加FULLBNT!!
2.向matlab中添加FULLBNT,参考地址:
http://hi..com/73290673/item/21db99f36d90bc49932af29d
采用MATLAB语言编制的贝叶斯网络工具箱(Bayesian Networks Toolbox,BNT)可实现贝叶斯网络结构学习、参数学习、推理和构建贝叶斯分类器,此工具箱在贝叶斯学习编 程方面非常灵活。
官方主页:http://www.cs.ubc.ca/~murphyk/Software/BNT/bnt.html
官方下载:http://www.cs.ubc.ca/~murphyk/Software/BNT/FullBNT-1.0.4.zip
原文链接:http://hi..com/zgyz/blog/item/2d3627f415c7fbe77709d763.html
贝叶斯网络:http://www.cs.ubc.ca/~murphyk/Software/BNT/bnt.html
语音工具箱:http://www.ee.ic.ac.uk/hp/staff/dmb/voicebox/voicebox.html
1、解压FullBNT-1.0.4.zip,将整个目录FullBNT-1.0.4复制到MATLAB的安装目录的TOOLBOX目录下,如D:\MATLAB7\toolbox\
2、打开Matlab,在MATLAB命令窗口中输入以下命令:
>> cd D:\MATLAB7\toolbox\FullBNT-1.0.4
>> addpath(genpathKPM(pwd))
>>
将TOOLBOX下新加的BNT工具箱加到MATLAB的搜索路径中去。
添加BNT工具箱的MATLAB的搜索路径也可采用如下指令
>> addpath(genpath('D:\MATLAB7\toolbox\FullBNT-1.0.4'))
>>
3、为了永久保存上面的路径,以免下次重启MATLAB时重新添加,在MATLAB命令窗口下使用下面的命令:
>> savepath
>>
4、检验是否成功设置的方法:
在命令窗口中输入以下命令:which test_BNT.m(可以为所加工具箱的任一个M文件名称),如果显示正确,就说明上面的设置成功。
>> which test_BNT.m
D:\MATLAB7\toolbox\FullBNT-1.0.4\BNT\test_BNT.m
>>
3.关于FULLBNT使用简单教程
http://www.cs.ubc.ca/~murphyk/Software/BNT/usage.html#examples
http://blog.sina.com.cn/s/blog_6c7b434d01013ufz.html
参考链接:http://blog.csdn.net/moodytong/article/details/8122327
D. 如何使用matlab中的工具箱
matlab带有很多工具箱,你可以在matlab界面中点击左下角的start图标,进入Toolboxes,选择你想使用的工具箱即可。
E. bnt matlab 怎么做mcmc有向无环贝叶斯网络结构学习
基于matlab的贝叶斯网络工具箱BNT是kevin p.murphy基于matlab语言开发的关于贝叶斯网络学习的开源包,提供了许多贝叶斯网络学习的底层基础函数库,支持多种类型的节点(概率分布)、精确推理和近似推理、参数学习及结构学习、静态模型和动态模型。
贝叶斯网络表示:BNT中使用矩阵方式表示贝叶斯网络,即若节点i到j有一条弧,则对应矩阵中(i,j)值为1,否则为0。
结构学习算法函数:BNT中提供了较为丰富的结构学习函数,都有:
学习树扩展贝叶斯网络结构的TANC算法learn_struct_tan().
2. 数据完整条件下学习一般贝叶斯网络结构的K2算法learn_struct_k2()、贪婪搜索GS(greedy search)算法learn_struct_gs()和爬山HC(hill climbing)算法learn_struct_hc()等。
3. 缺失数据条件下学习一般贝叶斯网络结构的最大期望EM(expectation maximization)算法learn_struct_EM()和马尔科夫链蒙特卡罗MCMC(Markov Chain Monte Carlo)learn_struct_mcmc()算法等。
参数学习算法函数:BNT中也提供了丰富的参数学习函数,都有:
1. 完整数据时,学习参数的方法主要有两种:最大似然估计learn_params()和贝叶斯方法bayes_update_params();
2. 数据缺失时,如果已知网络拓扑结构,用EM算法来计算参数,倘若未知网络拓扑结构,使用结构最大期望SEM(structure EM)算法learn_struct_SEM()。
推理机制及推理引擎:为了提高运算速度,使各种推理算法能够有效应用,BNT工具箱采用了引擎机制,不同的引擎根据不同的算法来完成模型转换、细化和求解。这个推理过程如下:
BNT中提供了多种推理引擎,都有:
1. 联合树推理引擎jtree_inf_engine();
2. 全局联合树推理引擎global_joint_inf_engine();
3. 信念传播推理引擎 belprop_inf_engine();
4. 变量消元推理引擎 var_elim_inf_engine().
F. 如何用matlab的BNT软建立一个贝叶斯网络及条件概率表
对上述信息建立贝叶斯网络,代码如下
[plain]view plainprint?
N=8;
dag=zeros(N,N);
A=1;S=2;T=3;L=4;B=5;E=6;X=7;D=8;
dag(A,T)=1;
dag(S,[LB])=1;
dag([TL],E)=1;
dag(B,D)=1;
dag(E,[XD])=1;
discrete_nodes=1:N;
node_sizes=2*ones(1,N);
bnet=mk_bnet(dag,node_sizes,'names',{'A','S','T','L','B','E','X','D'},'discrete',discrete_nodes);
bnet.CPD{A}=tabular_CPD(bnet,A,[0.99,0.01]);
bnet.CPD{S}=tabular_CPD(bnet,S,[0.5,0.5]);
bnet.CPD{T}=tabular_CPD(bnet,T,[0.99,0.95,0.01,0.05]);
bnet.CPD{L}=tabular_CPD(bnet,L,[0.99,0.9,0.01,0.1]);
bnet.CPD{B}=tabular_CPD(bnet,B,[0.7,0.4,0.3,0.6]);
bnet.CPD{E}=tabular_CPD(bnet,E,[1,0,0,0,0,1,1,1]);
bnet.CPD{X}=tabular_CPD(bnet,X,[0.95,0.02,0.05,0.98]);
bnet.CPD{D}=tabular_CPD(bnet,D,[0.9,0.2,0.3,0.1,0.1,0.8,0.7,0.9]);
draw_graph(dag)
说明:有N=8个节点,建立有向无环图dag,并且这些点的值是离散的,这里1=False 2=True,node_sizes给出了所有状态
mk_bnet中names后的{}里面给出了各个节点的别名
利用tabular_CPD设置各个变量的边缘概率,对于A和S,定义顺序是False True;对于T、L和B这类,顺序是FF FT TF TT;对于D这类,顺序是FFF FFT FTF FTT TFF TFT TTF TTT
简单检查下A的概率
[plain]view plainprint?
engine=jtree_inf_engine(bnet);
evidence=cell(1,N);
[engine,loglik]=enter_evidence(engine,evidence);
m=marginal_nodes(engine,A);
m.T()
现在可以给定任意条件,然后计算概率了。
[plain]view plainprint?
例如要计算任意组合条件下,个体分别得Tub、lungcancer和bronchitis的概率。下面代码计算了P(T=True|A=False,S=True,X=True,D=False)的概率
[plain]view plainprint?
engine=jtree_inf_engine(bnet);
evidence=cell(1,N);
evidence{A}=1;
evidence{S}=2;
evidence{X}=2;
evidence{D}=1;
[engine,loglik]=enter_evidence(engine,evidence);
m=marginal_nodes(engine,T);
m.T(2)
G. matlab优化工具箱怎么调用呀我们要处理贝叶斯诊断问题请问该怎么操作
1、MATLAB自带工具箱
查看方来式:源
首先详细介绍一下MATLAB自带工具箱的使用。
在不熟悉一些调用工具箱的命令的时候,可以在MATLAB主窗口中,点击左下角start--toolboxes,就会罗列出MATLAB已经安装的所有工具箱,可以根据个人的需要选择将要使用的工具箱。可以看到有拟合工具箱、金融工具箱、最优化工具箱等等。
2、调用(打开)方式:以调用拟合工具箱为例,进行详细的示例。
调用方式一:
按照以下步骤:
点击主窗口左下角start--toolboxes--curve fitting--curve fitting tool 单击,就可以打开拟合工具箱。
3、调用方式二:
在上一步中,在start--toolboxes--curve fitting--curve fitting tool ,到这里的时候,会看到在其后面有一个简写 cftool ,这就是拟合工具箱调用命令函数。在MATLAB主窗口中输入cftool ,回车,同样可以打开拟合工具箱。
4、工具箱的使用:
拟合工具箱打开之后,就可以进行多种曲线拟合了。
H. matlab2016版autoscale在哪
1.鼠标右键点击解压到【Matlab 2016a】。
2.双击打开【Matlab 2016a】文件夹
3.选中setup,鼠标右键【以管理员身份运行】
4.点击使用文件安装密钥,选择【下一步】
5.选择【是】,点击【下一步】
6.密钥输入【09806-07443-53955-64350-21751-41297】,点击【下一步】
7.选择软件安装路径,点击【下一步】
8.取消勾选 MATLAB Distributed Computing Sever 6.8,点击【下一步】
9.勾选桌面,选择【下一步】
10.点击【安装】
11.软件正在安装中,请耐心等待。
12.点击【下一步】
13.点击【完成】
14.在桌面上找到MATLAB R2016a,鼠标右击选择【打开文件所在的位置】
15.打开【win64】文件夹
16.双击打开【破解文件】文件夹
17.复制破解文件中win64文件夹下的四个文件,粘贴到安装路径win64文件夹内
18.点击【替换目标中的文件】。
19.双击图标,运余磨棚行软件(桌面没有的话可以找到软件安装路径(第7步设置的路径) ,依次打开软件安装路径文件夹->bin打开即可)
20.选择在不使用Internet的情况下手动激活,点游皮击【下一步】
21.选择输入许可证文件的完整路径,点击【浏览】
22.打开解压好的文件夹中的破解文件竖则,选择【license_standalone.lic】,点击“选择”
23.点击【下一步】
24.点击【完成】
25.安装完毕,关注VX公众号AU软件管家共享各种资源。
I. 用MATLAB2016A将GUI文件编译生成EXE后的运行问题!!
方法一:
已有gui.m文件和gui.fig文件
1 在matlab的command窗口中输入
mcc -B sgl GUI.m
2.将上步生成的文件包括*m 文件和*.fig文件一起考到待运行的机器,此时仍需matlab所必需的动态连接库。
3. 将 <matlab path >/extern/lib/win32/mglinstallar.exel拷贝到到待运行机器上
4.在机器上先运行mglinstallar.exe, 然后选择解压目录,将在将在指定目录下解压缩出bin和toolbox两个子目录,
其中在binwin32目录下就是数学库和图形库脱离MATLAB运行所需的所有动态连接库,共
有37个。可以将这些.dll考入system32, 也可以直接放在应用程序目录下。
而toolbox目录则必须与应用程序同一目录。
方法二:
matlab编程很方便,强大的矩阵运算功能,很多好用的工具箱,但是一般程序都要在matlab环境中运行,能否脱离这个环境打包发布,matlab也提供了这样的工具。
1. 转化为c/c++程序并编译为.exe
先验证mcc是否可用,用matlab中的example验证即可。
建议不用matlab默认的lcc 编译器(可能有问题),可使用VC6编译器(按默认路径安装)。
由于带有界面,需要图像库支持,编译时应使用命令: mcc -B sglcpp pressure
编译生成若干c/c++源码,以及.exe文件、bin目录中figure菜单条/工具条文件(.fig)等
程序发布需要.exe、bin、.fig。
2. 在未装matlab的电脑上运行程序需要数学运行时库、图像运行时库以及用到的工具箱mex文件。
前两者已经在.exe压缩包中,将其解压,并在环境变量path中添加解压到的路径。
另外若程序中还用到其他工具箱的东西,那么需要将此工具箱中需要的mex文件也一并放在解压到的路径,子文件夹位置与matlab中的位置相同。
3. 在确保.exe程序可以运行的情况下 可以用setup factory打包发布。