How to choose optimizerΒΆ
The default choice of optimization methods in params_file
is the following:
- Genetic_algorithm as
Global optimizer
, - BFGS_log as
Local optimizer
.
We recommend to use BFGS_log as local search algorithm. Genetic_algorithm is also the most efficient method for demographic inference with GADMA.
However, there are special cases when it is better to use Bayesian optimization as a global search algorithm. Usually it is case for demographic inference with more than three populations. More about Bayesian optimization could be found here.
Below there is a table with recomendations about global search algorithm choice. GA stands for the genetic algorithm, BO for Bayesian optimization. Symbol ? means that we have not checked the efficiency for Bayesian optimization in that settings.
Pop.num.Engine | dadi |
moments |
momi2 |
momentsLD |
---|---|---|---|---|
1 | GA | GA | GA | GA |
2 | GA | GA | GA | GA |
3 | GA or BO * | GA | GA | ? |
4 | BO | BO | GA | ? |
5 | BO | BO | GA | ? |
>5 | β ** | β ** | GA | β ** |
* depends on the time of log-likelihood evaluation. If grid size (Pts
) or sample size of data are big then BO is better choice, otherwise GA should be used.
** Not supported