Loading [MathJax]/extensions/tex2jax.js
Logo ROOT   6.13/01
Reference Guide
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
List of all members | Public Member Functions | Protected Member Functions | Private Attributes | List of all members
TMLPAnalyzer Class Reference

Definition at line 36 of file TMLPAnalyzer.h.

Public Member Functions

 TMLPAnalyzer (TMultiLayerPerceptron &net)
 
 TMLPAnalyzer (TMultiLayerPerceptron *net)
 
virtual ~TMLPAnalyzer ()
 Destructor. More...
 
void CheckNetwork ()
 Gives some information about the network in the terminal. More...
 
void DrawDInput (Int_t i)
 Draws the distribution (on the test sample) of the impact on the network output of a small variation of the ith input. More...
 
void DrawDInputs ()
 Draws the distribution (on the test sample) of the impact on the network output of a small variation of each input. More...
 
void DrawNetwork (Int_t neuron, const char *signal, const char *bg)
 Draws the distribution of the neural network (using ith neuron). More...
 
TProfile * DrawTruthDeviation (Int_t outnode=0, Option_t *option="")
 Create a profile of the difference of the MLP output minus the true value for a given output node outnode, vs the true value for outnode, for all test data events. More...
 
TProfile * DrawTruthDeviationInOut (Int_t innode, Int_t outnode=0, Option_t *option="")
 Creates a profile of the difference of the MLP output outnode minus the true value of outnode vs the input value innode, for all test data events. More...
 
THStack * DrawTruthDeviationInsOut (Int_t outnode=0, Option_t *option="")
 Creates a profile of the difference of the MLP output outnode minus the true value of outnode vs the input value, stacked for all inputs, for all test data events. More...
 
THStack * DrawTruthDeviations (Option_t *option="")
 Creates TProfiles of the difference of the MLP output minus the true value vs the true value, one for each output, filled with the test data events. More...
 
void GatherInformations ()
 Collect information about what is usefull in the network. More...
 
TTree * GetIOTree () const
 

Protected Member Functions

const char * GetInputNeuronTitle (Int_t in)
 Returns the name of any neuron from the input layer. More...
 
Int_t GetLayers ()
 Returns the number of layers. More...
 
TString GetNeuronFormula (Int_t idx)
 Returns the formula used as input for neuron (idx) in the first layer. More...
 
Int_t GetNeurons (Int_t layer)
 Returns the number of neurons in given layer. More...
 
const char * GetOutputNeuronTitle (Int_t out)
 Returns the name of any neuron from the output layer. More...
 

Private Attributes

TTree * fAnalysisTree
 
TTree * fIOTree
 
TMultiLayerPerceptronfNetwork
 

#include <TMLPAnalyzer.h>

Inheritance diagram for TMLPAnalyzer:
[legend]

Constructor & Destructor Documentation

◆ TMLPAnalyzer() [1/2]

TMLPAnalyzer::TMLPAnalyzer ( TMultiLayerPerceptron net)
inline

Definition at line 51 of file TMLPAnalyzer.h.

◆ TMLPAnalyzer() [2/2]

TMLPAnalyzer::TMLPAnalyzer ( TMultiLayerPerceptron net)
inline

Definition at line 53 of file TMLPAnalyzer.h.

◆ ~TMLPAnalyzer()

TMLPAnalyzer::~TMLPAnalyzer ( )
virtual

Destructor.

Definition at line 48 of file TMLPAnalyzer.cxx.

Member Function Documentation

◆ CheckNetwork()

void TMLPAnalyzer::CheckNetwork ( )

Gives some information about the network in the terminal.

Definition at line 149 of file TMLPAnalyzer.cxx.

◆ DrawDInput()

void TMLPAnalyzer::DrawDInput ( Int_t  i)

Draws the distribution (on the test sample) of the impact on the network output of a small variation of the ith input.

Definition at line 287 of file TMLPAnalyzer.cxx.

◆ DrawDInputs()

void TMLPAnalyzer::DrawDInputs ( )

Draws the distribution (on the test sample) of the impact on the network output of a small variation of each input.

DrawDInputs() draws something that approximates the distribution of the derivative of the NN w.r.t. each input. That quantity is recognized as one of the measures to determine key quantities in the network.

What is done is to vary one input around its nominal value and to see how the NN changes. This is done for each entry in the sample and produces a distribution.

What you can learn from that is:

  • is variable a really useful, or is my network insensitive to it ?
  • is there any risk of big systematic ? Is the network extremely sensitive to small variations of any of my inputs ?

As you might understand, this is to be considered with care and can serve as input for an "educated guess" when optimizing the network.

Definition at line 314 of file TMLPAnalyzer.cxx.

◆ DrawNetwork()

void TMLPAnalyzer::DrawNetwork ( Int_t  neuron,
const char *  signal,
const char *  bg 
)

Draws the distribution of the neural network (using ith neuron).

Two distributions are drawn, for events passing respectively the "signal" and "background" cuts. Only the test sample is used.

Definition at line 340 of file TMLPAnalyzer.cxx.

◆ DrawTruthDeviation()

TProfile * TMLPAnalyzer::DrawTruthDeviation ( Int_t  outnode = 0,
Option_t *  option = "" 
)

Create a profile of the difference of the MLP output minus the true value for a given output node outnode, vs the true value for outnode, for all test data events.

This method is mainly useful when doing regression analysis with the MLP (i.e. not classification, but continuous truth values). The resulting TProfile histogram is returned. It is not drawn if option "goff" is specified. Options are passed to TProfile::Draw

Definition at line 401 of file TMLPAnalyzer.cxx.

◆ DrawTruthDeviationInOut()

TProfile * TMLPAnalyzer::DrawTruthDeviationInOut ( Int_t  innode,
Int_t  outnode = 0,
Option_t *  option = "" 
)

Creates a profile of the difference of the MLP output outnode minus the true value of outnode vs the input value innode, for all test data events.

The resulting TProfile histogram is returned. It is not drawn if option "goff" is specified. Options are passed to TProfile::Draw

Definition at line 477 of file TMLPAnalyzer.cxx.

◆ DrawTruthDeviationInsOut()

THStack * TMLPAnalyzer::DrawTruthDeviationInsOut ( Int_t  outnode = 0,
Option_t *  option = "" 
)

Creates a profile of the difference of the MLP output outnode minus the true value of outnode vs the input value, stacked for all inputs, for all test data events.

The returned THStack contains all the TProfiles. It is drawn unless the option "goff" is specified. Options are passed to TProfile::Draw.

Definition at line 509 of file TMLPAnalyzer.cxx.

◆ DrawTruthDeviations()

THStack * TMLPAnalyzer::DrawTruthDeviations ( Option_t *  option = "")

Creates TProfiles of the difference of the MLP output minus the true value vs the true value, one for each output, filled with the test data events.

This method is mainly useful when doing regression analysis with the MLP (i.e. not classification, but continuous truth values). The returned THStack contains all the TProfiles. It is drawn unless the option "goff" is specified. Options are passed to TProfile::Draw.

Definition at line 434 of file TMLPAnalyzer.cxx.

◆ GatherInformations()

void TMLPAnalyzer::GatherInformations ( )

Collect information about what is usefull in the network.

This method has to be called first when analyzing a network. Fills the two analysis trees.

Definition at line 173 of file TMLPAnalyzer.cxx.

◆ GetInputNeuronTitle()

const char * TMLPAnalyzer::GetInputNeuronTitle ( Int_t  in)
protected

Returns the name of any neuron from the input layer.

Definition at line 131 of file TMLPAnalyzer.cxx.

◆ GetIOTree()

TTree* TMLPAnalyzer::GetIOTree ( ) const
inline

Definition at line 67 of file TMLPAnalyzer.h.

◆ GetLayers()

Int_t TMLPAnalyzer::GetLayers ( )
protected

Returns the number of layers.

Definition at line 57 of file TMLPAnalyzer.cxx.

◆ GetNeuronFormula()

TString TMLPAnalyzer::GetNeuronFormula ( Int_t  idx)
protected

Returns the formula used as input for neuron (idx) in the first layer.

Definition at line 105 of file TMLPAnalyzer.cxx.

◆ GetNeurons()

Int_t TMLPAnalyzer::GetNeurons ( Int_t  layer)
protected

Returns the number of neurons in given layer.

Definition at line 66 of file TMLPAnalyzer.cxx.

◆ GetOutputNeuronTitle()

const char * TMLPAnalyzer::GetOutputNeuronTitle ( Int_t  out)
protected

Returns the name of any neuron from the output layer.

Definition at line 140 of file TMLPAnalyzer.cxx.

Member Data Documentation

◆ fAnalysisTree

TTree* TMLPAnalyzer::fAnalysisTree
private

Definition at line 40 of file TMLPAnalyzer.h.

◆ fIOTree

TTree* TMLPAnalyzer::fIOTree
private

Definition at line 41 of file TMLPAnalyzer.h.

◆ fNetwork

TMultiLayerPerceptron* TMLPAnalyzer::fNetwork
private

Definition at line 39 of file TMLPAnalyzer.h.

Libraries for TMLPAnalyzer:
[legend]

The documentation for this class was generated from the following files: