ROOT 6.13/01 Reference Guide |
Public Types | |
enum | ENeuronType { kOff, kLinear, kSigmoid, kTanh, kGauss, kSoftmax, kExternal } |
Public Member Functions | |
TNeuron (ENeuronType type=kSigmoid, const char *name="", const char *title="", const char *extF="", const char *extD="") | |
Usual constructor. More... | |
virtual | ~TNeuron () |
void | AddInLayer (TNeuron *) |
Tells a neuron which neurons form its layer (including itself). More... | |
void | ForceExternalValue (Double_t value) |
Uses the branch type to force an external value. More... | |
Double_t | GetBranch () const |
Returns the formula value. More... | |
Double_t | GetDeDw () const |
Computes the derivative of the error wrt the neuron weight. More... | |
Double_t | GetDEDw () const |
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... | |
TNeuron * | GetInLayer (Int_t n) const |
Double_t | GetInput () const |
Returns neuron input. More... | |
const Double_t * | GetNormalisation () const |
TSynapse * | GetPost (Int_t n) const |
TSynapse * | GetPre (Int_t n) const |
Double_t | GetTarget () const |
Computes the normalized target pattern for output neurons. More... | |
ENeuronType | GetType () const |
Returns the neuron type. 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 | GetWeight () const |
void | SetDEDw (Double_t in) |
Sets the derivative of the total error wrt the neuron weight. More... | |
void | SetNewEvent () const |
Inform the neuron that inputs of the network have changed, so that the buffered values have to be recomputed. More... | |
void | SetNormalisation (Double_t mean, Double_t RMS) |
Sets the normalization variables. More... | |
void | SetWeight (Double_t w) |
Sets the neuron weight to w. More... | |
TTreeFormula * | UseBranch (TTree *, const char *) |
Sets a formula that can be used to make the neuron an input. More... | |
Protected Member Functions | |
void | AddPost (TSynapse *) |
Adds a synapse to the neuron as an output This method is used by the TSynapse while connecting two neurons. 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... | |
Double_t | DSigmoid (Double_t x) const |
The Derivative of the Sigmoid. More... | |
Double_t | Sigmoid (Double_t x) const |
The Sigmoid. More... | |
Private Member Functions | |
TNeuron (const TNeuron &) | |
TNeuron & | operator= (const TNeuron &) |
Private Attributes | |
Double_t | fDeDw |
do we need to compute fDeDw again ? More... | |
Double_t | fDEDw |
buffer containing the last derivative of the error More... | |
Double_t | fDerivative |
do we need to compute fDerivative again ? More... | |
TFormula * | fExtD |
TFormula * | fExtF |
TTreeFormula * | fFormula |
Int_t | fIndex |
formula to be used for inputs and outputs More... | |
Double_t | fInput |
do we need to compute fInput again ? More... | |
TObjArray | flayer |
Bool_t | fNewDeDw |
buffer containing the last neuron derivative More... | |
Bool_t | fNewDeriv |
buffer containing the last neuron output More... | |
Bool_t | fNewInput |
index in the formula More... | |
Bool_t | fNewValue |
buffer containing the last neuron input More... | |
Double_t | fNorm [2] |
TObjArray | fpost |
TObjArray | fpre |
ENeuronType | fType |
Double_t | fValue |
do we need to compute fValue again ? More... | |
Double_t | fWeight |
Friends | |
class | TSynapse |
#include <TNeuron.h>
enum TNeuron::ENeuronType |
TNeuron::TNeuron | ( | TNeuron::ENeuronType | type = kSigmoid , |
const char * | name = "" , |
||
const char * | title = "" , |
||
const char * | extF = "" , |
||
const char * | extD = "" |
||
) |
Usual constructor.
Definition at line 51 of file TNeuron.cxx.
|
private |
void TNeuron::AddInLayer | ( | TNeuron * | nearP | ) |
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.
|
protected |
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.
|
protected |
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.
|
protected |
The Derivative of the Sigmoid.
Definition at line 818 of file TNeuron.cxx.
void TNeuron::ForceExternalValue | ( | Double_t | value | ) |
Uses the branch type to force an external value.
Definition at line 1125 of file TNeuron.cxx.
Double_t TNeuron::GetBranch | ( | ) | const |
Returns the formula value.
Definition at line 914 of file TNeuron.cxx.
Double_t TNeuron::GetDeDw | ( | ) | const |
Computes the derivative of the error wrt the neuron weight.
Definition at line 1084 of file TNeuron.cxx.
Double_t TNeuron::GetDerivative | ( | ) | const |
computes the derivative for the appropriate function at the working point
Definition at line 1011 of file TNeuron.cxx.
Double_t TNeuron::GetError | ( | ) | const |
Computes the error for output neurons.
Returns 0 for other neurons.
Definition at line 1063 of file TNeuron.cxx.
Double_t TNeuron::GetInput | ( | ) | const |
Returns neuron input.
Definition at line 925 of file TNeuron.cxx.
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.
TNeuron::ENeuronType TNeuron::GetType | ( | ) | const |
Returns the neuron type.
Definition at line 867 of file TNeuron.cxx.
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.
void TNeuron::SetDEDw | ( | Double_t | in | ) |
Sets the derivative of the total error wrt the neuron weight.
Definition at line 1168 of file TNeuron.cxx.
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.
void TNeuron::SetNormalisation | ( | Double_t | mean, |
Double_t | RMS | ||
) |
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.
void TNeuron::SetWeight | ( | Double_t | w | ) |
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.
|
protected |
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.
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.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |