#include <TMultiLayerPerceptron.h>
Inheritance diagram for TMultiLayerPerceptron:
Public Types | |
enum | ELearningMethod |
enum | EDataSet |
enum | ELearningMethod |
enum | EDataSet |
Public Member Functions | |
TMultiLayerPerceptron () | |
TMultiLayerPerceptron (const char *layout, TTree *data=0, const char *training="Entry$%2==0", const char *test="", TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
TMultiLayerPerceptron (const char *layout, const char *weight, TTree *data=0, const char *training="Entry$%2==0", const char *test="", TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
TMultiLayerPerceptron (const char *layout, TTree *data, TEventList *training, TEventList *test, TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
TMultiLayerPerceptron (const char *layout, const char *weight, TTree *data, TEventList *training, TEventList *test, TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
virtual | ~TMultiLayerPerceptron () |
void | SetData (TTree *) |
void | SetTrainingDataSet (TEventList *train) |
void | SetTestDataSet (TEventList *test) |
void | SetTrainingDataSet (const char *train) |
void | SetTestDataSet (const char *test) |
void | SetLearningMethod (TMultiLayerPerceptron::ELearningMethod method) |
void | SetEventWeight (const char *) |
void | Train (Int_t nEpoch, Option_t *option="text", Double_t minE=0) |
Double_t | Result (Int_t event, Int_t index=0) const |
Double_t | GetError (Int_t event) const |
Double_t | GetError (TMultiLayerPerceptron::EDataSet set) const |
void | ComputeDEDw () const |
void | Randomize () const |
void | SetEta (Double_t eta) |
void | SetEpsilon (Double_t eps) |
void | SetDelta (Double_t delta) |
void | SetEtaDecay (Double_t ed) |
void | SetTau (Double_t tau) |
void | SetReset (Int_t reset) |
Double_t | GetEta () const |
Double_t | GetEpsilon () const |
Double_t | GetDelta () const |
Double_t | GetEtaDecay () const |
Double_t | GetTau () const |
Int_t | GetReset () const |
TString | GetStructure () const |
TNeuron::ENeuronType | GetType () const |
void | DrawResult (Int_t index=0, Option_t *option="test") const |
void | DumpWeights (Option_t *filename="-") const |
void | LoadWeights (Option_t *filename="") |
Double_t | Evaluate (Int_t index, Double_t *params) const |
void | Export (Option_t *filename="NNfunction", Option_t *language="C++") const |
virtual void | Draw (Option_t *option="") |
TMultiLayerPerceptron () | |
TMultiLayerPerceptron (const char *layout, TTree *data=0, const char *training="Entry$%2==0", const char *test="", TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
TMultiLayerPerceptron (const char *layout, const char *weight, TTree *data=0, const char *training="Entry$%2==0", const char *test="", TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
TMultiLayerPerceptron (const char *layout, TTree *data, TEventList *training, TEventList *test, TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
TMultiLayerPerceptron (const char *layout, const char *weight, TTree *data, TEventList *training, TEventList *test, TNeuron::ENeuronType type=TNeuron::kSigmoid, const char *extF="", const char *extD="") | |
virtual | ~TMultiLayerPerceptron () |
void | SetData (TTree *) |
void | SetTrainingDataSet (TEventList *train) |
void | SetTestDataSet (TEventList *test) |
void | SetTrainingDataSet (const char *train) |
void | SetTestDataSet (const char *test) |
void | SetLearningMethod (TMultiLayerPerceptron::ELearningMethod method) |
void | SetEventWeight (const char *) |
void | Train (Int_t nEpoch, Option_t *option="text", Double_t minE=0) |
Double_t | Result (Int_t event, Int_t index=0) const |
Double_t | GetError (Int_t event) const |
Double_t | GetError (TMultiLayerPerceptron::EDataSet set) const |
void | ComputeDEDw () const |
void | Randomize () const |
void | SetEta (Double_t eta) |
void | SetEpsilon (Double_t eps) |
void | SetDelta (Double_t delta) |
void | SetEtaDecay (Double_t ed) |
void | SetTau (Double_t tau) |
void | SetReset (Int_t reset) |
Double_t | GetEta () const |
Double_t | GetEpsilon () const |
Double_t | GetDelta () const |
Double_t | GetEtaDecay () const |
Double_t | GetTau () const |
Int_t | GetReset () const |
TString | GetStructure () const |
TNeuron::ENeuronType | GetType () const |
void | DrawResult (Int_t index=0, Option_t *option="test") const |
void | DumpWeights (Option_t *filename="-") const |
void | LoadWeights (Option_t *filename="") |
Double_t | Evaluate (Int_t index, Double_t *params) const |
void | Export (Option_t *filename="NNfunction", Option_t *language="C++") const |
virtual void | Draw (Option_t *option="") |
Protected Member Functions | |
void | AttachData () |
void | BuildNetwork () |
void | GetEntry (Int_t) const |
void | MLP_Stochastic (Double_t *) |
void | MLP_Batch (Double_t *) |
Bool_t | LineSearch (Double_t *, Double_t *) |
void | SteepestDir (Double_t *) |
void | ConjugateGradientsDir (Double_t *, Double_t) |
void | SetGammaDelta (TMatrixD &, TMatrixD &, Double_t *) |
bool | GetBFGSH (TMatrixD &, TMatrixD &, TMatrixD &) |
void | BFGSDir (TMatrixD &, Double_t *) |
Double_t | DerivDir (Double_t *) |
Double_t | GetCrossEntropyBinary () const |
Double_t | GetCrossEntropy () const |
Double_t | GetSumSquareError () const |
void | AttachData () |
void | BuildNetwork () |
void | GetEntry (Int_t) const |
void | MLP_Stochastic (Double_t *) |
void | MLP_Batch (Double_t *) |
Bool_t | LineSearch (Double_t *, Double_t *) |
void | SteepestDir (Double_t *) |
void | ConjugateGradientsDir (Double_t *, Double_t) |
void | SetGammaDelta (TMatrixD &, TMatrixD &, Double_t *) |
bool | GetBFGSH (TMatrixD &, TMatrixD &, TMatrixD &) |
void | BFGSDir (TMatrixD &, Double_t *) |
Double_t | DerivDir (Double_t *) |
Double_t | GetCrossEntropyBinary () const |
Double_t | GetCrossEntropy () const |
Double_t | GetSumSquareError () const |
Private Member Functions | |
TMultiLayerPerceptron (const TMultiLayerPerceptron &) | |
TMultiLayerPerceptron & | operator= (const TMultiLayerPerceptron &) |
void | ExpandStructure () |
void | BuildFirstLayer (TString &) |
void | BuildHiddenLayers (TString &) |
void | BuildOneHiddenLayer (const TString &sNumNodes, Int_t &layer, Int_t &prevStart, Int_t &prevStop, Bool_t lastLayer) |
void | BuildLastLayer (TString &, Int_t) |
void | Shuffle (Int_t *, Int_t) const |
void | MLP_Line (Double_t *, Double_t *, Double_t) |
TMultiLayerPerceptron (const TMultiLayerPerceptron &) | |
TMultiLayerPerceptron & | operator= (const TMultiLayerPerceptron &) |
void | ExpandStructure () |
void | BuildFirstLayer (TString &) |
void | BuildHiddenLayers (TString &) |
void | BuildOneHiddenLayer (const TString &sNumNodes, Int_t &layer, Int_t &prevStart, Int_t &prevStop, Bool_t lastLayer) |
void | BuildLastLayer (TString &, Int_t) |
void | Shuffle (Int_t *, Int_t) const |
void | MLP_Line (Double_t *, Double_t *, Double_t) |
Private Attributes | |
TTree * | fData |
Int_t | fCurrentTree |
pointer to the tree used as datasource | |
Double_t | fCurrentTreeWeight |
index of the current tree in a chain | |
TObjArray | fNetwork |
weight of the current tree in a chain | |
TObjArray | fFirstLayer |
TObjArray | fLastLayer |
TObjArray | fSynapses |
TString | fStructure |
TString | fWeight |
TNeuron::ENeuronType | fType |
TNeuron::ENeuronType | fOutType |
TString | fextF |
TString | fextD |
TEventList * | fTraining |
TEventList * | fTest |
EventList defining the events in the training dataset. | |
ELearningMethod | fLearningMethod |
EventList defining the events in the test dataset. | |
TTreeFormula * | fEventWeight |
The Learning Method. | |
TTreeFormulaManager * | fManager |
formula representing the event weight | |
Double_t | fEta |
TTreeFormulaManager for the weight and neurons. | |
Double_t | fEpsilon |
Eta - used in stochastic minimisation - Default=0.1. | |
Double_t | fDelta |
Epsilon - used in stochastic minimisation - Default=0. | |
Double_t | fEtaDecay |
Delta - used in stochastic minimisation - Default=0. | |
Double_t | fTau |
EtaDecay - Eta *= EtaDecay at each epoch - Default=1. | |
Double_t | fLastAlpha |
Tau - used in line search - Default=3. | |
Int_t | fReset |
internal parameter used in line search | |
Bool_t | fTrainingOwner |
number of epochs between two resets of the search direction to the steepest descent - Default=50 | |
Bool_t | fTestOwner |
internal flag whether one has to delete fTraining or not | |
TTree * | fData |
TEventList * | fTraining |
TEventList * | fTest |
EventList defining the events in the training dataset. | |
TTreeFormula * | fEventWeight |
The Learning Method. | |
TTreeFormulaManager * | fManager |
formula representing the event weight | |
Friends | |
class | TMLPAnalyzer |
Definition at line 58 of file TMultiLayerPerceptron.h.
Definition at line 62 of file TMultiLayerPerceptron.h.
Definition at line 64 of file TMultiLayerPerceptron.h.
Definition at line 62 of file TMultiLayerPerceptron.h.
Definition at line 64 of file TMultiLayerPerceptron.h.
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | ) |
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
TTree * | data = 0 , |
|||
const char * | training = "Entry$%2==0" , |
|||
const char * | test = "" , |
|||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
Definition at line 401 of file TMultiLayerPerceptron.cxx.
References AttachData(), BuildNetwork(), data, fCurrentTree, fCurrentTreeWeight, fData, fDelta, fEpsilon, fEta, fEtaDecay, fEventWeight, fextD, fextF, fFirstLayer, fLastAlpha, fLastLayer, fLearningMethod, fManager, fNetwork, Form(), fOutType, fReset, fStructure, fSynapses, fTau, fTest, fTestOwner, fTraining, fTrainingOwner, fType, fWeight, TClass::GetClass(), gSystem, kBFGS, TNeuron::kLinear, TSystem::Load(), TCollection::SetOwner(), and TObject::Warning().
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
const char * | weight, | |||
TTree * | data = 0 , |
|||
const char * | training = "Entry$%2==0" , |
|||
const char * | test = "" , |
|||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
Definition at line 467 of file TMultiLayerPerceptron.cxx.
References AttachData(), BuildNetwork(), data, fCurrentTree, fCurrentTreeWeight, fData, fDelta, fEpsilon, fEta, fEtaDecay, fEventWeight, fextD, fextF, fFirstLayer, fLastAlpha, fLastLayer, fLearningMethod, fManager, fNetwork, Form(), fOutType, fReset, fStructure, fSynapses, fTau, fTest, fTestOwner, fTraining, fTrainingOwner, fType, fWeight, TClass::GetClass(), gSystem, kBFGS, TNeuron::kLinear, TSystem::Load(), TCollection::SetOwner(), and TObject::Warning().
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
TTree * | data, | |||
TEventList * | training, | |||
TEventList * | test, | |||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
Definition at line 284 of file TMultiLayerPerceptron.cxx.
References AttachData(), BuildNetwork(), data, fCurrentTree, fCurrentTreeWeight, fData, fDelta, fEpsilon, fEta, fEtaDecay, fEventWeight, fextD, fextF, fFirstLayer, fLastAlpha, fLastLayer, fLearningMethod, fManager, fNetwork, fOutType, fReset, fStructure, fSynapses, fTau, fTest, fTestOwner, fTraining, fTrainingOwner, fType, fWeight, TClass::GetClass(), gSystem, kBFGS, TNeuron::kLinear, TSystem::Load(), TCollection::SetOwner(), and test().
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
const char * | weight, | |||
TTree * | data, | |||
TEventList * | training, | |||
TEventList * | test, | |||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
Definition at line 342 of file TMultiLayerPerceptron.cxx.
References AttachData(), BuildNetwork(), data, fCurrentTree, fCurrentTreeWeight, fData, fDelta, fEpsilon, fEta, fEtaDecay, fEventWeight, fextD, fextF, fFirstLayer, fLastAlpha, fLastLayer, fLearningMethod, fManager, fNetwork, fOutType, fReset, fStructure, fSynapses, fTau, fTest, fTestOwner, fTraining, fTrainingOwner, fType, fWeight, TClass::GetClass(), gSystem, kBFGS, TNeuron::kLinear, TSystem::Load(), TCollection::SetOwner(), and test().
TMultiLayerPerceptron::~TMultiLayerPerceptron | ( | ) | [virtual] |
Definition at line 534 of file TMultiLayerPerceptron.cxx.
References fTest, fTestOwner, fTraining, and fTrainingOwner.
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const TMultiLayerPerceptron & | ) | [private] |
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | ) |
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
TTree * | data = 0 , |
|||
const char * | training = "Entry$%2==0" , |
|||
const char * | test = "" , |
|||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
const char * | weight, | |||
TTree * | data = 0 , |
|||
const char * | training = "Entry$%2==0" , |
|||
const char * | test = "" , |
|||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
TTree * | data, | |||
TEventList * | training, | |||
TEventList * | test, | |||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const char * | layout, | |
const char * | weight, | |||
TTree * | data, | |||
TEventList * | training, | |||
TEventList * | test, | |||
TNeuron::ENeuronType | type = TNeuron::kSigmoid , |
|||
const char * | extF = "" , |
|||
const char * | extD = "" | |||
) |
virtual TMultiLayerPerceptron::~TMultiLayerPerceptron | ( | ) | [virtual] |
TMultiLayerPerceptron::TMultiLayerPerceptron | ( | const TMultiLayerPerceptron & | ) | [private] |
void TMultiLayerPerceptron::SetData | ( | TTree * | ) |
Definition at line 542 of file TMultiLayerPerceptron.cxx.
References AttachData(), BuildNetwork(), data, and fData.
void TMultiLayerPerceptron::SetTrainingDataSet | ( | TEventList * | train | ) |
void TMultiLayerPerceptron::SetTestDataSet | ( | TEventList * | test | ) |
void TMultiLayerPerceptron::SetTrainingDataSet | ( | const char * | train | ) |
Definition at line 591 of file TMultiLayerPerceptron.cxx.
References TTree::Draw(), fData, Form(), fTraining, fTrainingOwner, and TObject::Warning().
void TMultiLayerPerceptron::SetTestDataSet | ( | const char * | test | ) |
Definition at line 608 of file TMultiLayerPerceptron.cxx.
References TTree::Draw(), fData, Form(), fTest, fTestOwner, TNamed::GetName(), and TObject::Warning().
void TMultiLayerPerceptron::SetLearningMethod | ( | TMultiLayerPerceptron::ELearningMethod | method | ) |
Definition at line 626 of file TMultiLayerPerceptron.cxx.
References fLearningMethod.
Referenced by TMVA::MethodTMlpANN::Train().
void TMultiLayerPerceptron::SetEventWeight | ( | const char * | ) |
Definition at line 557 of file TMultiLayerPerceptron.cxx.
References TTreeFormulaManager::Add(), TString::Data(), fData, fEventWeight, fManager, fWeight, and TTreeFormulaManager::Remove().
Referenced by TMVA::MethodTMlpANN::Train().
Definition at line 710 of file TMultiLayerPerceptron.cxx.
References TMultiGraph::Add(), TLegend::AddEntry(), TList::At(), BFGSDir(), buffer, canvas, ComputeDEDw(), ConjugateGradientsDir(), TString::Contains(), DerivDir(), dir(), TMultiGraph::Draw(), TLegend::Draw(), TObject::Error(), fData, fLastAlpha, fLearningMethod, fNetwork, fReset, fSynapses, fTest, fTraining, ROOT::Math::Cephes::gamma(), GetBFGSH(), TSynapse::GetDEDw(), TNeuron::GetDEDw(), TObjArray::GetEntriesFast(), GetError(), TMultiGraph::GetListOfGraphs(), TEventList::GetN(), TMultiGraph::GetXaxis(), TGraph::GetY(), TMultiGraph::GetYaxis(), gPad, gSystem, i, TObject::Info(), isnan(), kBatch, kBFGS, kFletcherReeves, kRibierePolak, kSteepestDescent, kStochastic, kTest, kTraining, legend, LineSearch(), MLP_Batch(), MLP_Stochastic(), TPad::Modified(), nentries, norm(), out, TSystem::ProcessEvents(), Randomize(), TAxis::SetDecimals(), SetGammaDelta(), TAttPad::SetLeftMargin(), TAttLine::SetLineColor(), TGraph::SetPoint(), TNamed::SetTitle(), TAttAxis::SetTitleOffset(), TMath::Sqrt(), SteepestDir(), TString::ToLower(), TObjArray::UncheckedAt(), TMatrixTBase< Element >::UnitMatrix(), TAxis::UnZoom(), and TCanvas::Update().
Referenced by mlpHiggs(), mlpRegression(), and TMVA::MethodTMlpANN::Train().
Definition at line 962 of file TMultiLayerPerceptron.cxx.
References TObjArray::At(), fLastLayer, GetEntry(), and out.
Referenced by TMLPAnalyzer::DrawNetwork(), and DrawResult().
Definition at line 975 of file TMultiLayerPerceptron.cxx.
References error, TTreeFormula::EvalInstance(), fCurrentTreeWeight, fEventWeight, fLastLayer, fOutType, GetCrossEntropy(), GetCrossEntropyBinary(), TObjArray::GetEntriesFast(), GetEntry(), GetSumSquareError(), TNeuron::kLinear, TNeuron::kSigmoid, and TNeuron::kSoftmax.
Referenced by GetError(), LineSearch(), and Train().
Double_t TMultiLayerPerceptron::GetError | ( | TMultiLayerPerceptron::EDataSet | set | ) | const |
void TMultiLayerPerceptron::ComputeDEDw | ( | ) | const |
Definition at line 1086 of file TMultiLayerPerceptron.cxx.
References TTreeFormula::EvalInstance(), fCurrentTreeWeight, fData, fEventWeight, fNetwork, fSynapses, fTraining, TSynapse::GetDEDw(), TNeuron::GetDEDw(), TNeuron::GetDeDw(), TSynapse::GetDeDw(), TTree::GetEntries(), TObjArray::GetEntriesFast(), GetEntry(), TEventList::GetEntry(), TEventList::GetN(), i, j, nentries, nEvents, TSynapse::SetDEDw(), TNeuron::SetDEDw(), and TObjArray::UncheckedAt().
Referenced by SetGammaDelta(), and Train().
void TMultiLayerPerceptron::Randomize | ( | ) | const |
Definition at line 1162 of file TMultiLayerPerceptron.cxx.
References fNetwork, fSynapses, TObjArray::GetEntriesFast(), j, nentries, TSynapse::SetWeight(), TNeuron::SetWeight(), ts, and TObjArray::UncheckedAt().
Referenced by Train().
void TMultiLayerPerceptron::SetEta | ( | Double_t | eta | ) |
void TMultiLayerPerceptron::SetEpsilon | ( | Double_t | eps | ) |
void TMultiLayerPerceptron::SetDelta | ( | Double_t | delta | ) |
void TMultiLayerPerceptron::SetEtaDecay | ( | Double_t | ed | ) |
void TMultiLayerPerceptron::SetTau | ( | Double_t | tau | ) |
void TMultiLayerPerceptron::SetReset | ( | Int_t | reset | ) |
Double_t TMultiLayerPerceptron::GetEta | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetEpsilon | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetDelta | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetEtaDecay | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetTau | ( | void | ) | const [inline] |
Int_t TMultiLayerPerceptron::GetReset | ( | ) | const [inline] |
TString TMultiLayerPerceptron::GetStructure | ( | ) | const [inline] |
Definition at line 114 of file TMultiLayerPerceptron.h.
References fStructure.
Referenced by TMLPAnalyzer::CheckNetwork(), TMLPAnalyzer::GetLayers(), TMLPAnalyzer::GetNeuronFormula(), and TMLPAnalyzer::GetNeurons().
TNeuron::ENeuronType TMultiLayerPerceptron::GetType | ( | ) | const [inline] |
Definition at line 1436 of file TMultiLayerPerceptron.cxx.
References TObjArray::At(), TString::Contains(), TString::Data(), TObject::Error(), fData, fLastLayer, Form(), fTest, fTraining, gDirectory, TDirectory::Get(), GetEntry(), TEventList::GetEntry(), TEventList::GetN(), hist, i, nEvents, norm(), out, Result(), title, and TString::ToLower().
void TMultiLayerPerceptron::DumpWeights | ( | Option_t * | filename = "-" |
) | const |
Definition at line 1515 of file TMultiLayerPerceptron.cxx.
References TString::Data(), fFirstLayer, fLastLayer, fNetwork, fSynapses, TObjArray::GetEntriesFast(), TSynapse::GetWeight(), j, TObjArray::MakeIterator(), nentries, TObjArrayIter::Next(), output(), and TObjArray::UncheckedAt().
Referenced by TMVA::MethodTMlpANN::AddWeightsXMLTo().
void TMultiLayerPerceptron::LoadWeights | ( | Option_t * | filename = "" |
) |
Definition at line 1561 of file TMultiLayerPerceptron.cxx.
References TString::Data(), fFirstLayer, fLastLayer, fNetwork, fSynapses, TObjArray::MakeIterator(), TObjArrayIter::Next(), TNeuron::SetNormalisation(), TNeuron::SetWeight(), TSynapse::SetWeight(), and w.
Referenced by TMVA::MethodTMlpANN::ReadWeightsFromStream(), and TMVA::MethodTMlpANN::ReadWeightsFromXML().
Definition at line 1613 of file TMultiLayerPerceptron.cxx.
References TObjArray::At(), fFirstLayer, fLastLayer, fNetwork, TNeuron::ForceExternalValue(), i, TObjArray::MakeIterator(), TObjArrayIter::Next(), out, and TNeuron::SetNewEvent().
Referenced by TMLPAnalyzer::GatherInformations(), TMVA::MethodTMlpANN::GetMvaValue(), mlpHiggs(), and mlpRegression().
void TMultiLayerPerceptron::Export | ( | Option_t * | filename = "NNfunction" , |
|
Option_t * | language = "C++" | |||
) | const |
Definition at line 1636 of file TMultiLayerPerceptron.cxx.
References classname, TString::Data(), fFirstLayer, fLastLayer, fNetwork, fSynapses, TObjArray::GetEntriesFast(), TNeuron::GetInLayer(), TNeuron::GetNormalisation(), TSynapse::GetPre(), TNeuron::GetPre(), TNeuron::GetType(), GetType(), TNeuron::GetWeight(), TSynapse::GetWeight(), i, TNeuron::kExternal, TNeuron::kGauss, TNeuron::kLinear, TNeuron::kSigmoid, TNeuron::kSoftmax, TNeuron::kTanh, TString::Last(), TString::Length(), TObjArray::MakeIterator(), n, TObjArrayIter::Next(), TString::ToUpper(), and TObject::Warning().
Referenced by TMVA::MethodTMlpANN::MakeClass(), and mlpHiggs().
void TMultiLayerPerceptron::Draw | ( | Option_t * | option = "" |
) | [virtual] |
Reimplemented from TObject.
Definition at line 2416 of file TMultiLayerPerceptron.cxx.
References TMath::Abs(), TObjArray::At(), xmlio::cnt, TString::CountChar(), TCollection::Draw(), TObject::Draw(), TString::First(), fLastLayer, fStructure, fSynapses, TObjArray::GetEntriesFast(), TObjArray::GetLast(), TSynapse::GetWeight(), TString::Index(), TString::Last(), TString::Length(), m, TObjArray::MakeIterator(), NeuronSize, TObjArrayIter::Next(), num, and output().
Referenced by mlpHiggs().
void TMultiLayerPerceptron::AttachData | ( | ) | [protected] |
Definition at line 1183 of file TMultiLayerPerceptron.cxx.
References TTreeFormulaManager::Add(), TObjArray::At(), TString::Data(), fData, fEventWeight, fFirstLayer, TString::First(), fLastLayer, fManager, fStructure, fWeight, TObjArray::GetEntriesFast(), TObjArray::GetLast(), j, TString::Last(), TString::Length(), nentries, output(), R__ASSERT, TNeuron::SetNormalisation(), TObjArray::UncheckedAt(), and TNeuron::UseBranch().
Referenced by SetData(), and TMultiLayerPerceptron().
void TMultiLayerPerceptron::BuildNetwork | ( | ) | [protected] |
Definition at line 1282 of file TMultiLayerPerceptron.cxx.
References BuildFirstLayer(), BuildHiddenLayers(), BuildLastLayer(), TObject::Error(), ExpandStructure(), TString::First(), fStructure, TString::Last(), TString::Length(), and output().
Referenced by SetData(), and TMultiLayerPerceptron().
void TMultiLayerPerceptron::GetEntry | ( | Int_t | ) | const [protected] |
Definition at line 692 of file TMultiLayerPerceptron.cxx.
References fCurrentTree, fData, fManager, fNetwork, TObjArray::GetEntriesFast(), TTree::GetEntry(), TTree::GetTreeNumber(), TTree::GetWeight(), i, nentries, TTreeFormulaManager::Notify(), and TObjArray::UncheckedAt().
Referenced by ComputeDEDw(), DrawResult(), TMLPAnalyzer::GatherInformations(), GetError(), MLP_Stochastic(), and Result().
void TMultiLayerPerceptron::MLP_Stochastic | ( | Double_t * | ) | [protected] |
Definition at line 2055 of file TMultiLayerPerceptron.cxx.
References xmlio::cnt, fDelta, fEpsilon, fEta, fEtaDecay, fFirstLayer, fNetwork, fSynapses, fTraining, TNeuron::GetDeDw(), TSynapse::GetDeDw(), TObjArray::GetEntriesFast(), GetEntry(), TEventList::GetEntry(), TEventList::GetN(), TNeuron::GetWeight(), TSynapse::GetWeight(), i, j, nentries, nEvents, TNeuron::SetWeight(), TSynapse::SetWeight(), Shuffle(), and TObjArray::UncheckedAt().
Referenced by Train().
void TMultiLayerPerceptron::MLP_Batch | ( | Double_t * | ) | [protected] |
Definition at line 2100 of file TMultiLayerPerceptron.cxx.
References xmlio::cnt, fDelta, fEpsilon, fEta, fEtaDecay, fNetwork, fSynapses, TSynapse::GetDEDw(), TNeuron::GetDEDw(), TNeuron::GetWeight(), TSynapse::GetWeight(), TObjArray::MakeIterator(), TObjArrayIter::Next(), TSynapse::SetWeight(), and TNeuron::SetWeight().
Referenced by Train().
Definition at line 2168 of file TMultiLayerPerceptron.cxx.
References fLastAlpha, fNetwork, fSynapses, fTau, TObjArray::GetEntriesFast(), GetError(), TNeuron::GetWeight(), TSynapse::GetWeight(), j, kTraining, MLP_Line(), nentries, and TObjArray::UncheckedAt().
Referenced by Train().
void TMultiLayerPerceptron::SteepestDir | ( | Double_t * | ) | [protected] |
Definition at line 2151 of file TMultiLayerPerceptron.cxx.
References fNetwork, fSynapses, TSynapse::GetDEDw(), TNeuron::GetDEDw(), TObjArray::MakeIterator(), and TObjArrayIter::Next().
Referenced by Train().
Definition at line 2271 of file TMultiLayerPerceptron.cxx.
References fNetwork, fSynapses, TSynapse::GetDEDw(), TNeuron::GetDEDw(), TObjArray::GetEntriesFast(), j, nentries, and TObjArray::UncheckedAt().
Referenced by Train().
Definition at line 2324 of file TMultiLayerPerceptron.cxx.
References ComputeDEDw(), fNetwork, fSynapses, ROOT::Math::Cephes::gamma(), TSynapse::GetDEDw(), TNeuron::GetDEDw(), TObjArray::GetEntriesFast(), i, j, nentries, and TObjArray::UncheckedAt().
Referenced by Train().
Definition at line 2297 of file TMultiLayerPerceptron.cxx.
References a, ROOT::Math::Cephes::gamma(), TMatrixT< Element >::kMult, TMatrixT< Element >::kTransposed, and TMatrixT< Element >::kTransposeMult.
Referenced by Train().
Definition at line 2388 of file TMultiLayerPerceptron.cxx.
References fNetwork, fSynapses, TSynapse::GetDEDw(), TNeuron::GetDEDw(), TObjArray::GetEntriesFast(), i, j, TMatrixT< Element >::kMult, nentries, and TObjArray::UncheckedAt().
Referenced by Train().
Definition at line 2364 of file TMultiLayerPerceptron.cxx.
References fNetwork, fSynapses, TSynapse::GetDEDw(), TNeuron::GetDEDw(), TObjArray::GetEntriesFast(), j, nentries, output(), and TObjArray::UncheckedAt().
Referenced by Train().
Double_t TMultiLayerPerceptron::GetCrossEntropyBinary | ( | ) | const [protected] |
Definition at line 1037 of file TMultiLayerPerceptron.cxx.
References error, fLastLayer, TObjArray::GetEntriesFast(), i, TMath::Log(), and output().
Referenced by GetError().
Double_t TMultiLayerPerceptron::GetCrossEntropy | ( | ) | const [protected] |
Definition at line 1067 of file TMultiLayerPerceptron.cxx.
References error, fLastLayer, TObjArray::GetEntriesFast(), i, TMath::Log(), and output().
Referenced by GetError().
Double_t TMultiLayerPerceptron::GetSumSquareError | ( | ) | const [protected] |
Definition at line 1025 of file TMultiLayerPerceptron.cxx.
References error, fLastLayer, TObjArray::GetEntriesFast(), and i.
Referenced by GetError().
TMultiLayerPerceptron& TMultiLayerPerceptron::operator= | ( | const TMultiLayerPerceptron & | ) | [private] |
void TMultiLayerPerceptron::ExpandStructure | ( | ) | [private] |
Definition at line 1236 of file TMultiLayerPerceptron.cxx.
References TObjArray::At(), fData, TString::First(), fStructure, TObjArray::GetLast(), i, j, TString::Length(), name, and TObject::Warning().
Referenced by BuildNetwork().
void TMultiLayerPerceptron::BuildFirstLayer | ( | TString & | ) | [private] |
Definition at line 1310 of file TMultiLayerPerceptron.cxx.
References TObjArray::AddLast(), TObjArray::At(), fFirstLayer, fNetwork, TObjArray::GetLast(), i, TNeuron::kOff, and name.
Referenced by BuildNetwork().
void TMultiLayerPerceptron::BuildHiddenLayers | ( | TString & | ) | [private] |
Definition at line 1330 of file TMultiLayerPerceptron.cxx.
References BuildOneHiddenLayer(), fNetwork, TObjArray::GetEntriesFast(), TString::Index(), and TString::Length().
Referenced by BuildNetwork().
void TMultiLayerPerceptron::BuildOneHiddenLayer | ( | const TString & | sNumNodes, | |
Int_t & | layer, | |||
Int_t & | prevStart, | |||
Int_t & | prevStop, | |||
Bool_t | lastLayer | |||
) | [private] |
Definition at line 1348 of file TMultiLayerPerceptron.cxx.
References TNeuron::AddInLayer(), TObjArray::AddLast(), TString::Data(), TObject::Error(), fextD, fextF, fNetwork, fSynapses, fType, TObjArray::GetEntriesFast(), i, TString::IsAlnum(), TString::IsAlpha(), j, name, and num.
Referenced by BuildHiddenLayers().
Definition at line 1389 of file TMultiLayerPerceptron.cxx.
References TNeuron::AddInLayer(), TObjArray::AddLast(), TString::EndsWith(), fLastLayer, fNetwork, fOutType, fStructure, fSynapses, TObjArray::GetEntriesFast(), i, j, kNPOS, TNeuron::kSigmoid, TNeuron::kSoftmax, TString::Length(), name, and output().
Referenced by BuildNetwork().
Definition at line 2031 of file TMultiLayerPerceptron.cxx.
References a, i, j, k, rnd, TRandom::Rndm(), and ts.
Referenced by MLP_Stochastic().
Definition at line 2128 of file TMultiLayerPerceptron.cxx.
References fNetwork, fSynapses, TObjArray::MakeIterator(), TObjArrayIter::Next(), TNeuron::SetWeight(), and TSynapse::SetWeight().
Referenced by LineSearch().
void TMultiLayerPerceptron::SetData | ( | TTree * | ) |
void TMultiLayerPerceptron::SetTrainingDataSet | ( | TEventList * | train | ) |
void TMultiLayerPerceptron::SetTestDataSet | ( | TEventList * | test | ) |
void TMultiLayerPerceptron::SetTrainingDataSet | ( | const char * | train | ) |
void TMultiLayerPerceptron::SetTestDataSet | ( | const char * | test | ) |
void TMultiLayerPerceptron::SetLearningMethod | ( | TMultiLayerPerceptron::ELearningMethod | method | ) |
void TMultiLayerPerceptron::SetEventWeight | ( | const char * | ) |
Double_t TMultiLayerPerceptron::GetError | ( | TMultiLayerPerceptron::EDataSet | set | ) | const |
void TMultiLayerPerceptron::ComputeDEDw | ( | ) | const |
void TMultiLayerPerceptron::Randomize | ( | ) | const |
void TMultiLayerPerceptron::SetEta | ( | Double_t | eta | ) |
void TMultiLayerPerceptron::SetEpsilon | ( | Double_t | eps | ) |
void TMultiLayerPerceptron::SetDelta | ( | Double_t | delta | ) |
void TMultiLayerPerceptron::SetEtaDecay | ( | Double_t | ed | ) |
void TMultiLayerPerceptron::SetTau | ( | Double_t | tau | ) |
void TMultiLayerPerceptron::SetReset | ( | Int_t | reset | ) |
Double_t TMultiLayerPerceptron::GetEta | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetEpsilon | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetDelta | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetEtaDecay | ( | ) | const [inline] |
Double_t TMultiLayerPerceptron::GetTau | ( | void | ) | const [inline] |
Int_t TMultiLayerPerceptron::GetReset | ( | ) | const [inline] |
TString TMultiLayerPerceptron::GetStructure | ( | ) | const [inline] |
TNeuron::ENeuronType TMultiLayerPerceptron::GetType | ( | ) | const [inline] |
void TMultiLayerPerceptron::DumpWeights | ( | Option_t * | filename = "-" |
) | const |
void TMultiLayerPerceptron::LoadWeights | ( | Option_t * | filename = "" |
) |
void TMultiLayerPerceptron::Export | ( | Option_t * | filename = "NNfunction" , |
|
Option_t * | language = "C++" | |||
) | const |
virtual void TMultiLayerPerceptron::Draw | ( | Option_t * | option = "" |
) | [virtual] |
Reimplemented from TObject.
void TMultiLayerPerceptron::AttachData | ( | ) | [protected] |
void TMultiLayerPerceptron::BuildNetwork | ( | ) | [protected] |
void TMultiLayerPerceptron::GetEntry | ( | Int_t | ) | const [protected] |
void TMultiLayerPerceptron::MLP_Stochastic | ( | Double_t * | ) | [protected] |
void TMultiLayerPerceptron::MLP_Batch | ( | Double_t * | ) | [protected] |
void TMultiLayerPerceptron::SteepestDir | ( | Double_t * | ) | [protected] |
Double_t TMultiLayerPerceptron::GetCrossEntropyBinary | ( | ) | const [protected] |
Double_t TMultiLayerPerceptron::GetCrossEntropy | ( | ) | const [protected] |
Double_t TMultiLayerPerceptron::GetSumSquareError | ( | ) | const [protected] |
TMultiLayerPerceptron& TMultiLayerPerceptron::operator= | ( | const TMultiLayerPerceptron & | ) | [private] |
void TMultiLayerPerceptron::ExpandStructure | ( | ) | [private] |
void TMultiLayerPerceptron::BuildFirstLayer | ( | TString & | ) | [private] |
void TMultiLayerPerceptron::BuildHiddenLayers | ( | TString & | ) | [private] |
void TMultiLayerPerceptron::BuildOneHiddenLayer | ( | const TString & | sNumNodes, | |
Int_t & | layer, | |||
Int_t & | prevStart, | |||
Int_t & | prevStop, | |||
Bool_t | lastLayer | |||
) | [private] |
TMLPAnalyzer [friend] |
Definition at line 59 of file TMultiLayerPerceptron.h.
TTree* TMultiLayerPerceptron::fData [private] |
Definition at line 154 of file TMultiLayerPerceptron.h.
Referenced by AttachData(), ComputeDEDw(), TMLPAnalyzer::DrawNetwork(), DrawResult(), ExpandStructure(), TMLPAnalyzer::GatherInformations(), GetEntry(), GetError(), SetData(), SetEventWeight(), SetTestDataSet(), SetTrainingDataSet(), TMultiLayerPerceptron(), and Train().
Int_t TMultiLayerPerceptron::fCurrentTree [private] |
pointer to the tree used as datasource
Definition at line 155 of file TMultiLayerPerceptron.h.
Referenced by GetEntry(), and TMultiLayerPerceptron().
index of the current tree in a chain
Definition at line 156 of file TMultiLayerPerceptron.h.
Referenced by ComputeDEDw(), GetError(), and TMultiLayerPerceptron().
TObjArray TMultiLayerPerceptron::fNetwork [private] |
weight of the current tree in a chain
Definition at line 157 of file TMultiLayerPerceptron.h.
Referenced by BFGSDir(), BuildFirstLayer(), BuildHiddenLayers(), BuildLastLayer(), BuildOneHiddenLayer(), ComputeDEDw(), ConjugateGradientsDir(), DerivDir(), DumpWeights(), Evaluate(), Export(), GetEntry(), LineSearch(), LoadWeights(), MLP_Batch(), MLP_Line(), MLP_Stochastic(), Randomize(), SetGammaDelta(), SteepestDir(), TMultiLayerPerceptron(), and Train().
TObjArray TMultiLayerPerceptron::fFirstLayer [private] |
Definition at line 158 of file TMultiLayerPerceptron.h.
Referenced by AttachData(), BuildFirstLayer(), DumpWeights(), Evaluate(), Export(), TMLPAnalyzer::GetInputNeuronTitle(), LoadWeights(), MLP_Stochastic(), and TMultiLayerPerceptron().
TObjArray TMultiLayerPerceptron::fLastLayer [private] |
Definition at line 159 of file TMultiLayerPerceptron.h.
Referenced by AttachData(), BuildLastLayer(), Draw(), DrawResult(), DumpWeights(), Evaluate(), Export(), TMLPAnalyzer::GatherInformations(), GetCrossEntropy(), GetCrossEntropyBinary(), GetError(), TMLPAnalyzer::GetOutputNeuronTitle(), GetSumSquareError(), LoadWeights(), Result(), and TMultiLayerPerceptron().
TObjArray TMultiLayerPerceptron::fSynapses [private] |
Definition at line 160 of file TMultiLayerPerceptron.h.
Referenced by BFGSDir(), BuildLastLayer(), BuildOneHiddenLayer(), ComputeDEDw(), ConjugateGradientsDir(), DerivDir(), Draw(), DumpWeights(), Export(), LineSearch(), LoadWeights(), MLP_Batch(), MLP_Line(), MLP_Stochastic(), Randomize(), SetGammaDelta(), SteepestDir(), TMultiLayerPerceptron(), and Train().
TString TMultiLayerPerceptron::fStructure [private] |
Definition at line 161 of file TMultiLayerPerceptron.h.
Referenced by AttachData(), BuildLastLayer(), BuildNetwork(), Draw(), ExpandStructure(), GetStructure(), and TMultiLayerPerceptron().
TString TMultiLayerPerceptron::fWeight [private] |
Definition at line 162 of file TMultiLayerPerceptron.h.
Referenced by AttachData(), SetEventWeight(), and TMultiLayerPerceptron().
Definition at line 163 of file TMultiLayerPerceptron.h.
Referenced by BuildOneHiddenLayer(), GetType(), and TMultiLayerPerceptron().
Definition at line 164 of file TMultiLayerPerceptron.h.
Referenced by BuildLastLayer(), GetError(), and TMultiLayerPerceptron().
TString TMultiLayerPerceptron::fextF [private] |
Definition at line 165 of file TMultiLayerPerceptron.h.
Referenced by BuildOneHiddenLayer(), and TMultiLayerPerceptron().
TString TMultiLayerPerceptron::fextD [private] |
Definition at line 166 of file TMultiLayerPerceptron.h.
Referenced by BuildOneHiddenLayer(), and TMultiLayerPerceptron().
TEventList* TMultiLayerPerceptron::fTraining [private] |
Definition at line 167 of file TMultiLayerPerceptron.h.
Referenced by ComputeDEDw(), DrawResult(), GetError(), MLP_Stochastic(), SetTrainingDataSet(), TMultiLayerPerceptron(), Train(), and ~TMultiLayerPerceptron().
TEventList* TMultiLayerPerceptron::fTest [private] |
EventList defining the events in the training dataset.
Definition at line 168 of file TMultiLayerPerceptron.h.
Referenced by TMLPAnalyzer::DrawNetwork(), DrawResult(), TMLPAnalyzer::GatherInformations(), GetError(), SetTestDataSet(), TMultiLayerPerceptron(), Train(), and ~TMultiLayerPerceptron().
EventList defining the events in the test dataset.
Definition at line 169 of file TMultiLayerPerceptron.h.
Referenced by SetLearningMethod(), TMultiLayerPerceptron(), and Train().
TTreeFormula* TMultiLayerPerceptron::fEventWeight [private] |
The Learning Method.
Definition at line 170 of file TMultiLayerPerceptron.h.
Referenced by AttachData(), ComputeDEDw(), GetError(), SetEventWeight(), and TMultiLayerPerceptron().
formula representing the event weight
Definition at line 171 of file TMultiLayerPerceptron.h.
Referenced by AttachData(), GetEntry(), SetEventWeight(), and TMultiLayerPerceptron().
Double_t TMultiLayerPerceptron::fEta [private] |
TTreeFormulaManager for the weight and neurons.
Definition at line 172 of file TMultiLayerPerceptron.h.
Referenced by GetEta(), MLP_Batch(), MLP_Stochastic(), SetEta(), and TMultiLayerPerceptron().
Double_t TMultiLayerPerceptron::fEpsilon [private] |
Eta - used in stochastic minimisation - Default=0.1.
Definition at line 173 of file TMultiLayerPerceptron.h.
Referenced by GetEpsilon(), MLP_Batch(), MLP_Stochastic(), SetEpsilon(), and TMultiLayerPerceptron().
Double_t TMultiLayerPerceptron::fDelta [private] |
Epsilon - used in stochastic minimisation - Default=0.
Definition at line 174 of file TMultiLayerPerceptron.h.
Referenced by GetDelta(), MLP_Batch(), MLP_Stochastic(), SetDelta(), and TMultiLayerPerceptron().
Double_t TMultiLayerPerceptron::fEtaDecay [private] |
Delta - used in stochastic minimisation - Default=0.
Definition at line 175 of file TMultiLayerPerceptron.h.
Referenced by GetEtaDecay(), MLP_Batch(), MLP_Stochastic(), SetEtaDecay(), and TMultiLayerPerceptron().
Double_t TMultiLayerPerceptron::fTau [private] |
EtaDecay - Eta *= EtaDecay at each epoch - Default=1.
Definition at line 176 of file TMultiLayerPerceptron.h.
Referenced by GetTau(), LineSearch(), SetTau(), and TMultiLayerPerceptron().
Double_t TMultiLayerPerceptron::fLastAlpha [private] |
Tau - used in line search - Default=3.
Definition at line 177 of file TMultiLayerPerceptron.h.
Referenced by LineSearch(), TMultiLayerPerceptron(), and Train().
Int_t TMultiLayerPerceptron::fReset [private] |
internal parameter used in line search
Definition at line 178 of file TMultiLayerPerceptron.h.
Referenced by GetReset(), SetReset(), TMultiLayerPerceptron(), and Train().
Bool_t TMultiLayerPerceptron::fTrainingOwner [private] |
number of epochs between two resets of the search direction to the steepest descent - Default=50
Definition at line 179 of file TMultiLayerPerceptron.h.
Referenced by SetTrainingDataSet(), TMultiLayerPerceptron(), and ~TMultiLayerPerceptron().
Bool_t TMultiLayerPerceptron::fTestOwner [private] |
internal flag whether one has to delete fTraining or not
Definition at line 180 of file TMultiLayerPerceptron.h.
Referenced by SetTestDataSet(), TMultiLayerPerceptron(), and ~TMultiLayerPerceptron().
TTree* TMultiLayerPerceptron::fData [private] |
Definition at line 154 of file TMultiLayerPerceptron.h.
TEventList* TMultiLayerPerceptron::fTraining [private] |
Definition at line 167 of file TMultiLayerPerceptron.h.
TEventList* TMultiLayerPerceptron::fTest [private] |
EventList defining the events in the training dataset.
Definition at line 168 of file TMultiLayerPerceptron.h.
TTreeFormula* TMultiLayerPerceptron::fEventWeight [private] |