How log likelihood value is calculated in EM?

The engine.
Post Reply
snowave
Posts: 22
Joined: Mon Jan 25, 2016 1:27 pm

How log likelihood value is calculated in EM?

Post by snowave »

Hi,

Can anyone explain how the log likelihood value in EM learning is calculated in Genie? Suppose the underline inference algorithm is Junction Tree.
In my understanding the log P(x) is calculated by multiplying and dividing cliques, is that correct?

many thanks
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: How log likelihood value is calculated in EM?

Post by shooltz[BayesFusion] »

The primary algorithm for calculating the probability of evidence is based on the junction tree cliques. If the junction tree cannot be created due to memory constraints, the algorithm switches to chain rule (slower, but potentially less memory-intensive).
snowave
Posts: 22
Joined: Mon Jan 25, 2016 1:27 pm

Re: How log likelihood value is calculated in EM?

Post by snowave »

many thanks, so the log p(x)=log (product of cliques/product of sepsets)?
Could you please explain a bit more on chain rule calculation of the log p(x)?

best
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: How log likelihood value is calculated in EM?

Post by shooltz[BayesFusion] »

log p(x)=log (product of cliques/product of sepsets)?
It's more complicated algorithm. We run relevance decomposition which may create a forest of junction trees (the same approach is used for the main exact inference algorithm).

See this post for the explanation of the chain rule algorithm and P(e)
viewtopic.php?f=3&t=4687&start=15#p10449
snowave
Posts: 22
Joined: Mon Jan 25, 2016 1:27 pm

Re: How log likelihood value is calculated in EM?

Post by snowave »

I think I understand the chain rule algorithm.

But I can't understand the "Relevant decomposition of JT". Is there a link or more detailed explanation for that? appreciate a lot.
Last edited by snowave on Tue Jul 28, 2020 9:43 am, edited 2 times in total.
marek [BayesFusion]
Site Admin
Posts: 430
Joined: Tue Dec 11, 2007 4:24 pm

Re: How log likelihood value is calculated in EM?

Post by marek [BayesFusion] »

Here is the article introducing the relevance-based decomposition algorithm:

http://www.pitt.edu/~druzdzel/psfiles/uai97.pdf

I hope this helps,

Marek
snowave
Posts: 22
Joined: Mon Jan 25, 2016 1:27 pm

Re: How log likelihood value is calculated in EM?

Post by snowave »

cool, very much appreciated.
snowave
Posts: 22
Joined: Mon Jan 25, 2016 1:27 pm

Re: How log likelihood value is calculated in EM?

Post by snowave »

Hi experts, if the model has high tree-width, i.e., the inference querying posterior joint distributions can't be performed by exact methods like JT due to memory constraint, what approximate algorithm is used in EM learning? Are they relevance based decomposition and/or sampling methods?

Many Thanks
marek [BayesFusion]
Site Admin
Posts: 430
Joined: Tue Dec 11, 2007 4:24 pm

Re: How log likelihood value is calculated in EM?

Post by marek [BayesFusion] »

GeNIe/SMILE do not switch to approximate algorithms automatically -- it is the user's responsibility to designate the default inference algorithm. If exact algorithms fail, I recommend the EPIS sampling algorithm, which is quite likely the state of the art algorithm for approximate inference in discrete Bayesian networks.
I hope this helps,

Marek
snowave
Posts: 22
Joined: Mon Jan 25, 2016 1:27 pm

Re: How log likelihood value is calculated in EM?

Post by snowave »

Thanks a lot.
snowave
Posts: 22
Joined: Mon Jan 25, 2016 1:27 pm

Re: How log likelihood value is calculated in EM?

Post by snowave »

Hi Experts,

I use Genie to do EM learning and switch between JT inference and EPIS sampling algorithms. Why the parameter learned are exactly the same (even for the decimals)? Though the marginal results are different. It seems like the parameter learning is tied to an exact method. Only at the marginal updating step the EPIS is used.

Thanks
shooltz[BayesFusion]
Site Admin
Posts: 1417
Joined: Mon Nov 26, 2007 5:51 pm

Re: How log likelihood value is calculated in EM?

Post by shooltz[BayesFusion] »

EM has two memory-intensive stages. The first one requires the P(e) to be calculated. The second uses EM-specific data structure for the sufficient statistics, which does not depend on the selection of the inference algorithm.

P(e) may call into the general inference algorithm (the choice of the algorithm is controlled by the user). However, the first attempt at P(e) is made with the jointree-based algorithm and does not require the general inference. If the jointree-based P(e) calculation cannot be completed, SMILE falls back to chain rule algorithm. This case requires multiple inference calls.

Your description suggests P(e) works with the first attempt at its specific, fast jointree-based algorithm.
Post Reply