[Work Log] Split/merge toy (ctd)

October 02, 2013
Project Tulips
Subproject Data Association v3
Working path projects/​tulips/​trunk/​src/​matlab/​data_association_3
SVN Revision 15229
Unless otherwise noted, all filesystem paths are relative to the "Working path" named above.

Debugging split/merge toy sampler.

Split from 5 to 6 groups:

 split_alpha = -p_merge + p_split - q_split + q_merge - log(psplitmv) + log(0.5);
 K>> p_merge

 p_merge =

   -1.4437e+03

Merge from 6 to 5 groups:

merge_alpha = p_merge - p_split + q_split - q_merge - pmergemv + psplitmv ;
K>> p_merge

p_merge =

  -1.4437e+03

K>> p_split

p_split =

  -1.6060e+03

K>> q_split

q_split =

 -208.8604

K>> q_merge

q_merge =

   -2.7081

K>> pmergemv

pmergemv =

   -0.6931

K>> psplitmv

psplitmv =

   -0.6931

Note that q_split doesn't match between the two moves.


After reflection, this shouldn't match, because we're comparing two different cases. Specifically, the post-split results in two small groups, where as the pre-merge model has 6 groups of equal size. Smaller groups have smaller number of ways to split, so the proposal probability is higher.


Killed myself today thinking about this problem and getting exactly nowhere.

Posted by Kyle Simek
blog comments powered by Disqus