ROOT
6.07/01
Reference Guide
|
Public Types | |
enum | ENeuronType { kOff, kLinear, kSigmoid, kTanh, kGauss, kSoftmax, kExternal } |
Public Types inherited from TObject | |
enum | EStatusBits { kCanDelete = BIT(0), kMustCleanup = BIT(3), kObjInCanvas = BIT(3), kIsReferenced = BIT(4), kHasUUID = BIT(5), kCannotPick = BIT(6), kNoContextMenu = BIT(8), kInvalidObject = BIT(13) } |
enum | { kIsOnHeap = 0x01000000, kNotDeleted = 0x02000000, kZombie = 0x04000000, kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0), kOverwrite = BIT(1), kWriteDelete = BIT(2) } |
Public Member Functions | |
TNeuron (ENeuronType type=kSigmoid, const char *name="", const char *title="", const char *extF="", const char *extD="") | |
virtual | ~TNeuron () |
TSynapse * | GetPre (Int_t n) const |
TSynapse * | GetPost (Int_t n) const |
TNeuron * | GetInLayer (Int_t n) const |
TTreeFormula * | UseBranch (TTree *, const char *) |
Sets a formula that can be used to make the neuron an input. More... | |
Double_t | GetInput () const |
Returns neuron input. More... | |
Double_t | GetValue () const |
Computes the output using the appropriate function and all the weighted inputs, or uses the branch as input. More... | |
Double_t | GetDerivative () const |
computes the derivative for the appropriate function at the working point More... | |
Double_t | GetError () const |
Computes the error for output neurons. More... | |
Double_t | GetTarget () const |
Computes the normalized target pattern for output neurons. More... | |
Double_t | GetDeDw () const |
Computes the derivative of the error wrt the neuron weight. More... | |
Double_t | GetBranch () const |
Returns the formula value. More... | |
ENeuronType | GetType () const |
Returns the neuron type. More... | |
void | SetWeight (Double_t w) |
Sets the neuron weight to w. More... | |
Double_t | GetWeight () const |
void | SetNormalisation (Double_t mean, Double_t RMS) |
Sets the normalization variables. More... | |
const Double_t * | GetNormalisation () const |
void | SetNewEvent () const |
Inform the neuron that inputs of the network have changed, so that the buffered values have to be recomputed. More... | |
void | SetDEDw (Double_t in) |
Sets the derivative of the total error wrt the neuron weight. More... | |
Double_t | GetDEDw () const |
void | ForceExternalValue (Double_t value) |
Uses the branch type to force an external value. More... | |
void | AddInLayer (TNeuron *) |
Tells a neuron which neurons form its layer (including itself). More... | |
Public Member Functions inherited from TNamed | |
TNamed () | |
TNamed (const char *name, const char *title) | |
TNamed (const TString &name, const TString &title) | |
TNamed (const TNamed &named) | |
TNamed & | operator= (const TNamed &rhs) |
TNamed assignment operator. More... | |
virtual | ~TNamed () |
virtual void | Clear (Option_t *option="") |
Set name and title to empty strings (""). More... | |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare two TNamed objects. More... | |
virtual void | Copy (TObject &named) const |
Copy this to obj. More... | |
virtual void | FillBuffer (char *&buffer) |
Encode TNamed into output buffer. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
virtual Bool_t | IsSortable () const |
virtual void | SetName (const char *name) |
Change (i.e. More... | |
virtual void | SetNameTitle (const char *name, const char *title) |
Change (i.e. set) all the TNamed parameters (name and title). More... | |
virtual void | SetTitle (const char *title="") |
Change (i.e. set) the title of the TNamed. More... | |
virtual void | ls (Option_t *option="") const |
List TNamed name and title. More... | |
virtual void | Print (Option_t *option="") const |
Print TNamed name and title. More... | |
virtual Int_t | Sizeof () const |
Return size of the TNamed part of the TObject. More... | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. More... | |
virtual | ~TObject () |
TObject destructor. More... | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. More... | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual void | Delete (Option_t *option="") |
Delete this object. More... | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. More... | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. More... | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. More... | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current pad. More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. More... | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. More... | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual Option_t * | GetOption () const |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. More... | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". More... | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. More... | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. More... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). More... | |
Bool_t | IsOnHeap () const |
Bool_t | IsZombie () const |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. More... | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. More... | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. More... | |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". More... | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. More... | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. More... | |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. More... | |
void * | operator new (size_t sz) |
void * | operator new[] (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz, void *vp) |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
void | SetBit (UInt_t f) |
void | ResetBit (UInt_t f) |
Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
void | InvertBit (UInt_t f) |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More... | |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
Protected Member Functions | |
Double_t | Sigmoid (Double_t x) const |
The Sigmoid. More... | |
Double_t | DSigmoid (Double_t x) const |
The Derivative of the Sigmoid. More... | |
void | AddPre (TSynapse *) |
Adds a synapse to the neuron as an input This method is used by the TSynapse while connecting two neurons. More... | |
void | AddPost (TSynapse *) |
Adds a synapse to the neuron as an output This method is used by the TSynapse while connecting two neurons. More... | |
Protected Member Functions inherited from TObject | |
void | MakeZombie () |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
Private Member Functions | |
TNeuron (const TNeuron &) | |
TNeuron & | operator= (const TNeuron &) |
Private Attributes | |
TObjArray | fpre |
TObjArray | fpost |
TObjArray | flayer |
Double_t | fWeight |
Double_t | fNorm [2] |
ENeuronType | fType |
TFormula * | fExtF |
TFormula * | fExtD |
TTreeFormula * | fFormula |
Int_t | fIndex |
formula to be used for inputs and outputs More... | |
Bool_t | fNewInput |
index in the formula More... | |
Double_t | fInput |
do we need to compute fInput again ? More... | |
Bool_t | fNewValue |
buffer containing the last neuron input More... | |
Double_t | fValue |
do we need to compute fValue again ? More... | |
Bool_t | fNewDeriv |
buffer containing the last neuron output More... | |
Double_t | fDerivative |
do we need to compute fDerivative again ? More... | |
Bool_t | fNewDeDw |
buffer containing the last neuron derivative More... | |
Double_t | fDeDw |
do we need to compute fDeDw again ? More... | |
Double_t | fDEDw |
buffer containing the last derivative of the error More... | |
Friends | |
class | TSynapse |
Additional Inherited Members | |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
Protected Attributes inherited from TNamed | |
TString | fName |
TString | fTitle |
#include <TMVA/TNeuron.h>
enum TNeuron::ENeuronType |
TNeuron::TNeuron | ( | ENeuronType | type = kSigmoid , |
const char * | name = "" , |
||
const char * | title = "" , |
||
const char * | extF = "" , |
||
const char * | extD = "" |
||
) |
|
private |
Tells a neuron which neurons form its layer (including itself).
This is needed for self-normalizing functions, like Softmax.
Definition at line 857 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::BuildLastLayer(), and TMultiLayerPerceptron::BuildOneHiddenLayer().
Adds a synapse to the neuron as an output This method is used by the TSynapse while connecting two neurons.
Definition at line 846 of file TNeuron.cxx.
Referenced by TSynapse::SetPre(), and TSynapse::TSynapse().
Adds a synapse to the neuron as an input This method is used by the TSynapse while connecting two neurons.
Definition at line 834 of file TNeuron.cxx.
Referenced by TSynapse::SetPost(), and TSynapse::TSynapse().
The Derivative of the Sigmoid.
Definition at line 818 of file TNeuron.cxx.
Referenced by GetDerivative().
Uses the branch type to force an external value.
Definition at line 1125 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::Evaluate().
Double_t TNeuron::GetBranch | ( | ) | const |
Returns the formula value.
Definition at line 914 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::DrawResult(), GetError(), GetTarget(), and GetValue().
Double_t TNeuron::GetDeDw | ( | ) | const |
Computes the derivative of the error wrt the neuron weight.
Definition at line 1084 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::ComputeDEDw(), TSynapse::GetDeDw(), GetDeDw(), and TMultiLayerPerceptron::MLP_Stochastic().
|
inline |
Definition at line 76 of file TNeuron.h.
Referenced by TMultiLayerPerceptron::BFGSDir(), TMultiLayerPerceptron::ComputeDEDw(), TMultiLayerPerceptron::ConjugateGradientsDir(), TMultiLayerPerceptron::DerivDir(), TMultiLayerPerceptron::MLP_Batch(), TMultiLayerPerceptron::SetGammaDelta(), TMultiLayerPerceptron::SteepestDir(), and TMultiLayerPerceptron::Train().
Double_t TNeuron::GetDerivative | ( | ) | const |
computes the derivative for the appropriate function at the working point
Definition at line 1011 of file TNeuron.cxx.
Referenced by GetDeDw().
Double_t TNeuron::GetError | ( | ) | const |
Computes the error for output neurons.
Returns 0 for other neurons.
Definition at line 1063 of file TNeuron.cxx.
Referenced by GetDeDw(), and TMultiLayerPerceptron::GetSumSquareError().
Definition at line 60 of file TNeuron.h.
Referenced by TMultiLayerPerceptron::Export().
Double_t TNeuron::GetInput | ( | ) | const |
Returns neuron input.
Definition at line 925 of file TNeuron.cxx.
Referenced by GetDeDw(), and GetValue().
|
inline |
Definition at line 73 of file TNeuron.h.
Referenced by TMultiLayerPerceptron::DrawResult(), and TMultiLayerPerceptron::Export().
Definition at line 58 of file TNeuron.h.
Referenced by TMultiLayerPerceptron::Export().
Double_t TNeuron::GetTarget | ( | ) | const |
Computes the normalized target pattern for output neurons.
Returns 0 for other neurons.
Definition at line 1074 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::GetCrossEntropy(), and TMultiLayerPerceptron::GetCrossEntropyBinary().
TNeuron::ENeuronType TNeuron::GetType | ( | ) | const |
Returns the neuron type.
Definition at line 867 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::Export().
Double_t TNeuron::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.
Definition at line 948 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::DrawResult(), TMultiLayerPerceptron::Evaluate(), TMultiLayerPerceptron::GetCrossEntropy(), TMultiLayerPerceptron::GetCrossEntropyBinary(), TSynapse::GetDeDw(), GetDerivative(), GetError(), TSynapse::GetValue(), and TMultiLayerPerceptron::Result().
|
inline |
Definition at line 71 of file TNeuron.h.
Referenced by TMultiLayerPerceptron::Export(), TMultiLayerPerceptron::LineSearch(), TMultiLayerPerceptron::MLP_Batch(), and TMultiLayerPerceptron::MLP_Stochastic().
Sets the derivative of the total error wrt the neuron weight.
Definition at line 1168 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::ComputeDEDw().
void TNeuron::SetNewEvent | ( | ) | const |
Inform the neuron that inputs of the network have changed, so that the buffered values have to be recomputed.
Definition at line 1157 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::Evaluate(), and TMultiLayerPerceptron::GetEntry().
Sets the normalization variables.
Any input neuron will return (branch-mean)/RMS. When UseBranch is called, mean and RMS are automatically set to the actual branch mean and RMS.
Definition at line 1137 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::AttachData(), and TMultiLayerPerceptron::LoadWeights().
Sets the neuron weight to w.
The neuron weight corresponds to the bias in the linear combination of the inputs.
Definition at line 1148 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::LoadWeights(), TMultiLayerPerceptron::MLP_Batch(), TMultiLayerPerceptron::MLP_Line(), TMultiLayerPerceptron::MLP_Stochastic(), and TMultiLayerPerceptron::Randomize().
The Sigmoid.
Fast computation of the values of the sigmoid function. Uses values of the function up to the seventh order tabulated at 700 points. Values were computed in long double precision (16 bytes, precision to about 37 digits) on a hp computer. Some values were checked with Mathematica. Result should be correct to ~ 15 digits (about double precision)
From the mlpfit package (J.Schwindling 20-Jul-1999)
Definition at line 95 of file TNeuron.cxx.
Referenced by GetValue().
TTreeFormula * TNeuron::UseBranch | ( | TTree * | input, |
const char * | formula | ||
) |
Sets a formula that can be used to make the neuron an input.
The formula is automatically normalized to mean=0, RMS=1. This normalisation is used by GetValue() (input neurons) and GetError() (output neurons)
Definition at line 878 of file TNeuron.cxx.
Referenced by TMultiLayerPerceptron::AttachData().
|
private |
|
private |
|
private |
do we need to compute fDerivative again ?
Definition at line 107 of file TNeuron.h.
Referenced by GetDerivative().
|
private |
Definition at line 97 of file TNeuron.h.
Referenced by GetDerivative().
|
private |
Definition at line 96 of file TNeuron.h.
Referenced by GetValue().
|
private |
Definition at line 100 of file TNeuron.h.
Referenced by GetBranch(), and UseBranch().
|
private |
formula to be used for inputs and outputs
Definition at line 101 of file TNeuron.h.
Referenced by GetBranch(), and UseBranch().
|
private |
do we need to compute fInput again ?
Definition at line 103 of file TNeuron.h.
Referenced by GetInput().
|
private |
Definition at line 92 of file TNeuron.h.
Referenced by AddInLayer(), and GetValue().
|
private |
|
private |
buffer containing the last neuron output
Definition at line 106 of file TNeuron.h.
Referenced by GetDerivative().
|
private |
|
private |
buffer containing the last neuron input
Definition at line 104 of file TNeuron.h.
Referenced by ForceExternalValue(), and GetValue().
|
private |
Definition at line 94 of file TNeuron.h.
Referenced by ForceExternalValue(), GetError(), GetTarget(), GetValue(), SetNormalisation(), and UseBranch().
|
private |
Definition at line 91 of file TNeuron.h.
Referenced by AddPost(), GetDeDw(), GetError(), and GetTarget().
|
private |
Definition at line 90 of file TNeuron.h.
Referenced by AddPre(), GetDerivative(), GetInput(), and GetValue().
|
private |
Definition at line 95 of file TNeuron.h.
Referenced by GetDeDw(), GetDerivative(), GetType(), and GetValue().
|
private |
do we need to compute fValue again ?
Definition at line 105 of file TNeuron.h.
Referenced by ForceExternalValue(), and GetValue().
|
private |
Definition at line 93 of file TNeuron.h.
Referenced by GetDerivative(), GetInput(), and SetWeight().