Learning Resources

List of Resources

There is a nearly endless list of resources for learning deep learning and machine learning more broadly. I've included some below, with my favorites marked by a Star.

Recommendations

Currently, my personal recommendation would be to do the following:
    .1For classical machine learning...
    .aRead Chapters 1-2 of Hands-On Machine Learning with Scikit-Learn.
    .bIf you have a relatively small amount of data where deep learning will not be viable, then stick with scikit-learn and skip the section below. Start tinkering.
    .2For neural networks and deep learning...
    .aFor a theoretical understanding of deep learning, refer to  Understanding Deep Learning . It will provide a solid foundation, without being overly technical. Chapters 1-10 and 13 are particularly valuable within the context of our group.
    .bFor a practical understanding, go through the  PyTorch  documentation, which itself has several tutorials. Start tinkering with PyTorch on your own.

Machine Learning Fundamentals

Practical

  • Star Hands-On Machine Learning with Scikit-Learn, Keras & TensorFlow
  • This is by far my top-choice recommendation for learning about scikit-learn and more "classical" machine learning topics. That said, the latter half (i.e. the Keras and TensorFlow sections) is probably worth skipping in favor of other options. Chapters 1-4 are a perfect intro.

Theoretical

  • Probabilistic Machine Learning: An Introduction
  • This takes a very statistics-oriented approach to machine learning. It is a modern classic but a bit on the more math-intensive side.

Deep Learning

Practical

  • Star  Dive into Deep Learning 
  • This is a rather useful and interactive book on deep learning with PyTorch, MXNet, JAX, and TensorFlow. I don't recommend reading it front to back, but it's a useful reference for specific topics.
  • Deep Learning with Pytorch
  • This is an extremely useful intro book to PyTorch for deep learning.
  •  Deep Learning with PyTorch video course 
  • This is a useful video-based tutorial for PyTorch.
  •  Zero to Mastery Learn PyTorch for Deep Learning video course 

Theoretical

  • Star  Understanding Deep Learning by Prince 
  • This is definitely my favorite introductory book about deep learning. It strikes the perfect balance and provides the necessary context to understand what you will later be coding.
  •  Geometric Deep Learning 
  •  Deep Learning  by Goodfellow, Bengio, and Courville
  • This is basically the standard deep learning book, but it's a bit on the math-intensive side and also missing newer topics.
  • Probabilistic Machine Learning: Advanced Topics
  • This is essentially the deep learning analogue of Probabilistic Machine Learning: An Introduction.

Materials Focus

  •  Deep Learning for Molecules and Materials 
  •  An Introduction to Neural Network Potentials