Regarding probability propagation

The engine.
Post Reply
megha
Posts: 23
Joined: Mon Mar 03, 2008 11:43 am

Regarding probability propagation

Post by megha »

Hi,
Can anybody please guide me regarding how to propagate probabilities of different states of parent node to child node when child is having multiple parents with multiple states?
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

Are you trying to find out how probabilistic inference works?
megha
Posts: 23
Joined: Mon Mar 03, 2008 11:43 am

Post by megha »

Actually I want to know it for both, calculating CPT of each node and for inferencing also.
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

CPTs can be learned from data. If the data is complete, it simply is done by counting occurrences of state combinations of families (child plus its parent) in the data and normalizing. Incomplete data is more complicated.

There are many different algorithms for performing inference. But you can calculate any probabilistic query using the sum and product rule. If we have a joint distribution P(A,B), an example of the sum rule is P(A)=P(A,b1)+P(A,b2), and an example of the product rule is P(A,B)=P(A|B)P(B).
megha
Posts: 23
Joined: Mon Mar 03, 2008 11:43 am

Post by megha »

So u mean to say, we don't need to consider CPTs of parents while calculating CPT for child? Calculate each CPT separately,right?
And actually CPTs will be vector of vector of values i.e. each vector for storing values of probabilities of child in accordance with its parents and again a vector containing such vectors for each state, right? So when user enters some evidence and posterior probabilities are calculated, at that time, do we need to access these vectors or are the calculations done directly in front end?
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

So u mean to say, we don't need to consider CPTs of parents while calculating CPT for child? Calculate each CPT separately,right?
Right.
And actually CPTs will be vector of vector of values i.e. each vector for storing values of probabilities of child in accordance with its parents and again a vector containing such vectors for each state, right?
Right, one vector for each parent configuration. Alternatively, you can see it as one big n-dimensional matrix, each dimension being a variable.
So when user enters some evidence and posterior probabilities are calculated, at that time, do we need to access these vectors or are the calculations done directly in front end?
When calculating posterior probabilities, the inference algorithm will use the CPTs to derive the correct posterior probabilities. I'm not sure what you exactly mean with 'or are the calculations done directly in front end?'.
megha
Posts: 23
Joined: Mon Mar 03, 2008 11:43 am

Post by megha »

Actually I mean to say,when we set any evidence then the posterior probabillities are calculated for other nodes, then for this calculation purpose do we need to access vector of values of probabilities for each state of each node which is present in the backend?
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

There is not really a 'vector of values of probabilities for each state of each node which is present in the backend', but only CPTs and evidence. Do you maybe mean by this 'vector of values of probabilities ...' the marginal probabilities (e.g., P(D))? Because this is exactly what inference will calculate for you.
megha
Posts: 23
Joined: Mon Mar 03, 2008 11:43 am

Post by megha »

Hi,
when we set a particular value for a node in network, then while inferencing we need to calculate postrior probabilities for other nodes, using bayes formula, right? Now suppose i've node A with two values a1, a2 and P(a1) = 0.6 and P(a2) = 0.4 , now if i set the value for that node as a1, does it mean that, now, while calculating posterior probability for other nodes conected with A i've to consider prob of a1 =1 as it is the evidence set and prob of a2=0; as its value becomes null in current situation when evidence is set?
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

Yes, that is correct.
megha
Posts: 23
Joined: Mon Mar 03, 2008 11:43 am

Post by megha »

hi,
when we set evidences for more than one variable then while claculating the inferences/ marginal probabilities for other variables how the probabilities associated with previous evidnce are propagated for calculating the probabilities with 2nd/new evidence for all other variables? can u please guide regrding these? b'coz the last calcculated inference will be the combined effect of all evidences set.
mark
Posts: 179
Joined: Tue Nov 27, 2007 4:02 pm

Post by mark »

You can use P(A|e1,e2)=P(A,e1,e2) / P(e1,e2).
Post Reply