How to get started with Machine Learning
A MLicious intention to master machines and making intelligent systems. So how exactly you can start with machine learning?
I have written my experience with Machine Learning in the previous post. Now as an enthusiast for almost an year, I took few Workshops, sessions and Boot camp. You can check the files, slides and hand outs for the Boot camp here.
This post is meant for the complete beginner who aspires to kick-start the Journey into Machine Learning.
So, how to get started with Machine Learning with little prior experience in programming.
Start with required Mathematics:
- Linear Algebra: [EdX] [Coursera] [MIT OCW]
- Calculus: [EdX] [Coursera]
- Probability and Statistics: [EdX] [Coursera]
- Those who don’t want to put much effort in understanding the Maths, can refer to Siraj Raval’s irritating videos. They cover almost everything and isn’t boring! [Mathematics of Intelligence]
Next on your list should be Data Structure and Algorithms
Follow this course to make strong foundation with Algorithmic thinking, [Algorithm Design and Analysis]
Choosing the right language for you.
Once you are solid with your basics needed for Machine Learning, choose which language is right for you.
Currently “R” and “Python” are the most commonly used languages and there is enough support / community available for both. R was designed for statistical learning methods while python is a general purpose programming language. I would go for Python as it has wonderful support for further aspects of AI, like Deep Learning.
Best way to learn python is the Documentation.
Machine Learning includes some pretty classical algorithms and to learn them I suggest you to take your first step course from Andrew NgKaggle: Online platform to compete ML challanges.
This is an awesome beginner level course on machine learning. It will seem to be a little low on the math component, and has lower per-requisites, however it excels as an intro course by giving a general idea about all fields. It also has an implementation component, with weekly assignments in Octave.
Learning from Data by Caltech Professor Yaser Abu-Mostafa
This is more rigorous, and for the more mathematically-inclined, a more enjoyable course. Also, the assignments are more time-taking, since they use the original Caltech assignments and not watered down versions, no offence (like the Andrew Ng’s course).
Overall, if you have the time to, I’d recommend doing both of these courses, and in the given order. Their content and approach is different enough to justify spending tine on both of them, and it leads to solidification of concepts.
Once you’re done with the courses, you have two options — for those of you more interested in implementing Machine Learning and the application part of it.
To start applying your ML skills most recommended steps are:
Competitive Machine Learning:
- Kaggle: Online platform to compete ML challanges.
A short description for kaggle would be the Codechef for Machine Learning. Start out with the “knowledge” questions — where you can practice and get the hang of stuff, and then move on to the active ongoing competitions.
Machine Learning in Researches:
You can check the curated list containing research papers, projects and blogs on Github here.
Blogs and Communities to follow
- ML Mastery
- Kaggle Blog (This has a lot of insights from the Kaggle Competitions grandmasters and some great tutorials)
- Deep Learning in Practice: Speech Recognition and Beyond | Andrew NG
- Innovating Though Data | Hillary Mason
- Better Medicine Through Machine Learning | Suchi Saria | TEDxBoston
- How we teach computers to understand pictures | Fei Fei Li
If you enjoyed the writings then please use the ❤ heart below to recommend this article so that others can see it.
Thanks, Happy learning.