Neural smithing :supervised learning in feedforward artificial neural networks