Go to the documentation of this file. 1 #ifndef HOPS_ACCEPTANCERATETUNER_HPP
2 #define HOPS_ACCEPTANCERATETUNER_HPP
63 tune(std::vector<std::shared_ptr<MarkovChain>>& markovChain,
64 std::vector<RandomNumberGenerator>& randomNumberGenerator,
76 tune(
double& stepSize,
77 double& deltaAcceptanceRate,
78 std::vector<std::shared_ptr<MarkovChain>>& markovChain,
79 std::vector<RandomNumberGenerator>& randomNumberGenerator,
91 tune(
double& stepSize,
92 double& deltaAcceptanceRate,
93 std::vector<std::shared_ptr<MarkovChain>>& markovChain,
94 std::vector<RandomNumberGenerator>& randomNumberGenerator,
115 virtual std::tuple<double, double>
operator()(
const Eigen::VectorXd& x)
override;
120 #endif //HOPS_ACCEPTANCERATETUNER_HPP
size_t iterationsToTestStepSize
Definition: AcceptanceRateTuner.hpp:28
Definition: AcceptanceRateTuner.hpp:26
bool recordData
Definition: AcceptanceRateTuner.hpp:38
Definition: ThompsonSampling.hpp:17
AcceptanceRateTuner()=delete
size_t posteriorUpdateIterationsNeeded
Definition: AcceptanceRateTuner.hpp:32
AcceptanceRateTuner::param_type parameters
Definition: AcceptanceRateTuner.hpp:106
std::vector< RandomNumberGenerator > * randomNumberGenerator
Definition: AcceptanceRateTuner.hpp:105
Definition: AcceptanceRateTuner.hpp:103
AcceptanceRateTarget(std::vector< std::shared_ptr< hops::MarkovChain >> &markovChain, std::vector< hops::RandomNumberGenerator > &randomNumberGenerator, const hops::AcceptanceRateTuner::param_type ¶meters)
Definition: AcceptanceRateTuner.hpp:108
virtual std::tuple< double, double > operator()(const Eigen::VectorXd &x) override
measures the stepsize of a configured step size
Definition: AcceptanceRateTuner.cpp:10
double stepSizeLowerBound
Definition: AcceptanceRateTuner.hpp:34
double stepSizeUpperBound
Definition: AcceptanceRateTuner.hpp:35
size_t posteriorUpdateIterations
Definition: AcceptanceRateTuner.hpp:29
double smoothingLength
Definition: AcceptanceRateTuner.hpp:36
param_type(double m_acceptanceRateTargetValue, size_t iterationsToTestStepSize, size_t posteriorUpdateIterations, size_t pureSamplingIterations, size_t iterationsForConvergence, size_t stepSizeGridSize, double stepSizeLowerBound, double stepSizeUpperBound, double smoothingLength, size_t randomSeed, bool recordData=false)
Definition: AcceptanceRateTuner.cpp:139
Definition: CsvReader.hpp:8
size_t randomSeed
Definition: AcceptanceRateTuner.hpp:37
double m_acceptanceRateTargetValue
Definition: AcceptanceRateTuner.hpp:27
size_t pureSamplingIterations
Definition: AcceptanceRateTuner.hpp:30
Definition: AcceptanceRateTuner.hpp:24
size_t stepSizeGridSize
Definition: AcceptanceRateTuner.hpp:33
size_t iterationsForConvergence
Definition: AcceptanceRateTuner.hpp:31
static bool tune(std::vector< std::shared_ptr< MarkovChain >> &markovChain, std::vector< RandomNumberGenerator > &randomNumberGenerator, param_type ¶meters)
tunes markov chain acceptance rate by nested intervals. The chain is not guaranteed to have converged...
std::vector< std::shared_ptr< hops::MarkovChain > > markovChain
Definition: AcceptanceRateTuner.hpp:104