I built a neural net, and planned on optimizing the weights using a genetic algorithm. I was informed though, that this isn't a good idea, and to look into backpropagation.
I searched around, and found either very superficial overviews of the algorithm (which conceptually isn't that difficult), or very in-depth guides of the math. All the math I've seen appears to be calculus (although I wouldn't know, as I don't yet know calculus), so it's difficult for me to see what's going on.
I looked up the concept in Artificial Intelligence: A Modern Approach, but as with everything else in the book, the math looks arcane.
I understand the process is basically:
- Propagate the input towards the output.
- Once it reaches the output, compare the result to what you expected it to be.
- The error (expected - actual) is calculated.
- Starting at the output, the error is propagated back through the network, and the weights are adjusted accordingly.
My issue is point
4. How can you know a hidden node's effect on the output?
Can anybody explain backpropagation of a neural net, with math that can be understood at a sub-calculus level?