Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

SimpleNeuron.h

Go to the documentation of this file.
00001 #ifndef _SIMPLENEURON_H
00002 #define _SIMPLENEURON_H
00003 
00004 #include "Neuron.h"
00005 #include "defines.h"
00006 
00007 namespace annie
00008 {
00009 
00015 class SimpleNeuron : public Neuron
00016 {
00017 protected:
00019         bool _hasBias;
00020 
00022         real _bias;
00023 
00025         real _deltaBias;
00026 
00028         ActivationFunction _dActivationFunction;
00029 
00031         virtual void _recacheOutput();
00032 
00034         virtual void _recacheError();
00035 
00036 public:
00042         SimpleNeuron(int label, bool hasBias = true);
00043 
00048         virtual void setBias(real bias);
00049         
00051         virtual bool hasBias();
00052         
00054         virtual real getBias();
00055 
00057         virtual void removeBias();
00058 
00066         virtual void setDesiredOutput(real desired);
00067 
00072         virtual void setActivationFunction(ActivationFunction f, ActivationFunction df);
00073 
00078         virtual void connect(Neuron *from);
00079 
00086         virtual void connect(Neuron *from, real weight);
00087         
00093         virtual void calculateNewWeights(real learningRate, real momentum=0.0);
00094 
00099         virtual void update();
00100 
00102         virtual std::string toString();
00103 
00105         virtual const char *getClassName();
00106 
00111         virtual real getWeight(Neuron *from);
00112 };
00113 
00114 }; //namespace annie
00115 #endif // define _SIMPLENEURON_H
00116 

Generated on Wed Apr 23 10:42:34 2003 for BioFilter by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002