How do you learn machine learning? A good way to begin is to take an online course. These courses started appearing towards the end of 2011, first from Stanford University, now from Coursera, Udacity, edX and other institutions. There are very many of them, including a few about machine learning.
Last updated January 2016.
Here’s a list:
Introduction to Artificial Intelligence by Sebastian Thrun and Peter Norvig. That was the first online class, and it contains two units on machine learning (units five and six). Both instructors work at Google. Sebastian Thrun is best known for building a self-driving car and Peter Norvig is a leading authority on AI, so they know what they are talking about. After the success of the class Sebastian Thrun quit Stanford to found Udacity, his online learning startup.
Machine Learning by Andrew Ng. Again, one of the first classes, by Stanford professor who started Coursera, the best known online learning provider today. Andrew Ng is a world class authority on machine learning, and this course is a good place to start. It features well chosen topics (notably missing are trees and ensembles) and programming assignments (Matlab/Octave).
Statistical Learning by Trevor Hastie and Rob Tibshirani. The lecturers are old-school statisticians, and heavyweights in their sport. Their handbook is a classic. Recently they published an easier, introductory version. Both are available free online. The course seems very good - it’s engaging and well-presented. In short, a MOOC done right. Yet by watching it you can get a clue why the craze these days is data science, big data, deep learning etc. and not statistics. Programming in R.
Neural Networks for Machine Learning by Geoffrey Hinton. Prof. Hinton is THE man when it comes to neural networks, so this is a must-take if you are interested in them. Even though this is an advanced course, you can still watch the parts about applications for inspiration even if you are not up to speed on the subject. Matlab/Octave.
Deep Learning by Vincent Vanhoucke from Google. A brief overview of deep learning, using TensorFlow for assignments. We liked a few insights from this MOOC, for example word2vec and LSTM explanations.
Learning From Data by Yaser Abu-Mostafa. This course has a strong emphasis on theory of learning. Fortunately the professor’s delivery is very well polished and relatively easy to comprehend. Some programming exercises. See index of topics.
Originally it was broadcasted live from Caltech site, so you could watch the lecture and ask your question afterwards by means of an online chat.
Machine Learning 1 - Supervised Learning by Charles Isbell from Georgia Tech and Michael Littman from Brown. The most irreverent class out there. There are also parts two and three about unsupervised learning and reinforcement learning, respectively.
Machine Learning for Data Science and Analytics from Columbia University. Despite the name, it looks more like a MOOC on algorithms and graphical models. Also see Statistical Thinking for Data Science and Analytics with a section on Bayesian modeling and inference.
Introduction to Data Science by Bill Howe. The lecturer seems to be pretty smart and engaging at the same time, and the material pretty interesting. Focus on big data and databases.
Mining Massive Datasets by Jure Leskovec, Anand Rajaraman and Jeff Ullman from Stanford. The MOOC is based on the Stanford course by the same name and there is a book to accompany it. You can download it for free.
Besides these classes, there are many more about statistics, computer vision, natural language processing and whatnot. One example is Computing for Data Analysis by Roger Peng, a very good introduction to R programming language. Another - Data Analysis by Jeff Leek - quite relevant. These guys from Johns Hopkins University will be responsible for Coursera’s Data Science specialization track, consisting of 9 four-week courses.
A revolution in higher education is underway, so take your part. Be sure to browse Udacity courses, they are generally easier to digest than Coursera’s. This site will help you to keep tabs on all classes: www.class-central.com.
The MOOCs mentioned above feature some degree of interactivity, including homework and forums. Here are a few non-interactive resources, mainly course video lectures:
Machine Learning by Pedro Domingos. A Coursera class, but currently only a preview is available. The course has an interesting and pretty comprehensive choice of topics and the content is good, even though video quality is not quite up to par with other courses.
Big Data, Large Scale Machine Learning by John Langford (think Vowpal Wabbit) and Yann LeCun (think convolutional neural networks, specifically LeNet-5). Worth mentioning because of the topic and the instructors.
CS231n: Convolutional Neural Networks for Visual Recognition by Fei-Fei Li and Andrej Karpathy. Spring 2015 Stanford class.
CS224d: Deep Learning for Natural Language Processing by Richard Socher. Spring 2015 Stanford course.
CS109 - Data Science from Harvard, by H. Pfister and J. Blitzstein. The class has a dedicated site: cs109.org. Also see Statistics 110: Probability by Blitzstein and CS 171 - Visualization by Pfister.
Machine Learning by Nando de Freitas, UBC 2013.
Deep Learning by the same author, Oxford 2015. Uses Torch 7.
Machine Learning by Alex Smola (PhD level).
Machine Learning by Tom Mitchell. A Carnegie Mellon course. Viewing video lectures requires Silverlight.
Machine Learning for Computer Vision, by Rudolph Tiebel from TU München.
Mathematical Monk’s Machine Learning at youtube, writing on a virtual blackboard Khan-Academy-style.