38 #ifndef ROOT_TMVA_MethodMLP 39 #define ROOT_TMVA_MethodMLP 56 #ifndef ROOT_TObjArray 65 #ifndef ROOT_TMatrixDfwd 69 #ifndef ROOT_TMVA_IFitterTarget 72 #ifndef ROOT_TMVA_MethodBase 75 #ifndef ROOT_TMVA_MethodANNBase 78 #ifndef ROOT_TMVA_TNeuron 81 #ifndef ROOT_TMVA_TActivation 84 #ifndef ROOT_TMVA_ConvergenceTest 88 #define MethodMLP_UseMinuit__ 89 #undef MethodMLP_UseMinuit__ 104 const TString& theWeightFile );
179 #ifdef MethodMLP_UseMinuit__ 181 void MinuitMinimize();
232 #ifdef MethodMLP_UseMinuit__ 234 Int_t fNumberOfWeights;
Float_t fSamplingFraction
void GetHelpMessage() const
get help message text
Double_t GetMSEErr(const Event *ev, UInt_t index=0)
virtual ~MethodMLP()
destructor nothing to be done
void Init()
default initializations
static const Bool_t fgPRINT_SEQ
void TrainOneEpoch()
train network over a single epoch/cyle of events
void SteepestDir(TMatrixD &Dir)
void SetDir(TMatrixD &Hessian, TMatrixD &Dir)
void TrainOneEventFast(Int_t ievt, Float_t *&branchVar, Int_t &type)
fast per-event training
void DeclareOptions()
define the options (their key words) that can be set in the option string know options: TrainingMetho...
Double_t CalculateEstimator(Types::ETreeType treeType=Types::kTraining, Int_t iEpoch=-1)
calculate the estimator that training is attempting to minimize
Double_t Gamma(Double_t z)
Computation of gamma(z) for all z.
void BFGSMinimize(Int_t nEpochs)
train network with BFGS algorithm
void SetDirWeights(std::vector< Double_t > &Origin, TMatrixD &Dir, Double_t alpha)
ETrainingMethod fTrainingMethod
void Shuffle(Int_t *index, Int_t n)
Input: index: the array to shuffle n: the size of the array Output: index: the shuffled indexes This ...
#define ClassDef(name, id)
void(* FCN)(Int_t &npar, Double_t *gin, Double_t &f, Double_t *u, Int_t flag)
void GetApproxInvHessian(TMatrixD &InvHessian, bool regulate=true)
void TrainOneEvent(Int_t ievt)
train network over a single event this uses the new event model
void MakeClassSpecific(std::ostream &, const TString &) const
write specific classifier response
void UpdateSynapses()
update synapse error fields and adjust the weights (if in sequential mode)
std::vector< Double_t > fPriorDev
Double_t GetCEErr(const Event *ev, UInt_t index=0)
void GeneticMinimize()
create genetics class similar to GeneticCut give it vector of parameter ranges (parameters = weights)...
void InitializeLearningRates()
initialize learning rates of synapses, used only by backpropagation
void DecaySynapseWeights(Bool_t lateEpoch)
decay synapse weights in last 10 epochs, lower learning rate even more to find a good minimum ...
Double_t GetDesiredOutput(const Event *ev)
get the desired output of this event
Bool_t GetHessian(TMatrixD &Hessian, TMatrixD &Gamma, TMatrixD &Delta)
Double_t GetMvaValue(Double_t *err=0, Double_t *errUpper=0)
get the mva value generated by the NN
void BackPropagationMinimize(Int_t nEpochs)
minimize estimator / train network with backpropagation algorithm
static const Int_t fgPRINT_ESTIMATOR_INC
Bool_t LineSearch(TMatrixD &Dir, std::vector< Double_t > &Buffer, Double_t *dError=0)
void UpdateNetwork(Double_t desired, Double_t eventWeight=1.0)
update the network based on how closely the output matched the desired output
static const Bool_t fgPRINT_BATCH
void SetGammaDelta(TMatrixD &Gamma, TMatrixD &Delta, std::vector< Double_t > &Buffer)
void CalculateNeuronDeltas()
have each neuron calculate its delta by backpropagation
void SimulateEvent(const Event *ev)
void AdjustSynapseWeights()
just adjust the synapse weights (should be called in batch mode)
virtual Bool_t HasAnalysisType(Types::EAnalysisType type, UInt_t numberClasses, UInt_t numberTargets)
MLP can handle classification with 2 classes and regression with one regression-target.
Abstract ClassifierFactory template that handles arbitrary types.
void ProcessOptions()
process user options
Double_t EstimatorFunction(std::vector< Double_t > ¶meters)
interface to the estimate
Double_t ComputeEstimator(std::vector< Double_t > ¶meters)
this function is called by GeneticANN for GA optimization
std::vector< std::pair< Float_t, Float_t > > * fDeviationsFromTargets
Double_t DerivDir(TMatrixD &Dir)
MethodMLP(const TString &jobName, const TString &methodTitle, DataSetInfo &theData, const TString &theOption)
standard constructor