[root] / trunk / math / mlp / src / TNeuron.cxx Repository:
ViewVC logotype

Log of /trunk/math/mlp/src/TNeuron.cxx

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 43681 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Apr 10 16:31:46 2012 UTC (2 years, 9 months ago) by pcanal
File length: 186247 byte(s)
Diff to previous 35736
Use TMath::IsNaN rather than bare isnan (help with c++11 port)

Revision 35736 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 25 15:39:42 2010 UTC (4 years, 3 months ago) by brun
File length: 186240 byte(s)
Diff to previous 34286
Fix uninitialized member. coverity CID 11272

Revision 34286 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Jul 1 20:38:57 2010 UTC (4 years, 6 months ago) by rdm
File length: 186205 byte(s)
Diff to previous 22885
fix format errors related to TString::Form(), TString::Format(), Form()
and Printf().

Revision 22885 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 28 13:57:25 2008 UTC (6 years, 9 months ago) by rdm
File length: 186186 byte(s)
Diff to previous 20882
move the following directories under the new "math" meta directory:
   mathcore
   mathmore
   fftw
   foam
   fumili
   genvector
   matrix
   minuit
   minuit2
   mlp
   physics
   smatrix
   splot
   unuran
   quadp

Revision 20882 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 19 11:31:26 2007 UTC (7 years, 2 months ago) by rdm
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186186 byte(s)
Diff to previous 19826
Set property svn:eol-style LF on all source and Makefiles. This should avoid
problems with Win32 line endings ending up in the repository. All MS tools
support LF eols fine.

Revision 19826 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:56:11 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186186 byte(s)
Diff to previous 19825
imported svn:keywords Id property

Revision 19825 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 19 19:49:10 2007 UTC (7 years, 4 months ago) by rdm
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186236 byte(s)
Diff to previous 17338
remove :$ from tag line

Revision 17338 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 15 16:10:11 2007 UTC (8 years ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186246 byte(s)
Diff to previous 16966
Remove TMath.h from TH1.h and add TMath.h to all files previously assuming TMath.h
via TH1.h
This should complete the changes related to TMath.

Revision 16966 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Nov 27 17:10:33 2006 UTC (8 years, 1 month ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186226 byte(s)
Diff to previous 15181
Fix coding conventions replacing enum NeuronType by ENeuronType, etc

Revision 15181 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 26 15:13:03 2006 UTC (8 years, 8 months ago) by rdm
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186225 byte(s)
Diff to previous 15008
one more round of code cleanup: change NULL by 0 in all C++ code.

Revision 15008 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri May 12 08:19:02 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186235 byte(s)
Diff to previous 14992
Fix coding conventions violations

Revision 14992 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu May 11 09:42:42 2006 UTC (8 years, 8 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186207 byte(s)
Diff to previous 14165
Fix coding conventions

Revision 14165 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Mar 3 16:18:35 2006 UTC (8 years, 10 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186128 byte(s)
Diff to previous 13823
From Valeri Fine:
in TNeuron::AddInLayer(TNeuron * near)
replace near by nearP. 'near' is an obsolete keyword in VC++7.0

Revision 13823 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Jan 13 09:10:12 2006 UTC (9 years ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186126 byte(s)
Diff to previous 13804
From Christophe Delaere:
-When the option "current" is specified, TMultiLayerPerceptron::Draw
 will show the learning curves in the pad. This allows to run in batch
 and produce an eps file.
-Small protection when normalizing data (if RMS=0).
-Fix a missing delete in LineSearch function

Revision 13804 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jan 9 15:47:30 2006 UTC (9 years ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 186091 byte(s)
Diff to previous 12329
From Christophe Delaere and Andrea Bocci:
Andrea has extended a bit ROOT's TMultiLayerPerceptron to
optionally use cross-entropy errors, which allows to train a network
for pattern classification based on Bayesian posterior probability.
Reference: [Bishop 1995 , Neural Networks for Pattern Recognition], in
particular chapter 6.

In order to achieve this, I had to add the softmax (generalized
sigmoid) neuron function, which in turn required a bit of changes to
the neuron itself.
Also, I added softmax and sigmoid as possible output neurons, requiring
some changes to how error back propagation is performed.

Currently, softmax neurons are used only in the output layer, but
everything is setup so that they should be OK as hidden units, too,
provided they form a whole layer.

Revision 12329 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Jul 18 12:02:02 2005 UTC (9 years, 6 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 182898 byte(s)
Diff to previous 10822
From Christophe Delaere:
- input normalization is now optional. A "@" must be added at the beginning of
the input description to enforce normalization.
- the input/output normalization is now saved/loaded with the weight
(DumpWeights() / LoadWeights() )
- the  input/output normalization is taken into account when a function is
exported (C++, FORTRAN, PYTHON)
- The neuron transfer function can now be chosen, either as a predefined
function (sigmoid(default), tanh, gauss, linear) or as an external function
(TFormula).
- arrays can now be used as input. If no index is specified, a neuron will be
created for each element in the array. Only fixed-size arrays are handled
this way.
- TChains can now be used without crash.
- bugfix in TMultiLayerPerceptron::DrawResult() (thanks to Axel): the training
sample was always used, ignoring the option field.

Revision 10822 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Dec 16 21:20:47 2004 UTC (10 years, 1 month ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 181330 byte(s)
Diff to previous 10183
From Axel Naumann
I've added four utility methods to TMLPAnalyzer. ANNs used to represent
an unknown function (i.e. not for classification) had no appropriate
tools for testing the output quality.

For the sake of clarity I made the TNeurons derive from TNamed; they now
get names assigned. First, last layer: their TTreeFormula, hidden layer:
Form("HiddenL%d:N%d",layer,i). This allows quick access to the nodes'
names when drawing their input / output for e.g. axis labels.

There was a small bug in the "vary the inputs by a bit, look what
happens to the output" algorithm. The input wasn't reset to its original
value before the next node's input was modified, creating "cross talk".
The loops are also a bit more efficient now.

The status graph is now only updated once per round (works for me, even
with the zoomed axis).

The example in the class descr is fixed (no type specifiers "/F").

The c'tor doc for const char* test/train cuts is fixed.

TMLP::DrawResult now has the option "nocanv" which noesn't create a new
canvas (it's this way around for backwards comp).

tutorials/mlpHiggs now has the proper orthogonal train and test cut.

TMLPAnalyzer now creates a TTree containing the input, true output and
real output - good for quick plots of any possible dependencies one can
think of. This is used to plot the relative difference of (output,true)
vs true (by DrawTruthDeviation) and (output,true) vs input (by
DrawTruthDeviationInOut). The former shows how dependent the error is on
the output value, the latter how much it depends on tyhe input. These
histos are plotted (and returned) as TProfiles, showing the mean
deviation (and the std dev of the deviation) vs true or input value.

Revision 10183 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 29 10:55:55 2004 UTC (10 years, 3 months ago) by rdm
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 181220 byte(s)
Diff to previous 9027
add copyright statements (to be revised once some legal issues are resolved).

Revision 9027 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed May 26 12:30:31 2004 UTC (10 years, 8 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 180834 byte(s)
Diff to previous 8770
From Christophe Delaere:
Fixed a bug preventing to read a TMultiLayerPerceptron object from a TFile.

Revision 8770 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue May 4 07:59:33 2004 UTC (10 years, 8 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 180907 byte(s)
Diff to previous 7819
Initialize member fDEDw in the constructors

Revision 7819 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 30 21:34:49 2003 UTC (11 years ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 180862 byte(s)
Diff to previous 7767
Remove an unused return statement

Revision 7767 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Dec 16 14:09:38 2003 UTC (11 years, 1 month ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 180875 byte(s)
Diff to previous 7473
New version of the TMultiLayerPerceptron classes from Christophe Delaere

Revision 7473 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Oct 27 16:51:54 2003 UTC (11 years, 2 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 180324 byte(s)
Diff to previous 7261
From Christophe Delaere;

Fix a bug in TMultiLayerPerceptron in case weights are not 1 when computing
the derivatives.
Tutorial mlpHiggs.C has been optimized.

Revision 7261 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 11 14:38:28 2003 UTC (11 years, 4 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 182038 byte(s)
Diff to previous 7259
Fix typo in doing optimisation.

Revision 7259 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Sep 11 10:39:01 2003 UTC (11 years, 4 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 182036 byte(s)
Diff to previous 7219
Improve performance by replacing all TObjArray iterators by an implicit loop. (gain is about a factor 3 !)

Revision 7219 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Sep 5 10:40:01 2003 UTC (11 years, 4 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 182096 byte(s)
Diff to previous 7161
Update to the Neural Net package by Christophe Delaere

 -Problem in writing TNeuron solved.
 -Problem reading a TChain solved.
 -Empty canvas appearing when normalizing a neuron does not appear anymore.
 -Option to normalize output added.
 -Few problems in teh documentation corrected.

Revision 7161 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 27 16:06:17 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 181217 byte(s)
Diff to previous 7160
Fix more portability problems

Revision 7160 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Aug 27 16:02:17 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 181211 byte(s)
Diff to previous 7159
Fix some portability problems.

Revision 7159 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Aug 27 15:31:14 2003 UTC (11 years, 5 months ago) by brun
Original Path: trunk/mlp/src/TNeuron.cxx
File length: 181406 byte(s)
New package "mlp" (MultiLayerPerceptron" by Christophe.Delaere

The package has 3 classes TMultiLayerPerceptron, TNeuron, TSynapse

// TMultiLayerPerceptron
//
// This class describes a neural network.
// There are facilities to train the network and use the output.
//
// The input layer is made of inactive neurons (returning the
// normalized input), hidden layers are made of sigmoids and output
// neurons are linear.
//
// The basic input is a TTree and two (training and test) TEventLists.
// For classification jobs, a branch (maybe in a TFriend) must contain
// the expected output.
// 6 learning methods are available: kStochastic, kBatch,
// kSteepestDescent, kRibierePolak, kFletcherReeves and kBFGS.
//
// This implementation is *inspired* from the mlpfit package from
// J.Schwindling et al.

This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.

  Diffs between and
  Type of Diff should be a

Sort log by:

Subversion Admin
ViewVC Help
Powered by ViewVC 1.0.9