00001 #ifndef __SIGMOIDNEURON_H 00002 #define __SIGMOIDNEURON_H 00003 00004 #include "Neuron.h" 00005 00010 namespace Teem 00011 { 00014 class SigmoidNeuron : public Neuron 00015 { 00016 public: 00017 SigmoidNeuron(); 00018 virtual ~SigmoidNeuron() {} 00019 00020 virtual void setParams(const std::string ¶m, double value); 00021 virtual void update(double dt); 00022 virtual void commit(); 00023 00024 protected: 00025 Ishtar::Variable<double> alpha; 00026 00027 double activation; 00028 }; 00029 00033 class SigmoidInputNeuron : public InputNeuron 00034 { 00035 public: 00037 SigmoidInputNeuron() { } 00038 virtual ~SigmoidInputNeuron() { } 00039 00040 virtual void setInputValue(double value) { lastCurrent = value; } 00041 }; 00042 } 00043 00044 #endif