If you are interested in learning Machine learning, this is the very best starting point to do so. The course Machine Learning on Coursera by famous Andrew Ng and Stanford University is the most popular course on the topic out there. At the moment of writing, there are 4,5 million people enrolled in this course and it’s free to take.
This Machine Learning course requires you to install either Matlab or Octave (which is very similar but free). You get instructions in the course. When I took it in 2020 I had trouble getting Matlab to work so I used Octave. Note: Even if you never plan on learning and using Matlab, it’s worth your while to do so now in order to participate in this course.
The main thing about this Machine learning course compared to for example Machine learning courses at Kaggle.com is that with Andrew Ng you will learn how different algoritms work from the ground up. You will write the code with all for loops required and matrix multiplications, sometimes you will try both for the same problem to see how much faster and better matrix multiplications are compared to regular loops. In other courses, you get Python, a few libraries and your write 1-4 lines of code to solve the problem. That is a black box where you don’t learn the actual machine learning algorithms.
Machine Learning at Coursera will teach you what is inside the black boxes of Machine Learning. This knowledge is invaluable if you want to work in the field of data science.
Machine Learning Syllabus
This is a comprehensive course split over 11 weeks with on average 5-6 hours of study each week. I though the material was so good so I spent about 100 hours total on this in order to really try out different concepts throughout the course.
First you learn or hopefully just repeat some Linear Algebra that will be needed later on to replace your for loops with matrix multiplication operations.
After that you learn about Gradient Descent, maybe the most important optimization algorithm in Machine learning. You will go through linear regression and logistic regression.
One week is spent on Regularization so your models don’t overfit the data.
Then there are two weeks on Neural Networks where you will build a neural network from scratch with a backpropagation algorithm to learn parameters.
Other algorithms taught in the course are Support Vector Machines (SVM), Unsupervised Learning with K-means, Principal Components Analys (PCA) and Anomaly Detection.
In the end you learn to build a Recommender System. For example if you like Movie A, you might like movie B.
Finally Andrew shows how Image detection works and this is a nice bridge to his other courses on Deeplearning.AI where you can learn more about this.
I think that I will probably never code these things from scratch again. I will use Python and libraries like TensorFlow and Scikit-learn in the future. Still, I’m very happy I did the work required for this course because now I have a good understanding of what all these libraries actually do when I use a neural network or PCA algorithm.
If you want to learn ML and not only want to apply it, then this course is for you.
Facts about Machine Learning on Coursera
It’s completely free to take the course but to get a certificate you need to pay $79.
The course uses Matlab and Octave, you get to pick one. Installation is needed.
The course teaches you both Matlab/Octave and linear algebra so this is not a requirement but it will be much easier to solve the exercises if you have previous knowledge from these areas.
Time required to complete the course will vary but I spent about 100 hours.
The course is made up by videos, notes, quizzes and programming exercises that does not have any hints or solutions. You need to figure them out to pass the course. Programming exercises are corrected automatically when you submit your code.