An algorithm for training multilayer perceptrons for data classification and function interpolation