Simulated annealing like behavior can be controlled in the options.mcmc.anneal
structure. By default annealing is disabled.
Annealing consist of setting the temperature (similar to scaling the noise). A temperature foes not affect the exploration. For temperatures larger than 1, the acceptance ratio increases (the exploration of the Metropolis sampler increases). For temperatures below 1, the acceptance ratio decreases (and hence the exploration of the Metropolis sampler).
The temperature is set to options.mcmc.anneal.T_begin
at any iteration before options.mcmc.anneal.i_begin
.
The temperature is set to options.mcmc.anneal.T_end
at any iteration after options.mcmc.anneal.i_end
.
In between iteration number
options.mcmc.anneal.i_start
and
options.mcmc.anneal.i_end
the temperature changes following either an exponential decay (options.mcmc.anneal.type='exp'
), or simple linear interpolation (options.mcmc.anneal.type='linear'
).
An annealing schedule can be used allow a Metropolis sampler that allow exploration of more of the model space in the beginning of the chain. Recall though that the posterior is not sampled until (at least) the annealing has been ended at iteration, options.mcmc.anneal.i_end
, if the options.mcmc.anneal.T_end=1
. This can potentially help not to get trapped in a local minimum.
To use this type of annealing, where the annealing stops after 10000 iterations, after which the algorithm performs like a regular Metropolis sampler, use for example
options.mcmc.anneal.i_begin=1; % default, iteration number when annealing begins options.mcmc.anneal.i_end=10000; % iteration number when annealing stops
which is equivalent to
options.mcmc.anneal.i_begin=1; % default, iteration number when annealing begins options.mcmc.anneal.i_end=10000; % iteration number when annealing stops options.mcmc.anneal.T_begin=5; % start temperature options.mcmc.anneal.T_end=1; % end temperature
This site is hosted by sourceforge.net |