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" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
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
>
>