Machine learning is a scientific discipline that is concerned with the design and development of algorithms that allow computers to learn from data. A major focus of machine learning is to automatically learn complex patterns and to make intelligent decisions based on them. The set of possible data inputs that feed a learning task can be very large and diverse, which makes modelling and prior assumptions critical problems for the design of relevant algorithms.

This course focuses on the methodology underlying supervised learning, with a particular emphasis on the mathematical formulation of algorithms, and the way they can be implemented and used in practice. We will therefore describe some necessary tools from optimization theory, and explain how to use them for machine learning.


  1. Statistical Learning: Introduction and Cross Validation
  2. ML Methods: Probabilistic Point of View
  3. ML Methods: Optimization Point of View
  4. Optimization: Gradient Descent Algorithms
  5. Optimization: Stochastic Gradient Algorithm and Stochastic Approximation
  6. ML Methods: Neural Networks and Deep Learning
  7. ML Methods: Trees and Ensemble Methods
  8. Statistical Learning: Bayesian Approach
  9. Reinforcement Learning: Introduction


Course evaluation : Final Exam plus a Lab

Course Language: Either in English or in French with lecture material  in English