This book describes recent theoretical advances in the study of artificial neural networks. It explores probabilistic models of supervised learning problems, and addresses the key statistical and computational questions. The authors also discuss the computational complexity of neural network learning, describing a variety of hardness results, and outlining two efficient constructive learning algorithms. The book is essentially self-contained, since it introduces the necessary background material on probability, statistics, combinatorics and computational complexity; and it is intended to be accessible to researchers and graduate students in computer science, engineering, and mathematics.