This code provides a reference implementation of the Variational Combinatorial Sequential Monte Carlo algorithms described in the publications:
-
Variational Combinatorial Sequential Monte Carlo for Bayesian Phylogenetic Inference.
Moretti, A., Zhang, L., Pe'er, I.
Machine Learning in Computational Biology, 2020. -
Variational Combinatorial Sequential Monte Carlo Methods for Bayesian Phylogenetic Inference.
Moretti, A.*, Zhang, L.*, Naesseth, C., Venner, H., Blei, D., Pe'er, I.
Uncertainty in Artificial Intelligence, 2021
VCSMC builds upon the Combinatorial Sequential Monte Carlo method (implemented as a reference):
- Bayesian Phylogenetic Inference Using a Combinatorial Sequential Monte Carlo Method.
Liangliang Wang, Alexandre Bouchard-Côté & Arnaud Doucet (2015).
Journal of the American Statistical Association, 110:512, 1362-1374, DOI: 10.1080/01621459.2015.1054487
To run, type the folowing in terminal:
python runner.py --dataset=[some_data] --n_particles=[some_number] --batch_size=[some_number] --learning_rate=[some_number] --twisting=[true/false] --jcmodel=[true/false] --num_epoch=100
This runner.py file assumes that all datasets (primate.p
, for example) are directly put under a folder called 'data'