List of exercises

You will find below links to download the notebooks for the exercises (which you have to fill) and their solution (which you can look at after you finished the exercise). It is recommended not to look at the solution while doing the exercise unless you are lost.

Alternatively, you can run the notebooks directly on Colab (https://colab.research.google.com/) if you have a Google account.

For instructions on how to install a Python distribution on your computer, check this page.

You will also find outdated videos presenting the exercises and commenting their solution on Youtube.

The solution of each exercise is rendered in the following pages.

Introduction to Python

This exercise is an introduction to Python for absolute beginners. If you already know Python, you can safely skip it.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Numpy and Matplotlib

The goal of this exercise is to present the basics of the numerical library numpy as well as the visualization library matplotlib.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Linear regression

The goal of this exercise is to study linear regression in batch and online versions, as well as to learn to use scikit-learn.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Multiple Linear Regression

The goal of this exercise is to study multiple linear regression on the Boston Housing Dataset, with L1 and L2 regularization.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Cross-validation

The goal of this exercise is to study the interest of cross-validation (simple and k-fold) on a small polynomial regression problem.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Linear classification

The goal of this exercise is to investigate hard and soft binary classification.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Softmax classifier

The goal of this exercise is to investigate the linear softmax classifier on single digits.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Multi-layer perceptron

The goal of this exercise is to implement a shallow MLP and the backpropagation algorithm, as well as to investigate several improvements to improve convergence.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

MNIST classification using keras

The goal of this exercise is to discover the keras API of tensorflow and apply it to the MNIST dataset.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Convolutional neural networks

The goal of this exercise is to implement a CNN using keras and to visualize the learned feature maps.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Transfer learning

The goal of this exercise is to investigate data augmentation and transfer learning on a small dataset of cats and dogs.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Variational autoencoder

The goal of this exercise is to implement a variational autoencoder on the MNIST dataset.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.

Recurrent neural networks

The goal of this exercise is to use LSTM layers to perform sentiment analysis and time series prediction.

Notebook: download .ipynb or run on colab.

Solution: download .ipynb or run on colab.