Neural network theory and applications