Getting Started with Machine Learning
Like everyone, I have always wanted to live a life of purpose. However, unlike most people, I don’t seek to fulfil that purpose by having an offspring to further my name or by worshipping some imaginary superpower. Rather, I seek to make my mark by means of my work which contributes to the progress of humanity.
From a long time I have been experimenting with ideas across various fields and lately, the advancements in the field of Machine Learning got my attention, something which I had just glanced over at the college library. As I read further online, I realised how much closer to the dream of AI we are now than we were just 8 years ago in 2008, back when I was in college. Machine Learning has applications in almost every field ranging from surgery to self driving cars and I definitely want to contribute.
I am writing this post keeping a target audience in mind, who are somewhat in similar shoes as I was just a few months ago, that is a CS graduate from India who wants to get started with Machine Learning. Here are the steps I recommend to get started in Machine Learning. All linked courses are available for free.
Get comfortable with Python:
Option 1 (shorter): Udacity: Programming Foundations with Python
Option 2 (Detailed): Udacity: Intro to Computer Science
Get comfortable with git: Udacity: How to Use Git and GitHub
Complete an introductory course to machine learning as soon as possible. Don’t skip the quizzes and programming exercises.
Pros: Prof Andrew teaches in a very lucid way and imparts a fundamental education on machine learning. This is the best course I have ever completed.
Cons: Uses Octave for exercises instead of the more widely used python
Pros: Uses Python and widely used libraries, syllabus is highly practical
After completing the fundamentals of Machine Learning, you can do three things
- Start participating in kaggle competitions
- Work on Pet projects by using machine learning on publicly available data
- Study further online. Detailed below
- Read books. Detailed below
Neural Networks for Machine Learning by Geoffrey Hinton — Useful for NLP, Computer Vision
Probabilistic Graphical Models by Stanford’s Prof Daphne Koller — Useful for Data Science in general
Udacity: Deep Learning — Useful for NLP, Computer Vision
Learning Deep Architectures for AI (Yoshua Bengio)
Probabilistic Graphical Models (Daphne Koller and Nir Friedman)
On Intelligence (Jeff Hawkins)
Pattern Recognition and Machine Learning (Christopher M. Bishop)
Parallel Distributed Processing (James L. McClelland, David E. Rumelhart and the PDP Research Group)
PS: This post was first written on my wordpress blog and later moved here with minor modifications