【问题标题】:Inference in Dynamic Bayesian Network using Bayes Net Toolbox for Matlab使用用于 Matlab 的 Bayes Net Toolbox 进行动态贝叶斯网络推理
【发布时间】:2013-12-11 21:28:47
【问题描述】:

我正在开展一个关于自动和弦识别的项目,该项目使用 2-TBN 动态贝叶斯网络,其中有 4 个离散隐藏节点和 2 个连续可观察节点。

我使用贝叶斯网络工具箱创建了模型,对此没有任何问题。 第五个和第六个节点分别是 13 维和 12 维的可观察节点。 我正在尝试使用我无法做到的工具箱的推理部分。我编写了以下代码,但没有给出正确的输出。

function [path,data] = mydecode(bnet,mean,sigma,dat)

dataaa=dat';
data=dataaa(1:12,:);
%chord dimension
chord=109;
%observed chroma dimension
obs=12;
evidence = cell(6,T);
for i=1:T
   evidence(6,i)={dat(i,1:12)} ;
end 
for i=1:T
   evidence(5,i)={dat(i,13:25)} ;
end

engine = {};
engine{end+1} = smoother_engine(jtree_2TBN_inf_engine(bnet));
disp(engine);

mpe = find_mpe(engine{1}, evidence);

end

请告诉我如何进行推理。

【问题讨论】:

    标签: dynamic matlab bayesian-networks inference


    【解决方案1】:

    参考:http://www.cs.ubc.ca/~murphyk/Bayes/usage_dbn.may22.html

    代码:

       engine = jtree_dbn_inf_engine(bnet);
       evidence = cell(N,T);
       [engine, ll] = enter_evidence(engine, evidence);
       evidence(4,1) = {2};
       marg = marginal_nodes(engine, 4, 2);  % This is like querying node 4 in time-slice 2
       marg.T
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-28
      • 2013-07-29
      • 1970-01-01
      • 1970-01-01
      • 2013-04-08
      • 2015-06-07
      相关资源
      最近更新 更多