Base implementation of simulated annealing fitting procedure.
Definition at line 51 of file SimulatedAnnealing.h.
Public Member Functions | |
SimulatedAnnealing (IFitterTarget &target, const std::vector< TMVA::Interval * > &ranges) | |
constructor | |
virtual | ~SimulatedAnnealing () |
destructor | |
virtual TClass * | IsA () const |
Double_t | Minimize (std::vector< Double_t > ¶meters) |
minimisation algorithm | |
void | SetAccuracy (Double_t eps) |
void | SetAdaptiveSpeed (Double_t speed) |
void | SetInitTemp (Double_t it) |
void | SetIPythonInteractive (bool *ExitFromTraining, UInt_t *fIPyCurrentIter_) |
void | SetMaxCalls (Int_t mc) |
void | SetMinTemp (Double_t min) |
void | SetOptions (Int_t maxCalls, Double_t initialTemperature, Double_t minTemperature, Double_t eps, TString kernelTemperatureS, Double_t temperatureScale, Double_t adaptiveSpeed, Double_t temperatureAdaptiveStep, Bool_t useDefaultScale, Bool_t useDefaultTemperature) |
option setter | |
void | SetTemperatureScale (Double_t scale) |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Static Public Member Functions | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Private Types | |
enum | EKernelTemperature { kSqrt = 0 , kIncreasingAdaptive , kDecreasingAdaptive , kLog , kHomo , kSin , kGeo } |
Private Member Functions | |
void | FillWithRandomValues (std::vector< Double_t > ¶meters) |
random starting parameters | |
Double_t | GenerateMaxTemperature (std::vector< Double_t > ¶meters) |
maximum temperature | |
std::vector< Double_t > | GenerateNeighbour (std::vector< Double_t > ¶meters, Double_t currentTemperature) |
generate adjacent parameters | |
void | GenerateNeighbour (std::vector< Double_t > ¶meters, std::vector< Double_t > &oldParameters, Double_t currentTemperature) |
generate adjacent parameters | |
void | GenerateNewTemperature (Double_t ¤tTemperature, Int_t Iter) |
generate new temperature | |
MsgLogger & | Log () const |
void | ReWriteParameters (std::vector< Double_t > &from, std::vector< Double_t > &to) |
copy parameters | |
void | SetDefaultScale () |
setting of default scale | |
Bool_t | ShouldGoIn (Double_t currentFit, Double_t localFit, Double_t currentTemperature) |
result checker | |
Private Attributes | |
Double_t | fAdaptiveSpeed |
how fast temperature change in adaptive (in adaptive two variables describe the change of temperature, but fAdaptiveSpeed should be 1.0 and its not recommended to change it) | |
Double_t | fEps |
epsilon | |
bool * | fExitFromTraining = nullptr |
IFitterTarget & | fFitterTarget |
the fitter target | |
Double_t | fInitialTemperature |
initial temperature | |
UInt_t * | fIPyCurrentIter = nullptr |
enum TMVA::SimulatedAnnealing::EKernelTemperature | fKernelTemperature |
MsgLogger * | fLogger |
message logger | |
Int_t | fMaxCalls |
maximum number of minimisation calls | |
Double_t | fMinTemperature |
minimum temperature | |
Double_t | fProgress |
TRandom * | fRandom |
random generator | |
const std::vector< TMVA::Interval * > & | fRanges |
parameter ranges | |
Double_t | fTemperatureAdaptiveStep |
used to calculate InitialTemperature if fUseDefaultTemperature | |
Double_t | fTemperatureScale |
how fast temperature change | |
Bool_t | fUseDefaultScale |
if TRUE, SA calculates its own TemperatureScale | |
Bool_t | fUseDefaultTemperature |
if TRUE, SA calculates its own InitialTemperature (MinTemperautre) | |
#include <TMVA/SimulatedAnnealing.h>
|
private |
Enumerator | |
---|---|
kSqrt | |
kIncreasingAdaptive | |
kDecreasingAdaptive | |
kLog | |
kHomo | |
kSin | |
kGeo |
Definition at line 81 of file SimulatedAnnealing.h.
TMVA::SimulatedAnnealing::SimulatedAnnealing | ( | IFitterTarget & | target, |
const std::vector< TMVA::Interval * > & | ranges | ||
) |
constructor
Definition at line 50 of file SimulatedAnnealing.cxx.
|
virtual |
destructor
Definition at line 125 of file SimulatedAnnealing.cxx.
|
static |
|
inlinestaticconstexpr |
Definition at line 127 of file SimulatedAnnealing.h.
|
inlinestatic |
Definition at line 127 of file SimulatedAnnealing.h.
|
private |
random starting parameters
Definition at line 132 of file SimulatedAnnealing.cxx.
|
private |
maximum temperature
Definition at line 251 of file SimulatedAnnealing.cxx.
|
private |
generate adjacent parameters
Definition at line 169 of file SimulatedAnnealing.cxx.
|
private |
generate adjacent parameters
Definition at line 150 of file SimulatedAnnealing.cxx.
|
private |
generate new temperature
Definition at line 190 of file SimulatedAnnealing.cxx.
|
inlinevirtual |
Definition at line 127 of file SimulatedAnnealing.h.
|
inlineprivate |
Definition at line 119 of file SimulatedAnnealing.h.
minimisation algorithm
Definition at line 312 of file SimulatedAnnealing.cxx.
|
private |
copy parameters
Definition at line 142 of file SimulatedAnnealing.cxx.
|
inline |
Definition at line 65 of file SimulatedAnnealing.h.
|
inline |
Definition at line 67 of file SimulatedAnnealing.h.
|
private |
setting of default scale
Definition at line 230 of file SimulatedAnnealing.cxx.
|
inline |
Definition at line 63 of file SimulatedAnnealing.h.
|
inline |
Definition at line 74 of file SimulatedAnnealing.h.
|
inline |
Definition at line 62 of file SimulatedAnnealing.h.
|
inline |
Definition at line 64 of file SimulatedAnnealing.h.
void TMVA::SimulatedAnnealing::SetOptions | ( | Int_t | maxCalls, |
Double_t | initialTemperature, | ||
Double_t | minTemperature, | ||
Double_t | eps, | ||
TString | kernelTemperatureS, | ||
Double_t | temperatureScale, | ||
Double_t | adaptiveSpeed, | ||
Double_t | temperatureAdaptiveStep, | ||
Bool_t | useDefaultScale, | ||
Bool_t | useDefaultTemperature | ||
) |
option setter
Definition at line 73 of file SimulatedAnnealing.cxx.
|
inline |
Definition at line 66 of file SimulatedAnnealing.h.
|
private |
result checker
Definition at line 219 of file SimulatedAnnealing.cxx.
|
virtual |
|
inline |
Definition at line 127 of file SimulatedAnnealing.h.
|
private |
how fast temperature change in adaptive (in adaptive two variables describe the change of temperature, but fAdaptiveSpeed should be 1.0 and its not recommended to change it)
Definition at line 110 of file SimulatedAnnealing.h.
|
private |
epsilon
Definition at line 108 of file SimulatedAnnealing.h.
|
private |
Definition at line 125 of file SimulatedAnnealing.h.
|
private |
the fitter target
Definition at line 100 of file SimulatedAnnealing.h.
|
private |
initial temperature
Definition at line 106 of file SimulatedAnnealing.h.
|
private |
Definition at line 124 of file SimulatedAnnealing.h.
|
private |
|
mutableprivate |
message logger
Definition at line 118 of file SimulatedAnnealing.h.
|
private |
maximum number of minimisation calls
Definition at line 105 of file SimulatedAnnealing.h.
|
private |
minimum temperature
Definition at line 107 of file SimulatedAnnealing.h.
|
private |
Definition at line 121 of file SimulatedAnnealing.h.
|
private |
random generator
Definition at line 101 of file SimulatedAnnealing.h.
|
private |
parameter ranges
Definition at line 102 of file SimulatedAnnealing.h.
|
private |
used to calculate InitialTemperature if fUseDefaultTemperature
Definition at line 113 of file SimulatedAnnealing.h.
|
private |
how fast temperature change
Definition at line 109 of file SimulatedAnnealing.h.
|
private |
if TRUE, SA calculates its own TemperatureScale
Definition at line 115 of file SimulatedAnnealing.h.
|
private |
if TRUE, SA calculates its own InitialTemperature (MinTemperautre)
Definition at line 116 of file SimulatedAnnealing.h.