goete111 / factorie

Automatically exported from code.google.com/p/factorie
0 stars 0 forks source link

Max Product fails on multiple MAP configs #18

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
Running Max Product belief propagation on graphs that have multiple MAP 
configurations results in picking of a configuration that is somewhere in 
between, therefore of lower score.

What is the expected output? What do you see instead?
Instead, it should pick the configuration in a consistent manner so that the 
resulting configuration is one of the MAP states.

Original issue reported on code.google.com by sameeersingh on 21 Feb 2012 at 6:40

GoogleCodeExporter commented 8 years ago
The proposed solution is for max product to be aware of the final pass, and 
during that phase, send only truncated messages from the variables based on 
which value was picked. The other option is for the MessageNodes to keep track 
of their values, and accordingly send the truncated message.

Original comment by sameeersingh on 21 Feb 2012 at 6:44

GoogleCodeExporter commented 8 years ago

Original comment by sameeersingh on 21 Feb 2012 at 7:05

GoogleCodeExporter commented 8 years ago

Original comment by sameeersingh on 21 Feb 2012 at 7:07

GoogleCodeExporter commented 8 years ago
Addressed in r4c5bda4efab8. The test in TestBP works for chains, but may not 
work for loopy models, or when there are multiple "final" passes. Also, the 
factor marginals don't mean anything, and the variable marginals are all 
deterministic. Its possible we can exploit this for efficiency.

Is this the correct way to implement Max Product.

Original comment by sameeersingh on 29 Feb 2012 at 6:47

GoogleCodeExporter commented 8 years ago
Reopening since a number of tests in BP fail, with the map config wrong 
(including for chains).

Original comment by sameeersingh on 29 Feb 2012 at 7:18

GoogleCodeExporter commented 8 years ago
Fixed in ra95da1ada0bb. Tested on chains and trees, may not work for loopy 
models.

Original comment by sameeersingh on 1 Mar 2012 at 1:31