Neural Smithing: Supervised Learning in Feedforward Artificial Neural Networks