Machine Learning (ML) – Complete Guide

This introduction to machine learning tutorial will give you the theory and the tools to help you learn what is machine learning,

What is Machine Learning

Machine learning (ML) is the use of computer algorithms and statistical methods to help computers learn and make decisions from data, without human supervision.

Machine learning is a branch of Artificial Intelligence (AI) and a major component of data science.

Subscribe to my Newsletter

Artificial Intelligence VS Machine Learning VS Deep Learning

Artificial intelligence, machine learning and deep learning or often used interchangeably, but they are not the same.

  • Artificial Intelligence, or AI, is an umbrella term and refers to the science that studies way to build computer algorithms that learn and solve problem in a similar way as human cognitive function.
  • Machine Learning, or ML, is a subset of artificial intelligence (AI). It refers to the set of algorithms that have the ability to learn from data without being explicitly programmed.
  • Deep Learning, or DL, is a subset of machine learning (ML). It refers to a set of algorithms that try to mimic human neural systems, also known as neural networks.

Machine Learning Examples

Machine learning can be used in any field where data is involved.

Here are real-world examples of the application of machine learning:

Image Recognition

Globalforestwatch is using ML on satellite images to distinguish palm plantations from forests to identify the loss of biodiversity at scale. Read this interesting post on monitoring deforestation.

Using machine learning to tackle climate change and monitor biodiversity.



Documents, Images or Videos are often classified using machine learning (document clusters, recommender systems).


Facebook uses machine learning to predict a person’ likelihood to click on an ad (source).


Information Retrieval

Search Engines can use machine learning to help satisfy the user better, but also to improve the efficiency of crawling, indexation and serving of content.

Source: Machine learning for information retrieval

Image Generation

Two striking examples of ML image generation are this-person-does-not-exist that generate random human faces and Imagen that generates images from text.

Here is an example using DALL-E

Source: openai

Video Generation

Facebook’s “Make-A-Video” generates videos from text.

Music Generation creates music using machine learning systems.

Common Machine Learning Tasks

Below are common machine learning tasks that you may be interested in learning about.

  • Natural Language Processing (NLP)
  • Classification
  • Clustering
  • Forecasting

How to Learn Machine Learning?

Beginners with no programming or mathematical background can learn machine learning. The mathematical, statistical and programming skills can be learn with dedicated learning.

To learn machine learning, you need to:

  1. Focus on short term achievable learning. You don’t need to be a data scientist at Google overnight. Within a year you can definitely have a good understanding of the essentials of machine learning.
  2. Overcome mental barriers. People love to promote that machine learning is an incredibly complex world meant only for the geniuses of the world. Truth is, you can leverage some machine learning very early in your learning process.
  3. Choose a programming language. Python, R, Java, C… The list of programming languages that you can use for Machine Learning is very large. Python is convenient with a large community and lot of packages available. R is arguably better for mathematical modules and applications. C is better for performance, but has an incredible steep learning curve.
  4. Find a course or a program. Some prefer regular academic programs in Universities. I prefer online courses, preferably within a platform that has complete programs that will cover the programming and statistical requirement to improve your machine learning skills over time. DataCamp, Coursera, Udemy, EdX, or even YouTube can be an ally.
  5. Follow a learning schedule that you can keep for at least a year. Learning machine learning takes time. Find a moment every day, every week to learn in a structured way. Keep note of your learnings.
  6. Stop and try ideas for yourself. Working on your own projects early on will help you to keep motivated and will provide early return on investment. Even if it is not the best machine learning at first, it is still progress you can be proud of.

If you want to start learning, check out some of the Free Github Repositories to learn data science.

Find a Course in Machine Learning

To get started in machine learning is to find a course that will allow you to get started from the very beginning.

Resources to Learn Machine Learning

Free Machine learning courses

Paid Machine Learning Courses

Types of Machine Learning

The 5 main types of machine are:

  1. Supervised Learning
  2. Unsupervised Learning
  3. Semi-Supervised Learning
  4. Self-Supervised learning
  5. Reinforcement Learning

What is Supervised Learning?

Supervised learning defines an algorithm used in machine learning to train models based on labelled data. Supervised learning is most commonly used for classification and regression problems.

What is Unsupervised Learning?

Unsupervised learning is one of the techniques used in machine learning to train models by finding patterns in unlabelled data. Unsupervised learning is most commonly used for clustering and dimensionality reduction problems.

What is Semi-supervised Learning?

Semi-supervised learning has attributes common to both supervised and unsupervised learning. In semi-supervised learning, part of training data is labelled while the rest is not. Semi-supervised learning is most commonly used in problems that involve large datasets where it would be too resource-intensive to label all the data.

What is Self-supervised Learning?

While semi-supervised learning requires at least some of the data points to be labelled, self-supervised learning requires no labelled data. Instead, it relies on the underlying structure of the data to make predictions.

What is Reinforcement Learning?

Reinforcement learning is a type of machine learning that train models to make a sequence of decisions by maximizing the total reward. It is most commonly used in AI and robotics.

Machine Learning Algorithms

There are a lot of different machine learning algorithms, and some would fall into multiple categories, but I created a mind-map to help visualize the most important machine learning algorithms.

This is just to get a global picture of machine learning and should not be used as a source of truth. For instance, Logistic regression could be both a Classification and a Regression algorithm.

Below shows a table of content format with links to the algorithms that I have written about.

Popular Machine Learning Libraries in Python

There are a number of machine learning libraries available in Python.

Name of LibraryPopular ModulesAlternativesDifficulty to LearnSpecialization
OpenAIGPT-3, CodexLLaMA, BERTHighNLP, AI Research
Scikit-learnClassification, RegressionXGBoost, LightGBMLowGeneral ML
NLTKTokenization, POS TaggingspaCy, TextBlobModerateNLP
spaCytokens, displacynltk, TextBlobEasyNLP
TensorFlowKeras, tf.dataPyTorch, MXNetHighDeep Learning
PyTorchTensors, AutogradTensorFlow, MXNetModerateDeep Learning
KerasSequential, Functional APITensorFlow, PyTorchModerateDeep Learning

Data Science and Machine Learning Process

A machine learning process is an iterative process that data scientists follow to improve their decision-making through better analysis, visualization, interpretation and modelling of their data.

The Data Science Process by Chanin Nantasenamat

Depending on the role, the process may vary, but altogether following this “typical” process help to increase confidence in the results.

Who Can Leverage Machine learning?

  • Machine learning for SEO
  • Machine learning in Data Science
  • Machine Learning for Scientists
  • Machine Learning in Finance
  • Machine Learning in E-commerce
  • Machine Learning in Job Search
  • Machine Learning in Image Recognition

How to Gather Data for Machine Learning

Machine learning requires a lot of data to produce prediction that can be used. Hence, data scientists use many techniques for gathering data to train their machine learning models.

There are three main ways to gather data for machine learning:

  1. Internal Data
  2. APIs
  3. Web Scraping

Internal Data for Machine Learning

There are many sources of internal data that can be used to train machine learning models. From Google Analytics data to customer sales data or even data that your business gathers from things like video cameras, all can be used in Machine learning.

APIs for Machine Learning

Machine learning engineers and data scientists often use application programming interfaces such as the Reddit API or the Wikipedia API to gather publicly available data to train their machine learning models. Internal APIs such as the Google Search Console API can be used to gather internal data too.

Web Scraping for Machine Learning

Web scraping is an essential technique used by data scientists to gather data for machine learning. It provides a way to automate data gathering from the Internet and is the basis of how Large Language Models were all built.

Useful Skills for Machine Learning

There are some important skills that data scientists and machine learning engineers should have:

Machine Learning Books

Hands-on machine learning with scikit-learn keras and tensorflow by Aurélien Geron

Who to Follow in the Machine Learning Community?

Here is an amazing list of people who are shaping Machine Learning community:

Alternatively, you can follow this machine learning list on Twitter.


In this introduction to machine learning, we have learned what machine learning is and how it is different to AI. We also have covered the types of machine learning and which algorithms can be used for each type.

Finally, we have seen what the data science process is and why it is important.

Now, I sure hope that you will keep learning machine learning and share your progress as you go. Good luck.

5/5 - (4 votes)