File indexing completed on 2026-06-02 08:48:23
0001
0002
0003
0004
0005
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