Thoughts On the Coursera Machine Learning Course
I completed my first Coursera course, which was “Machine Learning” with Andrew Ng from Stanford University. The course was well taught and concentrates on building a solid base for applying Machine Learning to a variety of problems. Andrew Ng uses examples motivated by real-world problems to show how you might apply the algorithms taught. I highly recommend the course if you are looking to take a MOOC and have an interest in machine learning. I learnt a lot, but still need to apply the knowledge in some personal projects of mine.
Read on for more thoughts on the course and tips on how to succeed.
Important Take Aways
For me some of the most important parts of the course were the higher level concepts of how to do Machine Learning properly. For example, how to split your data set up into a training, cross validation, and test set instead of a training and test set. This allows you to tweak your trainng model parameters without creating a correlation to your test set. That idea is simple, but powerful. Another example that was enlightening was during the Photo OCR demo where Andrew Ng discusses how to move a rectanlge of fixed aspect ratio through the screen to do image classification. This was a problem which I struggled with before, but never came up with a good solution to. I am thankful I now have a toolkit for finding the right answer to classification problems. No longer will I try to use k-means clustering as a supervised learning algorithm!
Tips on Succeeding
I have tried to take Coursera courses 3-4 times before. Each time I would start to take the course, sprint through the lectures, never do the homework and then give up. This time around I followed a different approach. I paced myself to do the course in the suggested time. I set up a basic schedule for each week before I started and tried to take charge of my own education. Since I made the commitment to do a finite amount of work per week, it became much easier to do. More importantly, I now had a good way to contextualize the course against the rest of my life. If I was between a last minute coffee meetup, or doing my course work on Sunday the coursework could now win in my mind.
I listed some other tips below:
- Watch all the lectures before doing the quizzes or homeworks, even if you know the content. I found little bits of insight on content I already knew and I thought those were some of the courses strongest moments.
- Watch the lectures in your free time. I watched the lectures in the morning while drinking my coffee, while on the train, during lunch, and once while walking to a friends house. There is no wrong time to watch a lecture, all you need is an open mind, your phone and some headphones.
- Plan a time to do the homework.
- Set up your development environment ASAP.
- Come into the course with some context and some projects you want to do.
- Have fun! You are doing this for yourself.
After you finish taking the Coursera Machine Learning course you might find yourself wanting to learn more (and I hope you do!). So here are some resources I have been using to further my understanding of Machine Learning:
- awesome-machine-learning: A curated list of awesome Machine Learning frameworks, libraries and software.
- Machine Learning For Software Engineers
- Dive Into Machine Learning
- Kaggle Competitions
Since this worked out so well for me, I am planning on taking the Coursera Crytopgraphy I course.