Question: How to Program a Multilayer Perceptron with Back Propagation
Please demonstrate how one would program a perceptron and multilayer perceptron in Mathematica using minimal built in functions. Further, please be exceptionally verbose in the explanation thereof.
Motivation
While there are many programming languages available with neural network libraries that extrude the need to program one by hand, I am asking this question as I specifically wish to become more familiar with Mathematica; learn the structure of programming a neural network by hand; and use neural networks with Mathematica in the future.
I believe, when searching the internet for perceptrons and Mathematica, that I found a Perceptron function built into a special package of Mathematica. While that would be sufficient per se, I am more in need of a guided explanation of how one is to do this. The mathematics of these neural networks are familiar to me from Haykin's book "Neural Networks and Learning Machines." It is the programming thereof, that has me flummoxed.