我正在研究一个使用 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
请告诉我如何进行推理。