A Busy Dad’s guide to learn Machine Learning — Part 2 — Learning and Study Plan
Second Part in the series — Proposing the learning and study plan which can work for you from my experience
In case you want to visit the first one in the series: https://medium.com/@rajibdas9/a-busy-dads-guide-to-learn-machine-learning-part-1-the-journey-46c9bbb9d183
When it comes to learning, each of us has our method. However, when you are trying to learn a new skill, it is important to get guidance from the people who are thought leaders in that field. There is no dearth of such leaders in the machine learning world but the problem is that you can get easily lost in that sea of information. Similarly, there are so many courses which teach us the same topics often it is hard for a newbie to choose the right one. I was in the same position and well after making some poor decisions and 10000 mistakes resulting in wastage of money, I am a little wiser now :-). Hope my recommendation will help you to avoid the mistakes I made and paved the way for your speedy learning.
Disclaimer — the courses and books recommended by me are my opinions.
You can roughly divide the learning into four phases:
- Maths for Machine Learning
- Classical Machine Learning
- Deep Learning / Predictive Analytics
- Machine Learning in the practical world/ Development & Deployment
Math for Machine Learning
Duration: 4 weeks. ( Each week you are devoting 15 hours for learning )
This is the phase to revisit or learn the maths behind Machine Learning and at the same time dedicating time to pick up the Python programming language. The best course to start at this moment is
Graeme Malcolm is an excellent teacher in this course. Each of the concepts you would be able to practice by writing python code — so it serves both. This course is offered as free or you can buy a verified certificate.
Jason Brownlee has 3 books which can be excellent resource during this period —
All these books are written with the same principle — try out the linear algebra, statistics and probability concepts by writing python code. You do not have to buy all 3 but if you want to buy one go for the Linear Algebra book.
Most importantly, your effective learning period should not cross more than 4 weeks — you can take a break for 1 week in between which is completely fine but you should complete this in 4 effective weeks otherwise you will get frustrated. In case you have crossed 4 weeks, move to the next period of learning — you can always come back to math which anyway you have to do.
Some additional tips — Python is a dynamically typed language so you may find it a little uncomfortable at first if you have a background in any strongly typed programming languages. Using a good python programming online guide or book as a reference will immensely help you.
Dive into Classical Machine Learning
It is time to learn the basics of machine learning. Two courses stand out and they are both free
Warming up : The free course from Elements of AI is a very good start
Duration — 2 weeks
This is a relatively new online course that can be easily completed in 2 weeks. The course explained the concepts in plain English without any maths to create your intuition. The way they have explained the posterior probability, I think no other course has done that.
Intro to Machine Learning in Udacity by Sebastian Thrun and Katie Malone
Duration — 4 weeks ( Go slow — absorb — since this is foundation )
This free course was created 5 years back and in my opinion, it is still the best one to learn the foundations of Machine Learning.
What about Machine Learning by Andrew Ng in Coursera — My opinion is going to upset some people — it is not for folks like me who have more than 15 years of experience in software engineering but it is great for university students who are trying to acquire this knowledge. Please do not get me wrong — Andrew Ng is God when it comes to machine learning but I am not going to recommend this course for a start since you have to learn another programming language ( Octave)- not it is a bad thing but your brain has a limitation.
On the other hand, Deep Learning Specialization from him is a must for anyone who wants to master deep learning — more about that later.
During this period, you must buy the book “Hands-on Machine Learning with Scikit-Learn, Keras and TensorFlow by Aurélien Géron”. This will be your reference book and for additional study and practice. Another important book is Python Machine Learning 3rd Edition by Sebastian Raschka and Vahid Mirjalili. Also, stories from Medium is your great resource to deep dive into any topic.
Deep Learning / Predictive Analysis
Congratulations on reaching this stage — This is when you are feeling confident after the above 10 weeks of rigorous study and you would be the best judge to decide your next course of study. You can decide to pursue Predictive Analysis for which you have to learn more about Bagging and Boosting algorithms which are still used in industry for structured data or you can pursue learning neural networks and deep learning.
I chose to learn Deep Learning using TensorFlow Framework and the first course I completed was:
TensorFlow for practice Specialization by Laurence Moroney in coursera.
He takes you straight into the Keras code which you would be comfortable to pick up at this point. He doesn’t spend much time on the underlying concepts since he often refers to the Deep Learning Specialization course by Andrew which anyhow you have to take after this.
Alternative would be Introduction to machine learning using TensorFlow in Udacity which is new addition.
A great reference book at this point is Deep Learning with Python by Manning Publications. At this time you should be also practicing the tutorials from tensorflow.org.
Your next course one will be a definitely
Deep Learning Specialization course by Andrew Ng in Coursera
This is a gem of a course for fundamentals in neural networks and you will learn to build your neural network from scratch using python. This is the “why” part of your learning.
If you have noticed, I have avoided mentioning any duration here since it will depend on you how much time you can dedicate and how fast you can complete the above courses.
Another important thing, I haven’t mentioned PyTorch courses — not that it is not important but you can learn one framework at one time. I chose TensorFlow but you can choose PyTorch and select courses based on that.
Machine Learning real-world Development / Deployment
This is an important part of your learning since you have to learn how machine learning engineers work in the real world. You have to learn to source and clean the data, visualize the data, create data pipelines, train and create inference points.
Two courses stand out :
This course will teach you how you can use Amazon SageMaker as your environment for your development and deployment. If you are well conversant with Cloud Engineering, this will be a relatively easy one for you. This doesn’t go into any algorithms but simply teaches to use the wrapper library which SageMaker provides.
Equally good is
Machine Learning with TensorFlow on Google Cloud Platform in coursera.
As the name suggests, you will learn to use the Google Cloud ML Engine to develop and deploy your projects.
Summary
So you have to go through the above 4 phases of learning to become a well-rounded machine learning practitioner, but it is only the start. It is a journey and you have to read, learn and experiment every day. Happy Learning.