bnt_1 一个用于贝叶斯网络的matlab的工具
2011-11-17 15:54
183 查看
N = 4; dag = zeros( N, N ); C = 1; S = 2; R = 3; W = 4; dag( C, [R S] ) = 1; dag( R, W ) = 1; dag( S, W ) = 1; node_sizes = 2*ones(1,N); %node_sizes = [ 4 2 3 5]; %建立有向无环图 onodes = []; bNet = mk_bnet( dag, node_sizes ); %建立条件概率表 bNet.CPD{C} = tabular_CPD( bNet, C, 'CPT', [0.5 0.5] ); bNet.CPD{R} = tabular_CPD( bNet, R, 'CPT',[0.8 0.2 0.2 0.8 ] ); bNet.CPD{S} = tabular_CPD( bNet, S, 'CPT', [0.5 0.9 0.5 0.1] ); bNet.CPD{W} = tabular_CPD( bNet, W, 'CPT', [1 0.1 0.1 0.01 0 0.9 0.9 0.99 ] ); %用于推断 engine = jtree_inf_engine( bNet); evidence = cell( 1,N ); evidence{W} = 2; %添加证据 [engine, loglik] = enter_evidence( engine, evidence ); marg = marginal_nodes( engine, S ); p = marg.T(2); %添加下雨的证据 evidence{R} = 2; [ engine, loglik ] = enter_evidence( engine, evidence ); marg = marginal_nodes( engine, S ); p = marg.T(2); bar( marg.T ); % Joint distributions evidence = cell(1,N); [engine, ll] = enter_evidence(engine, evidence); m = marginal_nodes(engine, [S R W]); m.T
相关文章推荐
- 一个用于清除CVS文件的小工具
- 概述 RequireJS是一个工具库,主要用于客户端的模块管理。它可以让客户端的代码分成一个个模块,实现异步或动态加载,从而提高代码的性能和可维护性。它的模块管理遵守AMD规范(Asynchronou
- 一个快速批量查询快递物流数据的小工具,可用于快递物流跟踪
- R语言简介(一个用于统计计算和统计制图的优秀工具)
- 一个用于Objective-C静态检查的工具-occheck
- 一个用于Objective-C静态检查的工具-occheck
- faked 一个用于 mock 后端 API 的轻量工具
- faked 一个用于 mock 后端 API 的轻量工具
- 转载一个SAP下载工具的代码,仅用于学习(来源于:http://www.dalestech.com/)
- moro:一个用于追踪工作时间的命令行生产力工具
- Visual Paradigm - 一个用于绘制UML的java实现的一个工具软件
- 一个用于图片上传的工具类(原)
- 一个用于网络的工具函数库
- 一个用于获取Image对象以及AudioClip对象的工具类
- 转载一个SAP下载工具的代码,仅用于学习(来源于:http://www.dalestech.com/)
- XConfigGen——这是一个基于nodejs,用于生成不同环境项目配置文件的小工具
- izpack是一个用于解决安装程序制作的Builder工具
- 一个小工具,用于构建HTML的stringbuilder
- 转载一个SAP下载工具的代码,仅用于学习(来源于:http://www.dalestech.com/)
- 火狐上的一个post提交工具(主要用于测试接口时候)