Resources for Machine Learning
Published:
Sometime I get asked how to learn computational methods, and there is quite a lot of great, free reading material and tools to get you started (or go further).
A Few Useful Things to Know about Machine Learning
Data alone is not enough
Machine learning is not magic; it can’t get something from nothing. What is does is get more from less. When you work on a real Machine learning problem, you should focus your efforts on your domain knowledge and data before optimising your choice of algorithms. You should not rush into neural networks because you think they are cool. To improve your model, get more data and then use your knowledge of the problem to explore and process the data. You should optimise the choice of algorithms after you have gathered enough data and you’ve processed it well.
Great Free Textbooks
In my opinion, these are probably the best books on Machine Learning that I’ve read and highly recommend them.
- I. Goodfellow, Y. Bengio, A. Courville (2016). “Deep Learning”. MIT Press. http://www.deeplearningbook.org
- S. Shalev-Shwartz, S. Ben-David (2014). “Understanding Machine Learning: From Theory to Algorithms”. Cambridge University Press. https://www.cse.huji.ac.il/~shais/UnderstandingMachineLearning/copy.html
- C. Bishop (2006). “Pattern Recognition and Machine Learning”. Springer. https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf
[Recommended] Prof. Andrew Ng’s Machine Learning course on Coursera
The aforementioned is a very popular and esteemed free online course.
Computational Tools
There are several Machine Learning software that is available in the market. Enlisted below are the most popular ones among them.
Typically, I use TensorFlow and Scikit Learn. I would recommend both as they have a lot of very reasonable defaults for most uses. PyTorch is also very good, but for those who want more control.
Cheat Sheets
Some good cheat sheets I’ve came across.