求助動態貝葉斯網絡參數學習函數的使用方法

求助動態貝葉斯網絡參數學習函數的使用方法
`data=[
3 2 2 1;
2 2 3 4;
1 2 3 4;
2 3 4 3;
2 2 1 1;
1 3 2 3;
2 3 4 3;
];
data=data’;
ss=4;
T=2;
N=4;
intra = zeros(4);
intra(1,4) = 1;
intra(2,4) = 1;
intra(3,4) = 1;
inter = zeros(4);
inter(4,1) = 1;
inter(4,2) = 1;
inter(4,3) = 1;
A=3; B=3;C=4;D=3;
ns = [A B C D];
bnet = mk_dbn(intra, inter, ns,‘discrete’, [], ‘observed’, 4);
for i=1:2*4
bnet.CPD{i} = tabular_CPD(bnet, i);
end
engine = jtree_dbn_inf_engine(bnet);

ncases = 5;
cases = cell(1, ncases);
n=2;
onodes = [2];
for i=1:ncases
ev = sample_dbn(bnet, T);
cases{i} = cell(n,T);
cases{i}(onodes,:) = ev(onodes, : );
end

bnet1 = learn_params_dbn(bnet, data);
以上是我按照網上的一些例子做的一個簡單的動態貝葉斯模型。前面已經建立了模型結構,但是不知道怎麼使用數據訓練它。
我看了工具箱參數學習的m文件,按照它給的數據大小格式自己編寫數據,輸出總是報錯。如下:

提示輸入參數不足,可是我總是找不出哪個參數缺少了。
本人新手入門,有些知識可能還沒了解透徹。希望大牛們高擡貴手,幫幫我這個本科生。我已經卡在這好長時間了,幫幫我。:’( 在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章