9 #ifndef neuralNetwork_h 10 #define neuralNetwork_h 15 #include "../dependencies/json/json.h" 18 #define LEARNING_RATE 0.3 20 #define NUM_EPOCHS 500 32 const std::vector<int> &which_inputs,
33 const int &num_hidden_layers,
34 const int &num_hidden_nodes,
35 const std::vector<T> &weights,
36 const std::vector<T> &wHiddenOutput,
37 const std::vector<T> &inRanges,
38 const std::vector<T> &inBases,
52 const std::vector<int> &which_inputs,
53 const int &num_hidden_layer,
54 const int &num_hidden_nodes);
63 T
run(
const std::vector<T> &inputVector);
93 std::vector<int> whichInputs;
98 std::vector<T> inputNeurons;
99 std::vector<std::vector<T> > hiddenNeurons;
103 std::vector<std::vector<std::vector<T> > > weights;
104 std::vector<T> wHiddenOutput;
107 std::vector<T> inRanges;
108 std::vector<T> inBases;
113 inline T activationFunction(T);
133 std::vector<std::vector< std::vector<T> > > deltaWeights;
134 std::vector<T> deltaHiddenOutput;
137 T outputErrorGradient;
138 inline T getHiddenErrorGradient(
int layer,
int neuron);
145 void backpropagate(
const T &desiredOutput);
148 void updateWeights();
~neuralNetwork()
Definition: neuralNetwork.cpp:127
Definition: trainingExample.h:18
T getOutBase() const
Definition: neuralNetwork.cpp:252
T getOutRange() const
Definition: neuralNetwork.cpp:247
int getNumHiddenLayers() const
Definition: neuralNetwork.cpp:197
std::vector< int > getWhichInputs() const
Definition: neuralNetwork.cpp:193
void reset()
Definition: neuralNetwork.cpp:131
std::vector< T > getInBases() const
Definition: neuralNetwork.cpp:242
void setEpochs(const int &epochs)
Definition: neuralNetwork.cpp:214
neuralNetwork(const int &num_inputs, const std::vector< int > &which_inputs, const int &num_hidden_layers, const int &num_hidden_nodes, const std::vector< T > &weights, const std::vector< T > &wHiddenOutput, const std::vector< T > &inRanges, const std::vector< T > &inBases, const T &outRange, const T &outBase)
Definition: neuralNetwork.cpp:30
int getNumHiddenNodes() const
Definition: neuralNetwork.cpp:209
T run(const std::vector< T > &inputVector)
Definition: neuralNetwork.cpp:302
void setNumHiddenLayers(int num_hidden_layers)
Definition: neuralNetwork.cpp:202
std::vector< T > getWHiddenOutput() const
Definition: neuralNetwork.cpp:232
Definition: baseModel.h:23
void getJSONDescription(Json::Value ¤tModel)
Definition: neuralNetwork.cpp:258
Definition: neuralNetwork.h:27
std::vector< T > getWeights() const
Definition: neuralNetwork.cpp:219
std::vector< T > getInRanges() const
Definition: neuralNetwork.cpp:237
int getNumInputs() const
Definition: neuralNetwork.cpp:188
void train(const std::vector< trainingExampleTemplate< T > > &trainingSet)
These pertain to the training, and aren't need to run a trained model //.
Definition: neuralNetwork.cpp:346