How to Learn machine learning from scratch and for free!

Swapnil Kumbhar
Fully Understood
Published in
3 min readMay 27, 2019

As a data scientist most common questions asked to me are:-

1. How to learn machine learning if I don’t have foundational knowledge?
2. Should I join any institute which teaches machine learning?
3. How much it will cost me to learn machine learning?
4. Is mathematics used in machine learning too difficult?

Before answering all of the above questions let me clear you what is data science & why it is the future?
There are many definitions of Data science on the internet but in my understanding, the data science is a field in which you find insights, hidden patterns in all kinds of data. With the help of data science, we as a human can extend our knowledge so I think data science is the future. For example, Google has created an AI agent named asAlphaGO” which defeated best go players in the world you can read about it on https://deepmind.com/research/alphago/

Now the definition is understood its time to discuss the answers of the above questions,
So let’s get started with how I have learned ML, In the first month I learned the mathematics required for ML.
In maths, we require the understanding of 3 things,

1. Linear Algebra

2. Calculus (Integration, Derivatives and Partial Derivatives)

3. Probability and Statistics.

After done with the mathematics I learned the things in the following manner,

1. Python.
2. Machine Learning Algorithms with Libraries in python required for ML.
3. Deep Learning Algorithms with Libraries in python required for DL.
4. Solved Case studies on standard datasets.

During steps 2,3 & 4 I got to know where in ML maths is actually being used and how much of it is used.
While I was learning about deep learning I got to know about learning approaches, mainly about 2 approaches

1. Bottom-Up Approach to learning
2. Top-Down Approach to learning

1. Bottom-Up Approach:-
In this approach of learning first you will learn the fundamental building blocks, then by piecing together these blocks, you learn the complex concepts.
2. Top-Down Approach:-
In this approach of learning you first take the bird-eye view of concept by treating fundamental blocks as black-boxes. This step gives us an overview of the concept, then we get in greater detail about the black boxes. In short, this approach starts with the bigger picture, thereafter breaking the bigger picture into smaller segments.

Now you can tell that while learning ML I first studied mathematics and then algorithms of ML hence I have used a Bottom-Up approach. But I would suggest you go for the Top-Down approach because when I was learning the fundamental blocks like mathematics I was not aware of the why and where.

Why these concepts are useful?
Where are they exactly used ?.

I was learning what and how but according to me that’s not enough to understand the concept fully. So to answer How to learn machine learning if I don’t have a foundational knowledge of it? you should do the following steps,

1. Learn Python from- https://www.kaggle.com/learn/python
The above link teaches the python language essentials for machine learning.

2. Get a bird-eye view of Mathematics by using these links:-
Linear Algebra :- https://www.youtube.com/watch?v=fNk_zzaMoSs&list=PLZHQObOWTQDPD3MizzM2xVFitgF8hE_ab

Calculus :- https://www.youtube.com/watch?v=WUvTyaaNkzM&list=PLZHQObOWTQDMsr9K-rj53DwVRMYO3t5Yr

The above two youtube playlists give you a conceptual understanding of Linear algebra and Calculus.

Probability and Statistics:- https://seeing-theory.brown.edu/
The above link gets you to a great website which has interactive graphs/animations/charts with which you can play and understand the concepts.

3. Machine Learning Course:- Applied ML Course by Andreas Muller He is author of book Introduction to Machine Learning with Python and one of the core developer of scikit-learn library.

4. Deep Learning Course:- https://course.fast.ai/
After completing the above two courses you will have a great understanding of concepts used in ML and DL. According to me, these two are the best courses which teach ML & DL for free.

5. Learn ML and DL Libraries from Respective Documentation.
6. Solve Standard DataSet Problems.
7. Try to implement standard algorithms from scratch.

You can also get hands-on experience on python, ML, DL on the link:- https://www.kaggle.com/learn/overview

After completing the above steps now learn to read research papers and try to implement them for better understanding, Also try to participate in hackathons, kaggle competitions to show your skills.

So start learning ML now… Good Luck!

--

--