To be honest, this isn't the best list, it's a bit too blog heavy. I've started reading up on ML only recently but here are my recommendations. Note that I haven't went through all of them in entirety but they all seem useful. Note that a lot of them overlap to a large degree and that this list is more of a "choose your own adventure" than "you have to read all of these".
Reqs:
* Metacademy (http://metacademy.org) If you just want to check out what ML is about this is the best site.
Reqs:
* Metacademy (http://metacademy.org) If you just want to check out what ML is about this is the best site.
* Better Explained (https://betterexplained.com/) if you need to brush up on some of the math
* Introduction to Probability (https://smile.amazon.com/Introduction-Probability-Chapman-St...)
* Stanford EE263: Introduction to Linear Dynamical Systems (http://ee263.stanford.edu/)
Beginner:
* Andrew Ng's class (http://cs229.stanford.edu)
* Python Machine Learning (https://smile.amazon.com/Python-Machine-Learning-Sebastian-R...)
* An Introduction to Statistical Learning (https://smile.amazon.com/Introduction-Statistical-Learning-A...)
Intermediate:
* Pattern Recognition and Machine Learning (https://smile.amazon.com/Pattern-Recognition-Learning-Inform...)
* Machine Learning: A Probabilistic Perspective (https://smile.amazon.com/Machine-Learning-Probabilistic-Pers...)
* All of Statistics: A Concise Course in Statistical Inference (https://smile.amazon.com/gp/product/0387402721/)
* Elements of Statistical Learning: Data Mining, Inference, and Prediction (https://smile.amazon.com/gp/product/0387848576(
* Stanford CS131 Computer vision (http://vision.stanford.edu/teaching/cs131_fall1617/)
* Stanford CS231n Convolutional Neural Networks for Visual Recognition (http://cs231n.github.io/)
* Convex Optimization (https://smile.amazon.com/Convex-Optimization-Stephen-Boyd/dp...)
* Deep Learning (http://www.deeplearningbook.org/ or https://smile.amazon.com/Deep-Learning-Adaptive-Computation-...)
* Neural Networks and Deep Learning (http://neuralnetworksanddeeplearning.com/)
Advanced:
* Probabilistic Graphical Models: Principles and Techniques (https://smile.amazon.com/Probabilistic-Graphical-Models-Prin...)
I have also found that looking into probabilistic programming is helpful too. These resources are pretty good:
* The Design and Implementation of Probabilistic Programming Languages (http://dippl.org)
* Practical Probabilistic Programming (https://smile.amazon.com/Practical-Probabilistic-Programming...)
The currently most popular ML frameworks are scikit-learn, Tensorflow, Theano and Keras.