Professional Documents
Culture Documents
Absolute Beginner's Guide - Masum - Vai PDF
Absolute Beginner's Guide - Masum - Vai PDF
Okay, so you must have heard the buzzword around Machine Learning and Deep
Learning and want to dive deep into it. Good. We need more people with Machine
Learning skills. But the question is, how do you get started?
Worry not, here I will guide you through your journey from an absolute beginner to an
actual beginner 😜. What! We are all learning. So, buckle up, the journey will be fun
and thrilling.
Disclaimer: This guide is based on “my personal” favorite methods to learn Machine
Learning. I have been trying-failing-succeeding in MLDL (Machine Learning and Deep
Learning) stuff for last 8–9 months. So, I am also a beginner, not too different from you,
and my advises are not foolproof. There are many experts who might have better ideas. If
you find some way that works better than mine, please suggest in the comments, I’d
appreciate that.
What Time Is it ⏰?
I think the first thing you need to consider to start learning Machine Learning is, how
much time you have to spare. If you have 3–4 month’s in your sleeve, your schedule, and
learning outcome will be significantly different from someone who has 1 month or less.
My suggestion will be to take your time and absorb it slowly. Take 4–5 months if
necessary (more if that’s necessary too) to learn the basics of Machine Learning well.
Don’t try to rush it in. It’s important to learn the basics right. It’s easy to become tool
dependent in Machine Learning without actually knowing what’s happening inside. But
remember, the tools are always changing. Every month there is a new deep learning
technique that is better than the previous one. Whatever tool you learn will certainly
become obsolete at some point, but the basics will remain the same. So that’s what you
https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047 1/9
2/16/2020 Absolute Beginner’s Guide to Machine Learning and Deep Learning
should be focusing on. But if you don’t have that time, I’ve created a crash course for you
at the end of this blog.
4~5 Months:
Part 1: Start With Machine Learning, 2 months
My absolute favorite way start Machine Learning is the Coursera Machine Learning
course by Stanford University. This course is taught by the legend Andrew Ng himself.
It’s a bit old, and *slightly* outdated, but I’ve seen a lot of sources on the Internet, and
nothing I’ve found is anywhere close to this one. So, if you have time for a 14 week
commitment, definitely do it. But if you are in real real hurry, you can do Week 1 to 5,
and skip the rest.
Coursera Machine Learning course is suitable for any level of learners. If you know how
to multiply two matrices, and have some basic understanding of any programming
language, you are good to go. The course will teach you everything else on the way. Dr.
Ng is a wonderful and inspiring teacher, such that I literally cried when the course
ended. This course has weekly programming assignments and quizzes almost every
week. The programming assignments are done in MATLAB/Octave. But no worry if you
are unfamiliar with MATLAB/Octave, they will teach you on the fly. I can’t stress it
enough, DO THE PROGRAMMING EXERCISES! You’ll learn as much from the exercises
as from the lectures.
This course will dive into classical Machine Learning models such as Linear Regression,
Logistic Regressions, Neural Networks, SVM, PCA, Unsupervised Learning and many
more. This course touches most of the important concepts in a very easy and
understandable manner.
https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047 2/9
2/16/2020 Absolute Beginner’s Guide to Machine Learning and Deep Learning
Edit: I recently looked into Udacity Intro to Deep Learning course. It looks pretty good
for getting started fast.
Expanding The Horizon: By the time you start Neural Network on week 5 at the
Coursera course, you should start looking at some outside resources in parallel with the
course. First, there is a *FANTASTIC* YouTube playlist by 3blue1brown on Neural
Network, it’s a must watch.
I think the Coursera course rushes the Neural Network part a little bit, which deserves
more attention. There is a fantastic free online book on Neural Network and Deep
Learning named, guess what, neuralnetworkanddeeplearning.com!
https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047 3/9
2/16/2020 Absolute Beginner’s Guide to Machine Learning and Deep Learning
The author Michael A. Neilsen dives real deep into every small part of Neural Network
but in a very easy and intuitive way. He will also walk you through a Digit Recognizing
python code that has an accuracy of 97+%. I recommend you read first 2 chapter of this
book, in parallel with the Andrew Ng course. By the time you will be familiar with many
of the concepts, so you can skim through the part you already know. You can, and should
attempt the rest of the book when you will start Deep Learning. Have patience, it’s going
to take time, But it’s worth it.
Once you go through this, now many of the concepts in Machine Learning and Deep
Learning literature will start making sense to you. For fun, head over to Chriss Olah’s
blogs, they’re awesome!
. . .
There are many resources online on Deep Learning. So many that it’s hard to focus. My
best pick is to start with Andrew Ng’s Deep Learning specialization.
www.coursera.org
Note that this specialization is a collection of 5 courses, and they are not free. You can
buy it for $50/month, but if you can’t afford that, they have very generous financial aids.
But plan ahead while applying to these aid, because it takes about 15 day to process.
Make sure to show a good reason why you need the aid in the application, and they will
accept it. If you apply for an aid for a course, make sure to complete it and get the
certificate. Even without buying this course, or getting a financial aid, you can access
most of the course materials. Go to a course page, click “Enroll” and then “Audit this
course”. Most of the videos are also available in YouTube for free.
First 3 courses are for Neural Network and Deep Learning in general, 4th and 5th course
goes into specific topics. If you plan to work on Images, course 4 is what you need. And if
you want to work on sequence data, such as, Natural Language Processing (NLP), audio,
or time series data, course 5 is for you. But if you need course 5 only, I would
recommend you skim through course 4 as well. Some important details are described
there. But in general, the recommended way is to do all 5 courses, in the given order.
Timing: If you are working full time on these courses, I think it’s possible to finish each
week’s content in 1~2 days. So don’t get intimidated by the schedule. But give yourself
some time to breathe between courses.
very new. Many only 2~3 year old. So you won’t often find good tutorials for them. In
those cases, reading the papers will be your only way. And also, the field of Deep
Learning is constantly changing, and nobody knows where it’s headed. So, better make a
habit of reading papers to stay up to date with the Deep Learning world.
. . .
course.fast.ai
They built a library on top of a popular Deep Learning tool named PyTorch, which gives
world class performance in few lines of codes. The philosophy of fast.ai is a bit different.
While Andrew Ng or others teach in a Top down approach (know first, do later) fast.ai
teaches in a bottom up approach (do first, know later). You will build world class image
classifier in the first lecture! The excitement of training your own model will get you
going for the rest of the course. The instructor of this course Jeremy Howard hold’s one
of the highest rank in Kaggle (Kaggle is kind of like CodeForces for Machine Learning).
Two other courses I would mention is CS231n and CS224n by Stanford University.
CS231n is focused on computer vision with Deep Learning, and CS224n focuses on
Sequence Modeling such as Natural Language Processing with Deep Learning. If you are
interested in specializing on these topics, you should take the respective course. I am yet
to take these courses, so I cannot provide much details for now.
. . .
https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047 6/9
2/16/2020 Absolute Beginner’s Guide to Machine Learning and Deep Learning
So this is the end of my 3 part recommendation to Machine Learning and Deep Learning.
It’s about a 5 months schedule. But what if you don’t have the time? It is important to
take time and have a clear understanding of the concepts of ML and DL. But if you must
do quick, here’s my best guess what you should do:
2 Months or Less:
1. Complete the first 5 weeks of the Machine Learning course from Coursera. Do the
programming exercises.
3. Complete Course 1 (Neural Networks and Deep Learning) from Deep Learning
Specialization in Coursera. Do the exercises.
4. If you want to start an Image Processing project, take the 4th course in Coursera
specialization, or if you want to work on Natural Language Processing or sequence
data, take course 5.
5. Search for open source implementation and YouTube videos of projects that you are
interested in. If you are concerned about which language to use, I think it’s good to
stay with Keras (with Tensorflow backend) for a while. Later you can move to
Tensorflow or PyTorch, depending on your needs.
1 Month or Less:
It will be ridiculously hard to sum up the Deep Learning resources in a 1 month
schedule. But if you just need an idea of how Machine Learning works, and then apply it
to your project, here’s my best guess what you should do.
1. Skim through Coursera Machine Learning course Week 1 to 5. Just watch the videos,
grasp the concept. You can skip the MATLAB/Octave tutorials in Week 3.
3. Skim through Course 1 (Neural Networks and Deep Learning) from Deep Learning
Specialization in Coursera.
4. If you want to do an Image Processing project, read the chapter 6 from Nielsen’s
book: http://neuralnetworksanddeeplearning.com/chap6.html
https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047 7/9
2/16/2020 Absolute Beginner’s Guide to Machine Learning and Deep Learning
Or if you need some idea about Sequence Modeling, head over here to Olah’s blog:
http://colah.github.io/posts/2015-08-Understanding-LSTMs/
5. Siraj Raval has some interesting video’s to give you a gist of most ML and DL topics.
6. Search for open source implementation and YouTube videos of projects that you are
interested in. And keep tweaking them to your need. As mentioned earlier, my
recommended language will be Keras with Tensorflow backend.
If you get stuck, there are many groups and communities in Reddit and facebook
where people will help you out. Don’t hesitate to ask for help.
Conclusion:
Machine Learning and Deep Learning is one of the most fascinating technology in the
world right now. And unlike many other sectors, there are less qualified Deep Learning
experts than the industry needs. So in career prospect too Deep Learning is an appealing
field.
One thing to mention, unlike other areas of Computer Science, Deep Learning resources
are less abundant. So many times you will fail and get frustrated. Don’t let those feelings
intimidate you. Reach out to others, ask for help. There are many people who will be
willing to help you out. We are all learning.
And a misconception about MLDL is you need to have a CS background to learn it. That’s
not true at all. You do need some idea about programming to get started, but that’s it.
Many of the biggest experts in today’s Machine Learning world are from other fields of
study. Even the best Deep Learning people I’ve seen are also from other backgrounds
than CS. It is certainly a benefit if you have a CS background, but it’s not too hard to
catch up it if you are from other disciplines.
https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047 8/9
2/16/2020 Absolute Beginner’s Guide to Machine Learning and Deep Learning
Thank you for reading so far. Let me know if you have any questions or suggestions. And
if you want me to elaborate on any topics I’ve mentioned here, or want me to write on
any other topic, let me know that too.
https://medium.com/@youngladesh/absolute-beginners-guide-to-machine-learning-and-deep-learning-7fa032944047 9/9