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
>
>

Reply via email to