贝叶斯网络的matlab实现。可以创建贝叶斯网络、训练模型

源代码在线查看: cpd_to_pi.m

软件大小: 2295 K
上传用户: x184372250
关键词: matlab 贝叶斯 网络 模型
下载地址: 免注册下载 普通下载 VIP

相关代码

				function pi = CPD_to_pi(CPD, msg_type, n, ps, msg, evidence)
				% CPD_TO_PI Compute the pi vector (gaussian)
				% function pi = CPD_to_pi(CPD, msg_type, n, ps, msg, evidence)
				
				switch msg_type
				 case 'd',
				  error('gaussian_CPD can''t create discrete msgs')
				 case 'g',
				  [m, Q, W] = gaussian_CPD_params_given_dps(CPD, [ps n], evidence);
				  cps = ps(CPD.cps);
				  cpsizes = CPD.sizes(CPD.cps);
				  pi.mu = m;
				  pi.Sigma = Q;
				  for k=1:length(cps) % only get pi msgs from cts parents
				    %bk = block(k, cpsizes);
				    bk = CPD.cps_block_ndx{k};
				    Bk = W(:, bk);
				    m = msg{n}.pi_from_parent{k}; 
				    pi.Sigma = pi.Sigma + Bk * m.Sigma * Bk';
				    pi.mu = pi.mu + Bk * m.mu; % m.mu = u(k)
				  end
				end
							

相关资源