# Learning suggestions for AI and neural networks for a mathematician

I am a mathematician who has done programming in Python, Java, and R. I would like to learn to make neural networks and artificial intelligence. Are there any good books for self learning AI for a person like me who loves learning theory behind neural networks, and who can learn by proving theorems and thinking the theory behind AI? When I just read Tensorflow's or Keras's documentation, I found that I couldn't understand how the networks work.

• Thank you both - I've converted it to an answer. Mar 18, 2020 at 22:59

Higham and Higham's Deep Learning: An Introduction for Applied Mathematicians is a fairly short introduction to neural networks that is written with mathematicians in mind.

Another reference I would recommend is Shalev-Shwartz and Ben-David's Understanding Machine Learning: From Theory to Algorithms, particularly chapter 20.

Both of the above approach neural network theory in the more traditional Definition–Theorem–Proof structure.

I think it is worthwhile to build a simple network yourself in order to learn the principles before diving into a framework such as TensorFlow, if you're hoping to gain understanding of the principles rather than treating a neural network as a black box which might work, or not. The recommendation of Neural Networks and Deep Learning in kaya3's answer is useful for this, as Nielsen does write neural networks from scratch to demonstrate.

For some theoretical background you may also find interest in Hornik et al. (1989) and Rumelhart et al. (1986) if you have access.

@kaya3's comment links an excellent e-book, which describes the math in fair detail.

I'll never get tired of recommending 3blue1brown's amazing video series that both motivates the problem and gives basic intuition but doesn't shortchange the math: https://www.3blue1brown.com/neural-networks

The online textbook Neural Networks and Deep Learning by Michael Nielsen is quite good for mathematical content. It assumes the reader understands calculus, but requires no prior knowledge of machine learning. The book's own introduction explains fairly well what the book is about:

The purpose of this book is to help you master the core concepts of neural networks, including modern techniques for deep learning. ... One conviction underlying the book is that it's better to obtain a solid understanding of the core principles of neural networks and deep learning, rather than a hazy understanding of a long laundry list of ideas. If you've understood the core ideas well, you can rapidly understand other new material.