以下代码仅显示我的DBN的前2个时间片:
%% Display CPT
% learnt_bnet was created using mk_dbn()
disp('CPT')
for i=1:length(learnt_bnet_obj.CPD)
disp(['Node #' num2str(i)])
s=struct(learnt_bnet_obj.CPD{i});
s.CPT
end如何显示所有CPT?
发布于 2013-08-26 00:14:58
在贝叶斯网络工具箱中,所谓的动态贝叶斯网络实际上只是一个时间贝叶斯网络,我们可以在其中为第一个时间片指定不同的结构:
http://bnt.googlecode.com/svn/trunk/docs/usage_dbn.html:
请注意,“时间贝叶斯网络”将是一个比“动态贝叶斯网络”更好的名称,因为假设模型结构不变,但术语DBN已变得根深蒂固。我们通常还假设参数不变,即模型是时不变的。然而,我们总是可以添加额外的隐藏节点来表示当前的“状态”,从而创建模型的混合来捕获周期性的非平稳性。
..。
要指定DBN,我们需要定义片内拓扑(在片内)、片间拓扑(在两个片之间)以及前两个片的参数。(这样的两片时间贝叶斯网络通常被称为2TBN。)
这意味着贝叶斯网络工具箱中的DBN只有2个时间片,这解释了为什么在您给出的示例中只看到2个CPT。
https://stackoverflow.com/questions/17619873
复制相似问题