ROOT logo
ROOT » MATH » MLP » TNeuron

class TNeuron: public TObject


 TNeuron

 This class decribes an elementary neuron, which is the basic
 element for a Neural Network.
 A network is built connecting neurons by synapses.
 There are different types of neurons: linear (a+bx),
 sigmoid (1/(1+exp(-x)), tanh or gaussian.
 An external function can also be used, together with its derivative.
 In a Multi Layer Perceptron, the input layer is made of
 inactive neurons (returning the normalized input) and output neurons
 are linear. Hidden neurons may be anything, the default being sigmoids.

 This implementation contains several methods to compute the value,
 the derivative, the DeDw, ...
 Values are stored in local buffers. The SetNewEvent() method is
 there to inform buffered values are outdated.


Function Members (Methods)

public:
TMVA::TNeuronTNeuron()
TMVA::TNeuronTNeuron(const TMVA::TNeuron&)
virtual~TNeuron()
voidTObject::AbstractMethod(const char* method) const
voidAddPostLink(TMVA::TSynapse* post)
voidAddPreLink(TMVA::TSynapse* pre)
voidAdjustSynapseWeights()
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidTObject::Browse(TBrowser* b)
voidCalculateActivationValue()
voidCalculateDelta()
voidCalculateValue()
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual voidTObject::Delete(Option_t* option = "")MENU
voidDeletePreLinks()
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
voidForceValue(Double_t value)
Double_tGetActivationValue() const
Double_tGetDEDw() const
Double_tGetDelta() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
Double_tGetValue() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
voidInitSynapseDeltas()
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tIsInputNeuron() const
Bool_tTObject::IsOnHeap() const
Bool_tIsOutputNeuron() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
Int_tNumPostLinks() const
Int_tNumPreLinks() const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
TMVA::TNeuron&operator=(const TMVA::TNeuron&)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
TMVA::TSynapse*PostLinkAt(Int_t index) const
TMVA::TSynapse*PreLinkAt(Int_t index) const
virtual voidPrint(Option_t* = "") const
voidPrintActivationEqn()
voidPrintPostLinks() const
voidPrintPreLinks() const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidSetActivationEqn(TMVA::TActivation* activation)
voidSetBiasNeuron()
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetDEDw(Double_t DEDw)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetError(Double_t error)
voidSetInputCalculator(TMVA::TNeuronInput* calculator)
voidSetInputNeuron()
static voidTObject::SetObjectStat(Bool_t stat)
voidSetOutputNeuron()
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
voidUpdateSynapsesBatch()
voidUpdateSynapsesSequential()
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
voidDeleteLinksArray(TObjArray*& links)
voidInitNeuron()
TMVA::MsgLogger&Log() const
voidNullifyLinks(TObjArray*& links)
Int_tNumLinks(TObjArray* links) const
voidPrintLinks(TObjArray* links) const
voidPrintMessage(TMVA::EMsgType, TString message)

Data Members

private:
TMVA::TActivation*fActivationactivation equation
Double_tfActivationValueactivation/output value
Double_tfDEDwsum of all deltas
Double_tfDeltaerror field of neuron
Double_tfErrorerror, only set for output neurons
Bool_tfForcedValueflag for forced input value
TMVA::TNeuronInput*fInputCalculatorinput calculator
TObjArray*fLinksInarray of input synapses
TObjArray*fLinksOutarray of output synapses
TMVA::MsgLogger*fLogger! message logger
Double_tfValueinput value

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TNeuron(TNeuron::ENeuronType type /*= kSigmoid*/, const char* name /*= ""*/, const char* title /*= ""*/, const char* extF /*= ""*/, const char* extD /*= ""*/ )
 Usual constructor
Double_t GetValue() const
 Computes the output using the appropriate function and all
 the weighted inputs, or uses the branch as input.
 In that case, the branch normalisation is also used.
void SetDEDw(Double_t DEDw)
 Sets the derivative of the total error wrt the neuron weight.
TNeuron(ENeuronType type = kSigmoid, const char* name = "", const char* title = "", const char* extF = "", const char* extD = "" )
{}
Double_t GetDEDw() const
{ return fDEDw; }
TNeuron& operator=(const TMVA::TNeuron& )