em_iteration.m

来自「The BNL toolbox is a set of Matlab funct」· M 代码 · 共 39 行

M
39
字号
function [parms,restparms, loglikelihood]=EM_iteration(link,parms,restparms,design,parents,node_sizes...
    ,equiv_class,equiv_class_time,evidence_nodes,partial_evidence_nodes,terminal_merged_nodes,hid_nodes,...
    gausskwadnodes,preorder, postorder,cliquetable, septable,pot_to_CPT,N)    


%E step

lin_pred=construct_lin_pred(parms,design,parents,node_sizes,equiv_class,equiv_class_time,terminal_merged_nodes,N);

equiv_class_CPTs=construct_equiv_class_CPT(link,lin_pred,N);

bigCPTs=construct_bigCPTs(equiv_class_CPTs,equiv_class,...
    evidence_nodes,partial_evidence_nodes,terminal_merged_nodes,hid_nodes,...
    gausskwadnodes,N);

[cliquetable, septable,schaal_init]=franks_init_pot(cliquetable,septable,bigCPTs,parents);

%collect
[septable,cliquetable,schaal_collect]=propagate_messages(postorder,septable, cliquetable);%kan sneller!
%distribute
[septable,cliquetable,schaal_distribute]=propagate_messages(preorder,septable, cliquetable);
        
%compute loglikelihood

schaal=schaal_init+schaal_collect+schaal_distribute;
loglikelihood=loglik(cliquetable.pots{1},schaal);

        
%M step 
joint_prob_tabs=compute_JPTs(cliquetable,pot_to_CPT,parents,node_sizes,N);
%update parameters
[parms,restparms]=update_parms(link,parms,restparms,joint_prob_tabs,design,equiv_class,...
    equiv_class_time,evidence_nodes,partial_evidence_nodes,terminal_merged_nodes,hid_nodes,...
    gausskwadnodes,N);
        



⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?