4 #include "NeuralNetConfig.h"
11 #include "NeuralNet.h"
36 double output(
const std::vector<double> &inputValues)
const;
37 double derivativeOutput(
const std::vector<double> &inputValues)
const;
38 std::vector<double> weights()
const {
return _weights;}
39 double bias()
const {
return _bias;}
40 int numberOfWeights() {
return (
int)_weights.size();}
41 void setWeights(
const std::vector<double> &newWeights);
42 void serialise(std::ostream &os)
const;
43 virtual void destroy()
const = 0;
45 virtual void outputRange(
double &outputmin,
double &outputmax)
const = 0;
48 Neuron(
const int numberOfInputs,
const double bias,
const NeuralNet *parentNetwork=0);
50 virtual double thresholdFunction(
const double activation)
const = 0;
51 virtual double derivative(
const double x)
const = 0;
52 virtual void serialiseExtra(std::ostream &os)
const {};
53 virtual std::string neuronType()
const = 0;
56 double activation(
const std::vector<double> &inputs)
const;
59 const int _numberOfInputs;
61 std::vector<double> _weights;