60   if (fLinksIn != NULL)  
delete fLinksIn;
 
   61   if (fLinksOut != NULL) 
delete fLinksOut;
 
   78   fInputCalculator = NULL;
 
   95   if (fForcedValue) 
return;
 
   96   fValue = fInputCalculator->GetInput(
this);
 
  104   if (fActivation == NULL) {
 
  105      PrintMessage( kWARNING ,
"No activation equation specified." );
 
  109   fActivationValue = fActivation->Eval(fValue);
 
  118   if (IsInputNeuron()) {
 
  126   if (IsOutputNeuron()) error = fError;
 
  139         if (synapse == NULL) 
break;
 
  145   fDelta = error * fActivation->EvalDerivative(GetValue());
 
  153   if (fInputCalculator != NULL) 
delete fInputCalculator;
 
  154   fInputCalculator = calculator;
 
  162   if (fActivation != NULL) 
delete fActivation;
 
  163   fActivation = activation;
 
  171   if (IsInputNeuron()) 
return;
 
  180   if (IsOutputNeuron()) 
return;
 
  181   fLinksOut->Add(post);
 
  189   DeleteLinksArray(fLinksIn);
 
  197   if (links == NULL) 
return;
 
  201   for (
Int_t i=0; i<numLinks; i++) {
 
  203      if (synapse != NULL) 
delete synapse;
 
  214   if (!IsOutputNeuron())
 
  215      PrintMessage( kWARNING, 
"Warning! Setting an error on a non-output neuron is probably not what you want to do." );
 
  226   if (IsInputNeuron()) 
return;
 
  232      if (synapse == NULL) 
break;
 
  244   if (IsInputNeuron()) 
return;
 
  251      if (synapse == NULL) 
break;
 
  265   if (IsInputNeuron()) 
return;
 
  273      if (synapse == NULL) 
break;
 
  286   if (IsInputNeuron()) 
return;
 
  294      if (synapse == NULL) 
break;
 
  306      Log() << kDEBUG << 
"\t\t\t<none>" << 
Endl;
 
  313   for  (
Int_t i = 0; i < numLinks; i++) {
 
  316         "\t\t\tweighta: " << synapse->
GetWeight()
 
  329   if (fActivation != NULL) Log() << kDEBUG << fActivation->GetExpression() << 
Endl;
 
  330   else                     Log() << kDEBUG << 
"<none>" << 
Endl;
 
  345   TTHREAD_TLS_DECL_ARG2(
MsgLogger,logger,
"TNeuron",kDEBUG);    
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
 
ostringstream derivative to redirect and format output
 
Interface for TNeuron activation function classes.
 
Neuron class used by TMVA artificial neural network methods.
 
void AdjustSynapseWeights()
adjust the pre-synapses' weights for each neuron (input neuron has no pre-synapse) this method should...
 
void ForceValue(Double_t value)
force the value, typically for input and bias neurons
 
TNeuron()
standard constructor
 
void UpdateSynapsesSequential()
update the pre-synapses for each neuron (input neuron has no pre-synapse) this method should only be ...
 
void PrintMessage(EMsgType, TString message)
print message, for debugging
 
void SetActivationEqn(TActivation *activation)
set activation equation
 
void InitNeuron()
initialize the neuron, most variables still need to be set via setters
 
void AddPostLink(TSynapse *post)
add synapse as a post-link to this neuron
 
void SetInputCalculator(TNeuronInput *calculator)
set input calculator
 
void PrintActivationEqn()
print activation equation, for debugging
 
void SetError(Double_t error)
set error, this should only be done for an output neuron
 
void CalculateValue()
calculate neuron input
 
void CalculateActivationValue()
calculate neuron activation/output
 
void UpdateSynapsesBatch()
update and adjust the pre-synapses for each neuron (input neuron has no pre-synapse) this method shou...
 
void DeleteLinksArray(TObjArray *&links)
delete an array of TSynapses
 
virtual ~TNeuron()
destructor
 
void AddPreLink(TSynapse *pre)
add synapse as a pre-link to this neuron
 
void DeletePreLinks()
delete all pre-links
 
void InitSynapseDeltas()
initialize the error fields of all pre-neurons this method should only be called in batch mode
 
void CalculateDelta()
calculate error field
 
void PrintLinks(TObjArray *links) const
print an array of TSynapses, for debugging
 
Synapse class used by TMVA artificial neural network methods.
 
Double_t GetWeightedValue()
get output of pre-neuron weighted by synapse weight
 
Double_t GetLearningRate()
 
Double_t GetWeightedDelta()
get error field of post-neuron weighted by synapse weight
 
void AdjustWeight()
adjust the weight based on the error field all ready calculated by CalculateDelta
 
void CalculateDelta()
calculate/adjust the error field for this synapse
 
Iterator of object array.
 
TObject * Next() override
Return next object in array. Returns 0 when no more objects in array.
 
Int_t GetEntriesFast() const
 
TObject * At(Int_t idx) const override
 
MsgLogger & Endl(MsgLogger &ml)
 
static const Int_t UNINITIALIZED