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. 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.
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 reinforcement learning, respectively.
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.
Introduction to Recommender Systems by Joseph Konstan.
Coding the Matrix by Philip Klein. This is not a machine learning course, but rather a linear algebra course. Linear algebra, that is matrix and vector operations, is the foundation of machine learning. So if you find yourself struggling with math a little bit this is the course to take. The presentation is straightforward and application-oriented and the programming is done in Python.
Linear Algebra - Foundations to Frontiers by Myers and van de Geijn. An edX course from University of Texas at Austin, programming in Python.
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 nine 4-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.
CS181 - Machine Learning by Ryan Adams. Spring 2014 Harvard 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.
Machine Learning by Alex Smola (PhD level).
Machine Learning by Tom Mitchell. A Carnegie Mellon course. Viewing video lectures requires Silverlight.
If that still not enough for you, there’s a whole lot more at videolectures.net.