Machine Learning Roadmap

This Machine Learning Roadmap is a free, full-text syllabus of 150 lessons in 38 stages, starting with Introduction and ending with Natural Language Processing. It suits anyone working towards a Machine Learning role, from a first-year student to a working developer changing tracks. There is no fixed length: every lesson is open from the start, so you go at your own pace and skip what you already know.

Last updated

Getting Started0%
Halfway
Almost There
Complete

Reading is open to everyone. Sign in to join this roadmap and track what you finish.

Continue learning

1. IntroductionIntroduction

0%

Introduction

4 topics · 3 sub-topics · 0 completed

0%

Full syllabus: every lesson in the Machine Learning roadmap

38 stages and 150 lessons, in the order the roadmap suggests. Every lesson is free to read and open from the start.

  1. Stage 1: Introduction

    • Introduction

      Machine learning is about creating computer programs that can learn from data. Instead of being explicitly programmed to perform a task, these programs improve their performance on a specific task as they are exposed to more data. This learning process allows them to make predictions or decisions without being…

    • What is an ML Engineer?

      An ML Engineer focuses on building, deploying, and maintaining machine learning systems in production. They bridge the gap between data science and software engineering, taking models developed by data scientists and making them scalable, reliable, and efficient for real-world applications. This involves tasks like…

    • ML Engineer vs AI Engineer

      An ML Engineer primarily concentrates on building, deploying, and maintaining machine learning models in production environments. An AI Engineer, on the other hand, typically has a broader scope, encompassing the design and development of entire AI systems, which may include components beyond just machine learning,…

    • Skills and Responsibilities

      Machine learning roles require a blend of technical expertise and practical abilities. These roles involve designing, developing, and deploying machine learning models to solve real-world problems. Key skills include proficiency in programming languages like Python, a strong understanding of statistical concepts,…

  2. Stage 2: Calculus

    • Calculus

      Calculus is a branch of mathematics that deals with continuous change. It provides tools and techniques for understanding rates of change and accumulation. The two main branches are differential calculus, which focuses on finding the rate of change of a function, and integral calculus, which focuses on finding the…

    • Derivatives, Partial Derivatives

      A derivative measures how a function changes as its input changes. Imagine a curve on a graph; the derivative at a specific point tells you the slope of the line tangent to that curve at that point. When dealing with functions of multiple variables, we use partial derivatives. A partial derivative measures how a…

    • Chain rule of derivation

      The chain rule is a formula for finding the derivative of a composite function. If you have a function that's made up of one function inside another (like sin(x²) ), the chain rule lets you break down the differentiation process. It states that the derivative of the composite function is the derivative of the outer…

    • Gradient, Jacobian, Hessian

      The gradient, Jacobian, and Hessian are fundamental tools from calculus used to analyze and optimize functions, especially in the context of machine learning. The gradient of a scalar-valued function of multiple variables is a vector containing the partial derivatives with respect to each variable, indicating the…

  3. Stage 3: Linear Algebra

    • Linear Algebra

      Linear algebra is a branch of mathematics that deals with vector spaces and linear transformations between those spaces. It involves concepts like vectors, matrices, and systems of linear equations, and provides tools for manipulating and solving problems involving these entities. Operations such as matrix…

    • Matrix & Matrix Operations

      A matrix is a rectangular array of numbers, symbols, or expressions, arranged in rows and columns. Matrix operations are the rules and procedures for manipulating these matrices. These operations include addition, subtraction, multiplication, transposition (flipping rows and columns), and finding the inverse of a…

    • Scalars, Vectors, Tensors

      Scalars, vectors, and tensors are fundamental building blocks for representing data in machine learning. A scalar is a single numerical value, like a temperature reading. A vector is an ordered array of numbers, representing a point in space or a feature set for a single data instance. A tensor is a generalization…

    • Singular Value Decomposition

      Singular Value Decomposition (SVD) is a matrix factorization technique that decomposes a rectangular matrix into three other matrices: a unitary matrix, a diagonal matrix of singular values, and another unitary matrix. This decomposition reveals the underlying structure of the original matrix, highlighting its…

    • Determinants, inverse of Matrix

      A determinant is a scalar value that can be computed from the elements of a square matrix and encodes certain properties of the linear transformation described by the matrix. The inverse of a matrix, denoted as A⁻¹, is another matrix that, when multiplied by the original matrix A, results in the identity matrix.…

    • Eigenvalues, Diagonalization

      Eigenvalues are special numbers associated with a square matrix that, when multiplied by a corresponding eigenvector, result in the same vector scaled by that eigenvalue. Diagonalization is the process of transforming a square matrix into a diagonal matrix, where all off-diagonal elements are zero, using its…

  4. Stage 4: Discrete Mathematics

    • Discrete Mathematics

      Discrete mathematics deals with mathematical structures that are fundamentally discrete rather than continuous. This means it focuses on objects that have distinct, separated values, like integers, graphs, and logical statements. It provides the theoretical foundations and tools for reasoning about and modeling…

  5. Stage 5: Python

    • Python

      Python is an interpreted high-level general-purpose programming language. Its design philosophy emphasizes code readability with its significant use of indentation. Its language constructs as well as its object-oriented approach aim to help programmers write clear, logical code for small and large-scale projects.…

  6. Stage 7: Probability

    • Probability

      Probability is a way to quantify the likelihood of an event occurring. It provides a numerical measure, ranging from 0 to 1, that represents the likelihood of a specific outcome occurring. A probability of 0 indicates impossibility, while a probability of 1 signifies certainty. It's a fundamental concept for…

    • Basics of Probability

      Probability is a way to quantify the likelihood of an event occurring. It provides a numerical measure, ranging from 0 to 1, representing the chance that a specific outcome will happen. A probability of 0 indicates impossibility, while a probability of 1 signifies certainty. Understanding probability involves…

    • Bayes Theorem

      Bayes' Theorem is a mathematical formula that describes how to update the probability of a hypothesis based on new evidence. It essentially calculates the probability of an event occurring given that another event has already occurred. The theorem uses prior knowledge of conditions related to the event to refine…

    • Random Variances, PDFs

      A random variable is a variable whose value is a numerical outcome of a random phenomenon. It can be discrete (taking on a finite or countably infinite number of values) or continuous (taking on any value within a given range).

    • Types of Distribution

      A distribution describes how data is spread or arranged across its possible values. It provides a way to understand the probability of different outcomes occurring within a dataset. Different types of distributions, like normal, uniform, or binomial, each have unique characteristics that determine the likelihood of…

  7. Stage 6: Statistics

    • Statistics

      Statistics is the science of collecting, analyzing, interpreting, presenting, and organizing data. It is a branch of mathematics that deals with the collection, analysis, interpretation, presentation, and organization of data. It is used in a wide range of fields, including science, engineering, medicine, and…

    • Basic concepts

      Statistics is the science of collecting, analyzing, interpreting, and presenting data. It provides the foundation for understanding patterns and making inferences from data, which is crucial for machine learning algorithms. Here are 10 basic statistical concepts:

    • Descriptive Statistics

      Descriptive statistics involves methods for summarizing and organizing data in a meaningful way. It focuses on describing the main features of a dataset using measures like mean, median, mode, standard deviation, and range. These techniques help to understand the central tendency, variability, and distribution of…

    • Graphs & Charts

      Graphs and charts are visual representations of data. They use symbols like bars, lines, and slices to display patterns, trends, and relationships within datasets. These visual tools help in understanding complex information quickly and making data more accessible and interpretable.

    • Inferential Statistics

      Inferential statistics uses sample data to make inferences or predictions about a larger population. Instead of examining the entire population, which is often impractical or impossible, we analyze a representative subset (the sample) and then use statistical methods to draw conclusions about the characteristics of…

  8. Stage 8: Object Oriented Programming

    • Object Oriented Programming

      In Python, object-oriented Programming (OOPs) is a programming paradigm that uses objects and classes in programming. It aims to implement real-world entities like inheritance, polymorphism, encapsulation, etc., in programming. The main concept of OOPs is to bind the data and the functions that work on that…

  9. Stage 9: Basic Syntax

    • Basic Syntax

      Python's basic syntax defines the rules for writing code that the interpreter can understand and execute. This includes how to structure lines of code, use indentation to define code blocks, write comments for explanation, assign values to variables, and perform basic operations using operators. Understanding these…

    • Variables and Data Types

      Variables are named storage locations in a computer's memory used to hold data. Data types classify the kind of value a variable can hold, such as numbers (integers, decimals), text (strings), or boolean values (true/false). Understanding variables and data types is fundamental to writing any program, as it…

    • Data Structures

      Python provides several built-in data structures for organizing and storing data. These structures include lists, which are ordered and mutable collections; tuples, which are ordered and immutable collections; dictionaries, which store data in key-value pairs; and sets, which are unordered collections of unique…

    • Loops

      Loops in Python are a way to repeat a block of code multiple times. They allow you to execute a set of instructions over and over, either a specific number of times or until a certain condition is met. Python has two main types of loops: for loops, which are typically used to iterate over a sequence (like a list or…

    • Conditionals

      Conditional statements in Python allow you to execute different blocks of code based on whether a certain condition is true or false. The most common conditional statements are if, elif (else if), and else. An if statement checks a condition, and if it's true, the code block under it runs. elif allows you to check…

    • Exceptions

      Exceptions in Python are events that disrupt the normal flow of a program's execution. They occur when the interpreter encounters an error during runtime, such as trying to divide by zero or accessing an index that's out of bounds in a list. When an exception occurs, Python creates an exception object. If the…

    • Functions, Builtin Functions

      Functions are reusable blocks of code that perform a specific task. They take inputs, process them, and return an output. Python provides many built-in functions like print() for displaying output, len() for finding the length of a sequence, and type() for determining the data type of a variable. These built-in…

  10. Stage 10: Essential libraries

    • Essential libraries

      Python's popularity in data analysis stems from its rich ecosystem of specialized libraries. NumPy provides powerful tools for numerical computation, particularly with arrays and matrices. Pandas offers data structures like DataFrames, making it easy to organize, manipulate, and analyze tabular data. For…

    • Matplotlib

      Matplotlib is a paramount data visualization library used extensively by data analysts for generating a wide array of plots and graphs. Through Matplotlib, data analysts can convey results clearly and effectively, driving insights from complex data sets. It offers a hierarchical environment which is very natural…

    • Seaborn

      Seaborn is a robust, comprehensive Python library focused on the creation of informative and attractive statistical graphics. As a data analyst, seaborn plays an essential role in elaborating complex visual stories with the data. It aids in understanding the data by providing an interface for drawing attractive and…

    • Numpy

      NumPy is a fundamental Python library used for numerical computing. It provides support for large, multi-dimensional arrays and matrices, along with a collection of mathematical functions to operate on these arrays efficiently. These arrays are homogeneous, meaning they contain elements of the same data type, which…

    • Pandas

      Pandas is a library written for the Python programming language for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series.

  11. Stage 11: Data Sources

    • Data Sources

      Sources of data are origins or locations from which data is collected, categorized as primary (direct, firsthand information) or secondary (collected by others). Common primary sources include surveys, interviews, experiments, and sensor data. Secondary sources encompass databases, published reports, government…

    • Databases (SQL, No-SQL)

      Databases are organized collections of data, stored and accessed electronically. SQL databases, like MySQL or PostgreSQL, use a structured, table-based format with a predefined schema, enforcing relationships between data through keys. NoSQL databases, such as MongoDB or Cassandra, offer more flexible data models…

    • Internet

      The internet serves as a vast repository of information that can be leveraged for machine learning projects. This includes publicly available datasets, web pages that can be scraped for relevant information, social media platforms where user-generated content provides insights into opinions and trends, and online…

    • APIs

      Application Programming Interfaces, better known as APIs, play a fundamental role in the work of data analysts, particularly in the process of data collection. APIs are sets of protocols, routines, and tools that enable different software applications to communicate with each other. In data analysis, APIs are used…

    • Mobile Apps

      Mobile app data refers to the information generated and collected from applications running on mobile devices like smartphones and tablets. This data encompasses a wide range of user interactions, device characteristics, and app performance metrics. It can include user demographics, in-app behavior, location data,…

    • IoT

      The Internet of Things (IoT) refers to the network of physical devices, vehicles, home appliances, and other items embedded with electronics, software, sensors, and actuators that enable these objects to connect and exchange data. These devices continuously generate vast amounts of data reflecting their status,…

  12. Stage 12: Data Formats

    • Data Formats

      Data formats define the structure in which data is organized and stored. These formats dictate how information is encoded, allowing computers to interpret and process it effectively. Common examples include CSV (Comma Separated Values) for tabular data, JSON (JavaScript Object Notation) for structured data with…

  13. Stage 13: Preprocessing Techniques

    • Preprocessing Techniques

      Preprocessing techniques in data cleaning involve transforming raw data into a more suitable format for machine learning models. This often includes handling missing values by either imputing them with estimated values or removing rows/columns containing them. It also encompasses scaling numerical features to a…

  14. Stage 14: What is Machine Learning?

    • What is Machine Learning?

      Machine learning is a field of computer science that focuses on enabling computers to learn from data without being explicitly programmed. Instead of relying on pre-defined rules, machine learning algorithms identify patterns, make predictions, and improve their performance over time as they are exposed to more…

    • CSV

      CSV or Comma Separated Values files play an integral role in data collection for data analysts. These file types allow the efficient storage of data and are commonly generated by spreadsheet software like Microsoft Excel or Google Sheets, but their simplicity makes them compatible with a variety of applications…

    • Excel

      Excel files are a common way to store data in a structured format using rows and columns. Each cell in the spreadsheet can hold different types of data, like numbers, text, or dates. These files are often used for organizing, analyzing, and visualizing data because they are easy to create and manipulate using…

    • JSON

      JavaScript Object Notation (JSON) is a standard text-based format for representing structured data based on JavaScript object syntax. It is commonly used for transmitting data in web applications (e.g., sending some data from the server to the client, so it can be displayed on a web page, or vice versa).

    • Parquet

      Parquet is a columnar storage format designed for efficient data storage and retrieval. Unlike row-oriented formats, Parquet stores data by columns, which allows for better compression and faster query performance when only a subset of columns are needed. This makes it particularly well-suited for big data…

    • Other Data Formats

      Beyond the common formats like CSV, Excel, JSON, and Parquet, data can exist in a variety of other structures. These include formats optimized for specific applications or data types. For instance, images are often stored as JPEGs or PNGs, while audio data might be in WAV or MP3 format. Relational databases store…

    • Data Cleaning

      Data cleaning, which is often referred as data cleansing or data scrubbing, is one of the most important and initial steps in the data analysis process. As a data analyst, the bulk of your work often revolves around understanding, cleaning, and standardizing raw data before analysis. Data cleaning involves…

    • Feature Engineering

      Feature engineering is the process of transforming raw data into features that better represent the underlying problem to the predictive models, resulting in improved model accuracy. This involves selecting, transforming, and creating new features from existing data. The goal is to extract more information from the…

    • Feature Scaling & Normalization

      Feature scaling is a preprocessing technique in machine learning that transforms numerical features to a common scale, ensuring they contribute equally to the model by preventing features with larger ranges from dominating, which is particularly important for algorithms sensitive to feature scales like gradient…

    • Dimensionality Reduction

      Dimensionality reduction is the process of reducing the number of random variables under consideration by obtaining a set of principal variables. It can be divided into feature selection and feature extraction. Feature selection selects a subset of the original features, while feature extraction transforms the data…

    • Feature Selection

      Feature selection is the process of choosing a subset of the most relevant features from your original dataset. The goal is to reduce the dimensionality of the data by removing irrelevant, redundant, or noisy features. This can lead to simpler models, improved model performance (e.g., accuracy, speed), and better…

  15. Stage 15: Types of Machine Learning

    • Types of Machine Learning

      Machine learning algorithms learn from data to make predictions or decisions. These algorithms are broadly categorized into supervised, unsupervised, and reinforcement learning. Supervised learning uses labeled data to train a model to map inputs to outputs. Unsupervised learning, on the other hand, works with…

    • Supervised Learning

      Supervised learning is a type of machine learning where an algorithm learns from a labeled dataset. This means that each data point in the dataset is paired with a corresponding correct output, or "label." The algorithm's goal is to learn a function that maps inputs to outputs, so that when given new, unseen…

    • Unsupervised Learning

      Unsupervised learning is a type of machine learning where the algorithm learns patterns from unlabeled data. Unlike supervised learning, there are no pre-defined correct answers or target variables provided to guide the learning process. Instead, the algorithm explores the data to discover hidden structures,…

    • Semi-supervised Learning

      Semi-supervised learning is a type of machine learning where the training data contains both labeled and unlabeled examples. The goal is to leverage the information from the unlabeled data to improve the performance of a model that would otherwise be trained solely on the labeled data. This approach is particularly…

    • Self-supervised Learning

      Self-supervised learning is a type of machine learning where the model learns from unlabeled data by creating its own supervisory signals. This is achieved by masking parts of the input data and training the model to predict the masked portions based on the remaining data. In essence, the data itself provides the…

    • Reinforcement Learning

      Reinforcement learning is a type of machine learning where an agent learns to make decisions in an environment to maximize a reward. The agent interacts with the environment, takes actions, and receives feedback in the form of rewards or penalties. Through trial and error, the agent learns a policy that maps states…

  16. Stage 16: Scikit-learn

    • Scikit-learn

      Scikit-learn is a free and open-source Python library that provides simple and efficient tools for data analysis and machine learning. It features various algorithms for classification, regression, clustering, dimensionality reduction, model selection, and preprocessing. It's built on NumPy, SciPy, and matplotlib,…

    • Data Loading

      Data loading in Scikit-learn refers to the process of importing datasets into a format that can be used for machine learning tasks. This involves reading data from various sources, such as CSV files, databases, or even directly from NumPy arrays, and structuring it into a format that Scikit-learn's algorithms can…

    • Train - Test Data

      When building a machine learning model, we usually split our dataset into two parts: a training set and a testing set. The training set is used to teach the model how to make predictions, while the testing set is used to evaluate how well the model has learned. This helps us understand if the model can generalize…

    • Data Preparation

      Scikit-learn provides tools to get your data ready for machine learning models. This often involves cleaning, transforming, and scaling your data. Cleaning might mean handling missing values using techniques like imputation. Transformation can involve converting categorical features into numerical ones using…

    • Model Selection

      Model selection is the process of choosing the best machine learning model from a set of candidate models for a given task. Scikit-learn offers a wide range of models, including linear models (like linear regression and logistic regression), tree-based models (like decision trees and random forests), support vector…

    • Tuning

      Scikit-learn provides tools to find the best settings (hyperparameters) for your machine learning models. Instead of manually trying different values, you can use techniques like GridSearchCV or RandomizedSearchCV. These methods systematically test a range of hyperparameter combinations using cross-validation to…

    • Prediction

      In scikit-learn, prediction means using a trained machine learning model to estimate an output (or target variable) for new, unseen data. After a model is trained on a dataset, it learns the relationship between the input features and the target variable. To make a prediction, you provide the model with new input…

  17. Stage 17: What is Supervised Learning?

    • What is Supervised Learning?

      Supervised learning is a type of machine learning where an algorithm learns from a labeled dataset. This means that each data point in the dataset is paired with a corresponding correct output, or "label." The algorithm's goal is to learn a function that maps inputs to outputs, so that when given new, unseen…

  18. Stage 18: Classification

    • Classification

      Classification is a type of supervised learning where the goal is to assign data points to predefined categories or classes. Given a set of labeled data (where each data point has a known class), the algorithm learns a mapping function that can predict the class label for new, unseen data. The output is a discrete…

    • K-Nearest Neighbors (KNN)

      K-Nearest Neighbors (KNN) is a simple algorithm used for classifying data points based on their proximity to other data points. Given a new, unclassified data point, KNN identifies the 'K' closest data points (neighbors) from the training dataset. The class that appears most frequently among these 'K' neighbors is…

    • Logistic Regression

      Logistic Regression is a method used to predict the probability of a categorical outcome. Instead of predicting a continuous value, it predicts whether something belongs to a certain category (like yes/no, true/false, or 0/1). It does this by using a logistic function (also known as a sigmoid function) to squeeze…

    • Support Vector Machines

      Support Vector Machines (SVMs) are a type of supervised learning algorithm used for classification and regression. They work by finding an optimal hyperplane that separates data points belonging to different classes with the largest possible margin. This hyperplane acts as a decision boundary, and new data points…

    • Decision Trees, Random Forest

      Decision Trees are a way to make predictions by learning decision rules from data features. Imagine a flowchart where each internal node represents a test on an attribute (like "Is the color red?"), each branch represents the outcome of the test, and each leaf node represents a class label (like "apple" or…

    • Gradient Boosting Machines

      Gradient Boosting Machines are a type of ensemble learning method that combines multiple weak learners, typically decision trees, to create a strong predictive model for classification tasks. The algorithm works iteratively, with each new tree trained to correct the errors made by the previous trees. This is…

  19. Stage 19: Regression

    • Regression

      Regression in supervised learning is a method used to predict a continuous numerical value. It works by finding the relationship between input features (independent variables) and a target variable (dependent variable). The goal is to build a model that can accurately estimate the target variable's value based on…

    • Linear Regression

      Linear regression is a simple method used to find the best straight line that describes the relationship between a dependent variable (the one you're trying to predict) and one or more independent variables (the ones you're using to make the prediction). It works by finding the line that minimizes the sum of the…

    • Polynomial Regression

      Polynomial regression is a type of supervised learning algorithm used when the relationship between the input features and the output variable is non-linear. Instead of fitting a straight line, it fits a polynomial equation to the data. This allows the model to capture curves and more complex relationships,…

    • Lasso

      Lasso (Least Absolute Shrinkage and Selection Operator) regression is a linear regression technique that adds a penalty term to the ordinary least squares (OLS) objective function. This penalty is based on the absolute values of the coefficients, effectively shrinking some coefficients towards zero. This shrinkage…

    • Ridge

      Ridge Regression is a linear regression technique that adds a penalty to the size of the coefficients. This penalty, known as L2 regularization, shrinks the coefficient values towards zero. By adding this constraint, Ridge Regression aims to reduce the model's complexity and prevent overfitting, especially when…

    • ElasticNet Regularization

      Elastic Net is a regularization technique that combines the penalties of both L1 (Lasso) and L2 (Ridge) regularization methods. It aims to improve model performance by addressing limitations of each individual method, particularly in situations where there are many correlated features. By using a linear combination…

  20. Stage 20: What is Unsupervised Learning?

    • What is Unsupervised Learning?

      Unsupervised learning is a type of machine learning where the algorithm learns patterns from unlabeled data. Unlike supervised learning, there are no pre-defined correct answers or target variables provided to guide the learning process. Instead, the algorithm explores the data to discover hidden structures,…

  21. Stage 22: Clustering

    • Clustering

      Clustering is a way to automatically group similar data points together. Imagine you have a bunch of scattered objects and you want to organize them into piles based on how alike they are. Clustering algorithms do this by finding patterns in the data, grouping data points that are close to each other in some way,…

  22. Stage 21: Dimensionality Reduction

    • Dimensionality Reduction

      Dimensionality reduction is the process of reducing the number of random variables under consideration by obtaining a set of principal variables. It can be divided into feature selection and feature extraction. Feature selection selects a subset of the original features, while feature extraction transforms the data…

    • Principal Component Analysis

      Principal Component Analysis (PCA) is a technique used to reduce the number of variables in a dataset while preserving the most important information. It transforms the original variables into a new set of variables called principal components, which are ordered by the amount of variance they explain. The first…

    • Autoencoders

      Autoencoders are a type of neural network used to learn efficient data representations in an unsupervised manner. They work by compressing the input data into a lower-dimensional "code" and then reconstructing the original input from this compressed representation. By forcing the network to learn a compressed…

  23. Stage 23: What is Reinforcement Learning?

    • What is Reinforcement Learning?

      Reinforcement learning is a type of machine learning where an agent learns to make decisions in an environment to maximize a reward. The agent interacts with the environment, takes actions, and receives feedback in the form of rewards or penalties. Through trial and error, the agent learns a policy that maps states…

    • Exclusive

      Exclusive clustering, also known as hard clustering, is a type of clustering where each data point can only belong to one cluster. This means there's no overlap between clusters; a data point is definitively assigned to a single group. The goal is to partition the data into distinct, non-overlapping clusters based…

    • Overlapping

      Overlapping clustering allows data points to belong to multiple clusters simultaneously. Unlike traditional "hard" clustering where each point is assigned to only one cluster, overlapping clustering acknowledges that data points can exhibit characteristics of several groups. This is particularly useful when dealing…

    • Hierarchical

      Hierarchical clustering is a method of grouping data points into clusters based on their similarity, building a hierarchy of clusters. It starts by treating each data point as its own cluster and then iteratively merges the closest clusters until only one cluster remains, or a stopping criterion is met. This…

    • Probabilistic

      Probabilistic clustering assumes that the data is generated from a mixture of probability distributions. Instead of assigning each data point to a single cluster, it provides the probability of a data point belonging to each cluster. A common example is the Gaussian Mixture Model (GMM), where it's assumed that the…

  24. Stage 24: What is Model Evaluation?

    • What is Model Evaluation?

      Model evaluation is the process of assessing how well a machine learning model performs on a given dataset. It involves using various metrics and techniques to quantify the model's accuracy, reliability, and generalization ability. This helps determine if the model is suitable for deployment and whether further…

  25. Stage 25: Why is it important?

    • Why is it important?

      Model evaluation is the process of assessing how well a machine learning model performs on a given dataset. It involves using various metrics and techniques to quantify the model's accuracy, reliability, and generalization ability. This assessment helps determine if the model is suitable for deployment and provides…

  26. Stage 26: Metrics to Evaluate

    • Metrics to Evaluate

      Model evaluation metrics are quantitative measures used to assess the performance of a machine learning model. These metrics provide insights into how well the model is generalizing to unseen data and help in comparing different models or tuning hyperparameters. They quantify various aspects of model behavior, such…

    • Accuracy

      Accuracy measures how often a machine learning model correctly predicts the outcome. It's calculated by dividing the number of correct predictions by the total number of predictions made. The formula for accuracy is: (Number of Correct Predictions) / (Total Number of Predictions).

    • Precision

      Precision measures how accurate a model's positive predictions are. It tells you, out of all the instances the model predicted as positive, what proportion were actually positive. In simpler terms, it answers the question: "When the model says something is true, how often is it actually true?". The formula for…

    • F1-Score

      The F1-score is a way to measure how accurate a model is, considering both precision and recall. Precision tells you how many of the positive predictions made by the model were actually correct. Recall tells you how many of the actual positive cases the model was able to identify. The F1-score balances these two…

    • Recall

      Recall measures how well a model identifies all the actual positive cases. It answers the question: "Of all the actual positive instances, how many did the model correctly predict as positive?". A high recall means the model is good at minimizing false negatives. The formula for recall is: Recall = True Positives /…

    • ROC-AUC

      ROC-AUC, or Receiver Operating Characteristic Area Under the Curve, is a performance measurement for classification problems at various threshold settings. ROC is a probability curve that plots the True Positive Rate (TPR) against the False Positive Rate (FPR) at different threshold values. AUC measures the entire…

    • Log Loss

      Log Loss, also known as cross-entropy loss, quantifies the performance of a classification model where the prediction input is a probability value between 0 and 1. It measures the uncertainty of the model's predicted probabilities compared to the actual labels. Lower Log Loss values indicate better calibrated…

    • Confusion Matrix

      A confusion matrix is a table that summarizes the performance of a classification model. It displays the counts of true positive, true negative, false positive, and false negative predictions, allowing for a detailed analysis of the model's accuracy and types of errors it makes. This breakdown helps in…

    • Deep-Q Networks

      Deep Q-Networks (DQNs) are a type of reinforcement learning algorithm that combines Q-learning with deep neural networks. Instead of using a traditional Q-table to store Q-values (which represent the expected reward for taking a specific action in a specific state), DQNs use a neural network to approximate the…

    • Policy Gradient

      Policy Gradient methods are a type of reinforcement learning algorithm that directly optimizes the policy function, which maps states to actions. Instead of learning a value function (like Q-learning) and then deriving a policy from it, policy gradient methods directly learn the optimal policy by adjusting its…

    • Actor-Critic Methods

      Actor-Critic methods in reinforcement learning are a type of algorithm that combines the strengths of both value-based and policy-based approaches. They use two separate models: an "actor" that learns the optimal policy (how to act), and a "critic" that estimates the value function (how good a state or action is).…

    • Q-Learning

      Q-Learning is a type of reinforcement learning algorithm that aims to find the best action to take given the current state. It works by learning a "Q-function," which estimates the expected cumulative reward for taking a specific action in a particular state and following the optimal policy thereafter. This…

  27. Stage 27: Validation Techniques

    • Validation Techniques

      Validation techniques are methods used to estimate how well a machine learning model will generalize to unseen data. They involve splitting the available data into different subsets: a training set used to train the model, and a validation set used to evaluate the model's performance during training or…

    • K-Fold Cross Validation

      K-Fold Cross Validation is a technique used to assess how well a machine learning model will generalize to an independent dataset. It works by dividing the available data into k equally sized folds or subsets. The model is then trained k times, each time using k-1 folds as the training set and the remaining fold as…

    • LOOCV

      Leave-One-Out Cross-Validation (LOOCV) is a specific type of cross-validation where each single data point in the dataset is used as the test set, while the remaining data points form the training set. This process is repeated for every data point, resulting in as many models being trained and evaluated as there…

  28. Stage 28: Neural Network (NN) Basics

    • Neural Network (NN) Basics

      A neural network is a computational model inspired by the structure and function of biological neural networks. It consists of interconnected nodes, called neurons, organized in layers. These neurons process and transmit signals, learning complex patterns from data through adjusting the strengths of the connections…

  29. Stage 29: Deep Learning Libraries

    • Deep Learning Libraries

      Deep learning relies heavily on specialized Python libraries that provide pre-built functions and tools for building and training neural networks. TensorFlow, developed by Google, is a widely used library known for its flexibility and scalability. PyTorch, created by Facebook, is another popular choice, favored for…

  30. Stage 30: Deep Learning Architectures

    • Deep Learning Architectures

      Deep learning architectures are the specific arrangements of layers within a neural network that define how data is processed and transformed. These architectures consist of interconnected nodes (neurons) organized in layers, where each layer performs a specific computation. Different architectures are designed to…

  31. Stage 31: Convolutional Neural Network

    • Convolutional Neural Network

      Convolutional Neural Networks (CNNs) are a specialized type of artificial neural network primarily used for processing data that has a grid-like topology, such as images. They employ convolutional layers to automatically and adaptively learn spatial hierarchies of features from the input data. These layers use…

    • Convolution

      Convolution is a mathematical operation that involves sliding a filter (also known as a kernel) over an input image or feature map. At each location, the filter performs element-wise multiplication with the corresponding part of the input, and then sums the results. This sum becomes a single value in the output…

    • Pooling

      Pooling is a downsampling technique used in convolutional neural networks (CNNs) to reduce the spatial dimensions of feature maps. It summarizes the features present in a region of the feature map into a single value. This helps to reduce the computational cost, control overfitting, and make the network more robust…

    • Padding

      Padding, in the context of convolutional neural networks, refers to adding extra layers of "pixels" or values around the input image or feature map. This is typically done with zeros (zero-padding), but other values can be used. The primary purpose of padding is to control the spatial size of the output feature…

    • Strides

      In convolutional neural networks, a stride determines how many pixels the filter (or kernel) shifts horizontally and vertically during the convolution operation. A stride of 1 means the filter moves one pixel at a time, resulting in a more detailed feature map. A larger stride, like 2 or 3, causes the filter to…

    • TensorFlow

      TensorFlow is an open-source software library created by Google for numerical computation and large-scale machine learning. It provides a flexible architecture and tools that allow users to easily build and deploy machine learning models, particularly deep neural networks. TensorFlow excels at handling complex…

    • Keras

      Keras is a high-level, user-friendly neural networks API written in Python. It acts as an interface for several lower-level backends like TensorFlow, CNTK, and Theano. This allows developers to quickly prototype and build deep learning models without needing to delve into the complexities of the underlying…

    • Scikit-learn

      Scikit-learn is a popular Python library mainly used for traditional machine learning tasks like classification, regression, and clustering. While it's not primarily designed for deep learning, it does offer basic tools for creating simple neural networks, specifically multi-layer perceptrons (MLPs). You can use…

    • PyTorch

      PyTorch is an open-source machine learning framework primarily developed by Meta AI. It's used for a variety of applications, including computer vision, natural language processing, and reinforcement learning. PyTorch is known for its dynamic computation graph, which allows for more flexibility and easier debugging…

    • Perceptron, Multi-layer Perceptrons

      A perceptron is a fundamental building block of neural networks, acting as a single-layer linear classifier. It takes several inputs, multiplies each by a weight, sums them up, and then applies an activation function to produce an output. Multi-layer perceptrons (MLPs) extend this concept by stacking multiple…

    • Forward propagation

      Forward propagation is the process of feeding input data through a neural network to generate an output. It involves taking the inputs, multiplying them by weights, adding biases, and then passing the result through an activation function at each layer of the network. This process is repeated layer by layer until…

    • Back Propagation

      Backpropagation is a fundamental algorithm used to train artificial neural networks. It works by calculating the gradient of the loss function with respect to the network's weights. This gradient is then used to adjust the weights, iteratively reducing the error between the network's predictions and the actual…

    • Activation Functions

      Activation functions in neural networks determine the output of a node given an input or set of inputs. They introduce non-linearity into the network, allowing it to learn complex patterns and relationships in data. Without activation functions, a neural network would simply be a linear regression model, severely…

    • Loss Functions

      Loss functions measure how well the network's predictions match the actual values. They quantify the difference between the predicted output and the true output for a given input. The goal during training is to minimize this loss, guiding the network to adjust its internal parameters (weights and biases) to make…

  32. Stage 32: Recurrent Neural Networks

    • Recurrent Neural Networks

      Recurrent Neural Networks (RNNs) are a type of neural network designed to process sequential data, where the order of the inputs matters. Unlike traditional feedforward networks that treat each input independently, RNNs have a "memory" that allows them to consider previous inputs when processing new ones. This…

  33. Stage 33: Applications of CNNs

    • Applications of CNNs

      CNNs have revolutionized the field of computer vision, leading to significant advancements in many real-world applications. Thanks to their power to solve complex problems like image classification, object detection, and facial recognition, CNNs power many applications we use daily, like automatically tagging…

  34. Stage 34: Attention Mechanisms

    • Attention Mechanisms

      Developed by Google researchers, the attention mechanisms allow a neural network to focus on the most relevant parts of the input data when making predictions. Instead of processing the entire input uniformly, attention mechanisms assign weights to different parts of the input, indicating their importance. These…

    • Self-Attention

      Self-attention is a mechanism that allows a model to focus on different parts of the input sequence when processing it. Instead of treating each element in the sequence independently, self-attention calculates a weighted sum of all elements, where the weights are determined by the relationships between the elements…

    • Transformers

      Transformers are a type of neural network architecture that rely on attention mechanisms to weigh the importance of different parts of the input data. Unlike recurrent neural networks (RNNs) that process data sequentially, transformers can process the entire input at once, allowing for parallelization and capturing…

    • Multi-head Attention

      Multi-head attention is an attention mechanism that runs through the attention process multiple times independently. Each of these independent attention mechanisms is called a "head." The outputs of all the heads are then concatenated and linearly transformed to produce the final output. This allows the model to…

    • RNN

      Recurrent Neural Networks (RNNs) are a type of neural network designed to process sequential data. Unlike standard feedforward networks that treat each input independently, RNNs have connections that loop back on themselves, allowing them to maintain a "memory" of past inputs. This memory enables them to learn…

    • GRU

      A Gated Recurrent Unit (GRU) is a type of recurrent neural network (RNN) architecture. It's designed to handle the vanishing gradient problem often encountered when training standard RNNs, especially with long sequences of data. GRUs use "gates" to control the flow of information, deciding what information to keep…

    • LSTM

      LSTMs are a special kind of recurrent neural network (RNN) architecture designed to handle the vanishing gradient problem that often occurs when training standard RNNs. They excel at processing sequential data by maintaining a "memory" of past inputs, allowing them to learn long-term dependencies. This memory is…

    • Image & Video Recognition

      Convolutional Neural Networks (CNNs) are a specialized type of neural network particularly effective at processing images and videos. In image recognition, CNNs can identify objects, scenes, and faces by learning spatial hierarchies of features from pixel data. For video recognition, CNNs analyze sequences of…

    • Image Classification

      Convolutional Neural Networks (CNNs) are commonly used for image classification tasks. They work by automatically learning relevant features from images through convolutional layers, which detect patterns like edges and textures. These learned features are then used to classify the image into different categories,…

    • Image Segmentation

      Image segmentation involves dividing an image into multiple regions or segments, often to identify objects or boundaries. Convolutional Neural Networks (CNNs) are widely used for this task. They learn spatial hierarchies of features from images, enabling pixel-wise classification. This means each pixel is assigned…

    • Recommendation Systems

      Convolutional Neural Networks (CNNs), typically used for image processing, can also enhance recommendation systems. They do this by extracting features from user-item interaction data, like purchase history or ratings. For example, a CNN can analyze a matrix representing user preferences for different movie genres…

  35. Stage 35: Autoencoders

    • Autoencoders

      Autoencoders are a type of neural network used for unsupervised learning. They work by compressing the input data into a lower-dimensional representation (encoding) and then reconstructing the original input from this compressed representation (decoding). The network is trained to minimize the difference between…

  36. Stage 36: Generative Adversarial Networks

    • Generative Adversarial Networks

      Generative Adversarial Networks (GANs) are a type of neural network architecture designed to generate new data that resembles the data they were trained on. They consist of two networks: a generator, which creates new data instances, and a discriminator, which evaluates the authenticity of the generated data. These…

  37. Stage 37: Explainable AI

    • Explainable AI

      Explainable AI (XAI) focuses on making machine learning models and their decisions understandable to humans. Instead of treating models as black boxes, XAI aims to provide insights into how a model arrives at a particular prediction or decision. This involves developing techniques that allow us to interpret the…

  38. Stage 38: Natural Language Processing

    • Natural Language Processing

      Natural Language Processing (NLP) is a field focused on enabling computers to understand, interpret, and generate human language. It bridges the gap between human communication and computer understanding by developing algorithms and models that can process and analyze text and speech data. This allows machines to…

    • Tokenization

      Tokenization is the process of breaking down a text string into smaller units called tokens. These tokens can be words, phrases, symbols, or other meaningful elements. The goal is to convert raw text into a format that can be easily processed and analyzed by a computer.

    • Lemmatization

      Lemmatization is a text normalization technique in natural language processing used to reduce words to their dictionary form, known as a lemma. Unlike stemming, which simply chops off prefixes or suffixes, lemmatization considers the context of the word and applies morphological analysis to find the base or…

    • Embeddings

      Embeddings are a way to represent words, phrases, or even entire documents as numerical vectors in a high-dimensional space. The goal is to capture the semantic meaning of the text, so that words with similar meanings are located close to each other in the vector space. This allows machine learning models to…

    • Attention Models

      Attention models in natural language processing allow a neural network to focus on specific parts of the input sequence when producing an output. Instead of relying on a fixed-length vector representation of the entire input, these models learn to assign weights to different input elements, indicating their…

    • Stemming

      Stemming is a text normalization technique in natural language processing that reduces words to their root or base form, known as the stem. This is achieved by removing suffixes (like "-ing", "-ed", "-s") from words. The goal is to treat words with similar meanings as the same, even if they have slightly different…

Questions about the Machine Learning Roadmap

Is the Machine Learning Roadmap free?

Yes. All 150 lessons in this roadmap are free to read on Bibha AI Learning Labs, with no account and no payment. Signing in is optional: it lets you mark lessons as done and keep your progress, and it opens the AI tutor, which runs on your own API key.

How long does the Machine Learning Roadmap take?

There is no fixed duration. It has 150 lessons in 38 stages, and the time it takes depends on how many hours you give it each week. Nothing is locked, so you can skip what you already know, and your progress is saved once you sign in.

Where should I start the Machine Learning Roadmap?

Start with stage 1, Introduction, and work down in order. The stages are numbered in the order the roadmap suggests, but every lesson is open, so if you already know Introduction you can go straight to Calculus or anything after it. Each lesson links to free resources for going deeper.

Can I learn Machine Learning in Hindi?

The lessons are written in English. Once you sign in, you can ask the AI tutor on any lesson to explain it in Hindi or Hinglish. It answers from that lesson’s own text, so the explanation stays on the syllabus. The tutor runs on your own Google, OpenAI or Anthropic key.

Still confused? Ask me