I thought I have implemented the code (from scratch, no library) for an artificial neural network (first endeavour in the field). But I feel like I miss something very basic or obvious.
To make it short: code works for a single pair of in-/out-values but fails for sets of value pairs. I do not really understand the training process. So I want to get this issue out of the way first. The following is my improvised training (aka all that I can think of) in pseudocode.
trainingData = [{in: [0,0], out:[0]}, {in: [0,1], out:[0]}, ...];
iterations = 10000
network = graphNodesToNetwork()
links = graphLinksToNetwork()
randomiseLinkWeights(links)
while(trainingData not empty) {
for(0<iterations) {
set = trainingData.pop()
updateInput(network, set.in)
forwardPropagate(network, links)
linkUpdate = backPropagate(network, links, set.out)
updateLinks(linkUpdate, links)}
}
Is this how it is supposed to work? Do you feed in your training data set by set (while-loop)?
Edit 1: because my final comment did distract from the issue at hand.
Edit 2: less wordy, more code-y