Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2026-06-02 08:48:23

0001 /*
0002  * CombinationFunction.h
0003  *
0004  *  Created on: Apr 23, 2016
0005  *      Author: Pawel Sznajder
0006  */
0007 
0008 #ifndef COMBINATIONFUNCTION_H_
0009 #define COMBINATIONFUNCTION_H_
0010 
0011 #include <string>
0012 #include <vector>
0013 
0014 #include "../neural_network_neuron/NeuralNetworkNeuron.h"
0015 
0016 namespace NumA {
0017 
0018 class CombinationFunction {
0019 
0020 public:
0021 
0022     CombinationFunction();
0023     CombinationFunction(const std::string& name);
0024     virtual ~CombinationFunction();
0025     virtual CombinationFunction* clone() const;
0026 
0027     virtual double evaluate(const std::vector<NeuralNetworkNeuron*>& neurons,
0028             double bias) const;
0029 
0030     virtual double evaluateFirstPartialDerivativeForCell(
0031             const NeuralNetworkNeuron* const neuron,
0032             const std::vector<NeuralNetworkNeuron*>& neurons,
0033             double bias) const;
0034     virtual double evaluateFirstPartialDerivativeForNeuron(
0035             const NeuralNetworkNeuron* const neuron,
0036             const std::vector<NeuralNetworkNeuron*>& neurons,
0037             double bias) const;
0038     virtual double evaluateFirstPartialDerivativeForBias(
0039             const std::vector<NeuralNetworkNeuron*>& neurons,
0040             double bias) const;
0041 
0042 protected:
0043 
0044     CombinationFunction(const CombinationFunction& other);
0045 };
0046 
0047 }
0048 
0049 #endif /* COMBINATIONFUNCTION_H_ */