Basically you need to calculate the joint over an arbitrary subset of
variables: P(V1,V2,...Vm) where m<n (the total number of variables).
One way to do this is to do the following:
Make use of the fact that P(V1,V2,...,Vm) is equal to
P(V1)P(V2|V1)P(V3|V1,V2)...P(Vm|V1,...,Vn-1).
This suggests the following algorithm to calculate the joint of a subset S
of nodes:
Evidence_Set = {};
jointProb = 1;
For each node V in S do:
Update beliefs in network given Evidence_Set.
query node V to get P(V|Evidence_Set).
jointProb = jointProb * P(V|Evidence_Set)
Evidence_Set += V
Of course if the nodes are in the same clique then you can find a more
efficient way to calculate their joint (marginalize the potentials over the
non-included variables), but in general this won't be the case.
I would also be interested if anybody knows of a more efficient way to do
this calculation in general.
Cheers,
Denver.
-- Denver Dash http://www.sis.pitt.edu/~ddash----- Original Message ----- From: "Mohamed Bendou" <mohamed@esiea-ouest.fr> To: <uai@CS.ORST.EDU> Sent: Thursday, March 23, 2000 12:58 PM Subject: [UAI] BDe scoring metric
> Hi, > I try to program the BDe scoring metric for learning bayesian networks. > Could you indicate me reference to the algorithmic aspects of > calculating priors on parameters? > I do not understand how i can calculate efficiently the prior joint > probabilities > from the prior network. > > Thank you. > > > Mohamed BENDOU > > > -- > Mohamed BENDOU > >
This archive was generated by hypermail 2b29 : Thu Mar 23 2000 - 14:24:34 PST