Stanford University’s Machine Learning on Coursera is the clear current winner in terms of ratings, reviews, and syllabus fit.
Taught by the famous Andrew Ng, Google Brain founder and former chief scientist at Baidu, this was the class that sparked the founding of Coursera. It has a 4.7-star weighted average rating over 422 reviews.
Released in 2011, it covers all aspects of the machine learning workflow. Though it has a smaller scope than the original Stanford class upon which it is based, it still manages to cover a large number of techniques and algorithms. The estimated timeline is eleven weeks, with two weeks dedicated to neural networks and deep learning. Free and paid options are available.
Ng is a dynamic yet gentle instructor with a palpable experience. He inspires confidence, especially when sharing practical implementation tips and warnings about common pitfalls. A linear algebra refresher is provided and Ng highlights the aspects of calculus most relevant to machine learning.
Evaluation is automatic and is done via multiple choice quizzes that follow each lesson and programming assignments.
The assignments (there are eight of them) can be completed in MATLAB or Octave, which is an open-source version of MATLAB. Ng explains his language choice:
In the past, I’ve tried to teach machine learning using a large variety of different programming languages including C++, Java, Python, NumPy, and also Octave … And what I’ve seen after having taught machine learning for almost a decade is that you learn much faster if you use Octave as your programming environment.
Though Python and R are likely more compelling choices in 2017 with the increased popularity of those languages, reviewers note that that shouldn’t stop you from taking the course.
A few prominent reviewers noted the following:
Of longstanding renown in the MOOC world, Stanford’s machine learning course really is the definitive introduction to this topic. The course broadly covers all of the major areas of machine learning … Prof. Ng precedes each segment with a motivating discussion and examples.
Andrew Ng is a gifted teacher and able to explain complicated subjects in a very intuitive and clear way, including the math behind all concepts. Highly recommended.
The only problem I see with this course if that it sets the expectation bar very high for other courses.
Contents of Course
This course covers the following topics in ML
- Supervised Learning
Linear regression, logistic regression, neural networks, SVMs.
- Unsupervised Learning
K-means, PCA, Anomaly detection
- Special Applications/ Topics
Recommender system, large scale machine learning
- Advice on building a machine learning system
Bias/variance, regularization, evaluation of learning algorithm, learning curves, error analysis, ceiling analysis.
In my opinion, the most important part of the course is the 4th one, which highlights all of the tools, tricks, and tips that you will need to build the state of the art ML system. While solving a real problem using ML, you will often find yourself stuck at some issue, this is where these tools will come to rescue. I haven’t seen any online course discussing this important topic in such a detail.
After the completion of this course successfully, you will have an expert level of understating concepts of ML. But there is a lot more to do on the implementation side.
You might not be surprised to know that almost no company uses Matlab/Octave in their production ML models. Most of the time they are just used to build the prototype. In a production environment, Python or R is used. I would recommend going for Python, since it is easy to learn and widely used by big companies (Google, Amazon, Microsoft).
I would recommend going through the first 11 chapter of an amazing book.
This book is written by one of ex-googler and considered the one of the best books on the topic.
Since you already you know all of the concepts, you will be done with these chapters in one or two weeks.
Move to Deep Learning
Deep learning is a specialized field for ML which has become very popular in last couple of years. If you want to start a career in AI you, will need to have sound knowledge of this field.
There are a great MOOCs available online that cover the topic very well.
Starting a career in AI is not very hard. Quality material is available online, all you have to do stay motivated and patient, at the end it all worth it.
Thank for reading, do let me know your thoughts in comments.