lsst.meas.modelfit
20.0.0+5
|
Go to the documentation of this file.
24 #ifndef LSST_MEAS_MODELFIT_AdaptiveImportanceSampler_h_INCLUDED
25 #define LSST_MEAS_MODELFIT_AdaptiveImportanceSampler_h_INCLUDED
29 #include "lsst/pex/config.h"
34 namespace lsst {
namespace meas {
namespace modelfit {
43 LSST_CONTROL_FIELD(
nSamples,
int,
"Number of Monte Carlo samples to draw");
44 LSST_CONTROL_FIELD(
nUpdateSteps,
int,
"Number of Expectation-Maximization update iterations");
45 LSST_CONTROL_FIELD(
tau1,
double,
"Damping parameter for E-M update (see Mixture::updateEM)");
46 LSST_CONTROL_FIELD(
tau2,
double,
"Damping parameter for E-M update (see Mixture::updateEM)");
49 "Minimum value for normalized perplexity after this iteration; if the actual value is less "
50 "than this, this iteration will be repeated up to maxRepeat times until the target is met. "
51 "In addition, if any previous iteration meets this target, this iteration will be skipped."
55 "Maximum number of times this iteration will be repeated to meet the perplexityTarget"
87 bool doSaveIterations=
false
101 bool _doSaveIterations;
114 #endif // !LSST_MEAS_MODELFIT_AdaptiveImportanceSampler_h_INCLUDED
Sampler class that performs Monte Carlo sampling, while iteratively updating the analytic distributio...
double computeNormalizedPerplexity(afw::table::BaseCatalog const &samples) const
int maxRepeat
"Maximum number of times this iteration will be repeated to meet the perplexityTarget" ;
double targetPerplexity
"Minimum value for normalized perplexity after this iteration; if the actual value is less " "than th...
void run(SamplingObjective const &objective, boost::shared_ptr< Mixture > proposal, afw::table::BaseCatalog &samples) const override
double tau2
"Damping parameter for E-M update (see Mixture::updateEM)" ;
ImportanceSamplerControl()
Control object for one iteration of adaptive importance sampling.
AdaptiveImportanceSampler(afw::table::Schema &sampleSchema, boost::shared_ptr< afw::math::Random > rng, std::map< int, ImportanceSamplerControl > const &ctrls, bool doSaveIterations=false)
Construct a new sampler.
int nSamples
"Number of Monte Carlo samples to draw" ;
int nUpdateSteps
"Number of Expectation-Maximization update iterations" ;
double computeEffectiveSampleSizeFraction(afw::table::BaseCatalog const &samples) const
double tau1
"Damping parameter for E-M update (see Mixture::updateEM)" ;