
Understand what “Machine Learning” means and where it is used in real-world applications
Learn how machine learning systems differ from traditional programming and why this approach is so powerful
Discover the core paradigms of machine learning and when to use each one
Learn how supervised learning works, from labeled data to model training and prediction
See how to implement linear regression step by step using traditional programming techniques
Learn how to train a linear regression model with a machine learning workflow and compare it to the classic approach
Understand and compare the main variants of gradient descent to optimize your models efficiently
Explore how artificial neurons work and how they combine to form neural networks
Learn how a single neuron can learn a linear regression and see it in action on real data
Learn how to compute a 1D linear regression with the algebraic method and visualize the results with plots
Train a neural network to solve a linear regression problem and compare it with the analytic solution
Build and train a small neural network to perform multivariate linear regression in practice
This lesson explains how to implement linear regression with two outputs using Python, NumPy, Pandas and PyTorch, starting from a small dataset and building a simple neural network that learns to predict two target variables at the same time.
It covers how to prepare a multivariate dataset in Pandas, split inputs and targets, define a multi‑output PyTorch model, choose loss and optimizer, train it step by step, and evaluate predictions on example inputs.
Errata corrige
Around minute 7:44, line 23 of the code to select the last two columns of the DataFrame is incorrect; the correct code is df.iloc[:, -2:] to include the last two columns.
The downloadable script provided with the lesson already contains the correct version of this line, so students can safely refer to the attached material.
Discover how a deep neural network can recognize handwritten digits from images
Learn how to implement the architecture of a classification network step by step in code
Train the digit recognition model and monitor its learning progress and accuracy
Test the model on new images, evaluate its performance in detail, and learn how to run random tests on any classification model
This lesson offers a clear, practical introduction to Convolutional Neural Networks, the backbone of modern computer vision. We’ll explore how CNNs process images through convolutional layers, filters, and pooling, understand their internal structure, and follow the dimensional changes step-by-step using the MNIST dataset as an example. With intuitive explanations, diagrams, and PyTorch code, you’ll see exactly how these networks learn to detect patterns — from simple edges to complex shapes — and transform raw pixels into accurate predictions.
In this lesson you’ll learn the core structure of recurrent neural networks (RNNs), how they process sequential data, and when they are the right choice for your machine learning projects.
Learn how to build an hourly temperature prediction model with a simple RNN using Cursor and AI prompting. You’ll start from a written specification (prompt) that describes data, preprocessing, model, training, and evaluation; then use Cursor to generate a complete, runnable PyTorch script. The lesson shows how to fetch real historical weather from a meteo API, preprocess it with pandas and MinMaxScaler, implement a custom PyTorch Dataset for 24-step sequences with a 1-step-ahead target, define and train a simple RNN (input size 1, hidden size 32), and evaluate and visualize predictions. By the end you’ll understand how to go from a clear prompt to a working time series model with Cursor and AI-assisted coding.
Main points of the lesson:
Use Cursor and a detailed prompt to generate a full PyTorch RNN project from a specification
Fetch real hourly temperature data via the a meteo API
Preprocess time series with MinMaxScaler and build sliding-window sequences
Implement a custom PyTorch Dataset and DataLoader for RNN input
Define and train a simple RNN in PyTorch and visualize real vs predicted temperature
Learn how the K‑Means clustering algorithm works and when to use it on real datasets
Implement K‑Means from scratch in Python and apply it to sample data
Understand how DBSCAN discovers clusters of arbitrary shape and handles noise points
Learn to implement DBSCAN in Python using scikit‑learn and experiment with its main parameters
Discover why dimensionality reduction is useful and the main techniques used in practice
Write and run a Python script that applies PCA to reduce dimensionality and visualize the results
Learn the basic concepts of agents, environments, rewards and policies in reinforcement learning
Train a PPO agent to solve the classic CartPole environment step by step using stable‑baselines3
Configure, train and test a PPO agent to land a lunar module in the LunarLander environment with stable‑baselines3 and gymnasium
Design a custom environment and connect it to a reinforcement learning agent to solve your own optimization problem
This hands-on machine learning course builds a clear, practical foundation in the field, moving from core ideas to real implementations. We open with what machine learning is, how it works, and the main application areas, then introduce supervised learning through the most accessible gateway: linear regression. You’ll see the contrast between traditional programming and the machine-learning approach, and learn how gradient descent works in practice—comparing full-batch, mini-batch, and stochastic updates. From there we step into the artificial neuron and use it to implement linear regression with a single neuron, cementing intuition before scaling up. A short quiz consolidates the essentials on supervised, unsupervised, and reinforcement learning.
We then dive deeper into regression: the algebraic method to ground your math intuition, one-dimensional regression, and the ML training pipeline for linear models, culminating in a truly simple neural network and extensions to multiple dependent variables. Next, in classification, you’ll assemble a deep neural network, define the target classes, and practice training and testing a model—connecting theory to usable evaluation workflows.
When moving to sequential data, you’ll learn how to predict hourly temperature with an RNN in PyTorch. In a dedicated lesson built with Cursor and AI prompting, you start from a detailed specification and use Cursor to generate a complete, runnable script: you’ll fetch real historical weather from meteo API, preprocess time series with MinMaxScaler and sliding-window sequences, implement a custom PyTorch Dataset and DataLoader, and train a simple RNN to forecast the next hour from the last 24, then evaluate and visualize real vs predicted temperature. The lesson shows how to go from a clear prompt to a working time series model with Cursor and AI-assisted coding.
Shifting to unsupervised learning, you’ll first understand and then code both K-Means and DBSCAN, before applying dimensionality reduction techniques and putting them into practice to make high-dimensional data tractable and visualizable. Finally, you’ll explore reinforcement learning: from the core principles to classic control problems like CartPole and LunarLander, and even design a custom environment, learning to reason in terms of states, actions, rewards, and policies. The course wraps up with a concise conclusion to help you review key takeaways and plan your next steps. Throughout, the emphasis is on conceptual clarity, clean code, and repeatable workflows—so you don’t just learn ML, you learn to build with it.