Original Post
Afternoon all, I'm having a whole bundle of laughs trying to get my head around some simple multi-layer neural networks and the back propagation algorithm. I've been reading through all available information and books for the last few days, yet I've still not quite understood everything. Seems that clean, straight-forward facts on the subject are not easy to find [headshake] 1) Threshold function In a single perceptron NNet you apply a threshold function (such as a sigmoid one) to the raw output of the inputs multiplied by the weights. In multi-layer perceptrons do you have to apply the same/similar threshold function to every intermediary perceptron in the network? My current code outputs a 3-component vector of floats, and I'm applying the threshold function to these. I'm wondering if I also have to apply a threshold to the results of the hidden perceptrons and pass this to the next layer.. 2) Comparing the output for learning purposes I still don't quite get the backpropagation algorithm, but it seems to be indicating that I have to use the computed error as a bias for teaching the previous (hidden) perceptrons in the network. Do I have to use the raw output or the corrected/thresholded value? I'm confused on this one as my thresholded values have very little granularity - which doesn't lend itself to small changes... 3) Anyone know of any good step-by-step examples? Yeah, gonna be a "n00b" here... my book is 99% theory and describes every single possible variant of a multi-layer network and the B.P. algorithm in a couple of pages that are just full of mathematical notation. this wiki page is closer to what I want, but there's not much detail. A google search just seems to yield university course notes that are just a distilled copy of the stuff in my book [rolleyes] A pseudo-code example or "applied" explanation of the algorithm is all I'm after - I just want to translate the theory->practice! So, anyone got any clues on the above? Cheers, Jack