This document is designed to be primarily a starting point for people with some computer programming background who do not have no experience with machine learning. I hope it's also useful to people who don't have much of a computer programming background, or who have some machine learning experience and would like to build on what they already know.
I'd also like this to foster discusion about what's useful in machine learning and what's detrimental. If you'd like to contribute to this conversation, please see the README for more info. The starting point for this document was a conversation held at a January 2018 Papers We Love event.
After posting my notes from that meetup, Elliott Miller responded with some additional suggestions, included below.
- The Elements of Statistical Learning https://web.stanford.edu/~hastie/ElemStatLearn/
- "Machine Learning: An Algorithmic Perspective" https://seat.massey.ac.nz/personal/s.r.marsland/MLBook.html
- "Pattern Recognition and Machine Learning" https://www.springer.com/us/book/9780387310732 (cited as a bayesian perspective)
- 3blue1brown https://www.3blue1brown.com/
- Natural Language Processing with Chris Manning — various materials that match this seem be available online, including https://nlp.stanford.edu/fsnlp/ which was explicitly mentioned separately
- "Natural Language Processing with Python" http://shop.oreilly.com/product/9780596516499.do
- "Computer Vision: A Modern Approach" https://www.amazon.com/Computer-Vision-Modern-Approach-2nd/dp/013608592X
- "Deep Learning" https://www.deeplearningbook.org/
- udacity and coursera courses, some of which are tied to the books above
Suggestions from Elliott Miller:
- My absolute favorite resource so far has been learning from data by Yasser Abu Mostafa. It is said to be obsolete, but I still use concepts from it. In particular my favorite is his second lecture as well as his derivation of Support Vector Machines. https://work.caltech.edu/telecourse.html
- Again not so current, but when I started out I went through as much as I could from the open source data science masters, again focusing mostly on machine learning. http://datasciencemasters.org/
- The Geoffery Hinton course contains tremendous amount of insight into concepts underlying neural networks. The actual techniques do not use modern libraries like PyTorch or Tensorflow but his ideas are still very applicable. It still appears to be free on Coursera https://www.coursera.org/learn/neural-networks/
- There also a ton of blogs and people to follow. I am a big fan of Andrej Karpathy, Yan Lecunn, Thomas Wiecki, and everything StichFix Does. Their Blog is like so good. https://multithreaded.stitchfix.com/algorithms/
- These sites are really cool visual introductions to ML and related algorithms. I have looked at the setosa visualization on conditional probability so…many…times… http://www.r2d3.us/visual-intro-to-machine-learning-part-1/ http://www.r2d3.us/visual-intro-to-machine-learning-part-2/ http://setosa.io/ev/
- In addition to 3 blue 1 brown, mathematical monk is super thorough with its explanations. https://www.youtube.com/channel/UCcAtD_VYwcYwVbTdvArsm7w