Perhaps it’s best we kept the discussion here on the Edward forum and try to develop the Sequential Importance Resampling solution using Edward.
That way we are contributing back to this very impressive project and to the very helpful people who are behind it.
So I would put together your something that does the following:
- Take an initial sample for the particles from a prior distribution
- Evaluate these against an objective/loss function
- Propose better candidates based on the result of (2) and substitute these with some acceptance rate
- Repeat Steps 1-3 for some dynamically determined number of iterations
- Remove poor performing samples; and from the remaining particles, generate copies according to an “importance” weight + some random variation
This is in simple terms what SABL does in Matlab. But the attraction of Edward/Tensorflow is to give a basis with comparing with more recently developed inference methods such as KLqp and SGHMC. There is also the path to running on very low power devices which Tensorflow offers.
Can you describe what end application you are targeting ?