Resources to become a Ninja: Machine Learning
Hi folks, I started a series about resources to become a ninja in some technologies. It was a way that I found to share the resources that I have been reading recently. In this post I will show resources to learn machine learning.
Machine Learning by Peter Flach: Introductory textbook. It starts discussing how a spam filter works and then talk about machine learning elements (Features, Tasks and Models). After that, it shows the existent models (Rules based, probabilistics, tree based and so on).
Pattern Recognition and Machine Learning by Christopher M. Bishop: It covers a lot of Machine Learning Techniques (Regression, Classification, Neural Networks and so on), focusing in the math behind each technique. No previous knowledge of pattern recognition or machine learning is required, but good math skills will help a lot.
There are some free Machine Learning courses that I recommend:
Coursera Machine Learning Course by Andrew Ng: This course provide a introduction to machine learning. It covers supervised learning (regression, classification, neural networks, support vector machines), unsupervised learning (clustering, deep learning). It uses Octave to solve the exercises. This course is offered few times in the year, so it’s good to see when it will be offered.
Caltech Machine Learning Course by Yaser Abu-Mostafa: It has 18 lectures with 60 minute each + homeworks. It covers less topics than Cousera’s Course (only supervised learning).
Coursera Neural Networks Course by Geoffrey Hinton: Course about Neural Networks and how it’s used in speech and object recognition, image segmentation, modeling language and human motion.
Machine Learning with Python
I’m studying machine learning with python. Below is the resources that i have been using.
Scikit-Learn: Python library with machine learning techniques already implemented.
An Introduction to scikit-learn: Machine Learning in Python by Jake Vanderplas: Talk given at PyConf 2013. 3h-tutorial covering machine learning concepts and scikit-learn package.
Advanced Machine Learning with scikit-learn by Olivier Grisel: Offers an in-depth experience of methods and tools for the Machine Learning practitioner through a selection of advanced features of scikit-learn and related projects. Scikit-learn/Machine Learning experience is required.
Practicing Machine Learning
Kaggle Competitions: Machine Learning is like programming, you have to practice to become a expert. Kaggles offers a lot of machine learning puzzles, you can use them for learning. If you are a top performer, there are competitions with money prizes.
Call for Suggestions
The intent is always improve this list. If you know other resources to learning Machine Learning, you are welcome to contribute!