Skip to content

xoolive/optim4ai

Repository files navigation

Optimisation for AI

This is a four-day course about optimisation topics for artificial intelligence. We focus here on gradient descent methods, optimisation in machine learning, linear and mixed integer linear programming, constraint programming and stochastic methods.

Classes consist of simple text on this website and of interactive Jupyter notebooks designed to illustrate studied concepts.

Intermediate Python literacy is required. You are expected to be able to install Visual Studio Code and an Anaconda distribution, be aware of Python versions, create an environment based on a list of requirements, run Jupyter notebooks and ensure a standalone Python file runs without error.

The evaluation is based on:

  • a set of multiple choice questions (online) about key take-away elements for this class;
  • a modelling exercice, written in natural language (code is a no-go here, but there should be enough to get a peer write a correct implementation), and submitted as a PDF file;
  • a programming exercice, submitted as a function in a standalone Python file. The code is evaluated by a program for its correctness and performance.
# Agenda
1 An introduction to optimisation
2 Gradient descent methods
3 Optimisation for machine learning
4 Linear programming
5 Mixed integer linear programming
6 A quick introduction to complexity
7 Constraint programming
8 Evolutionary methods
9 Further reading

Credits

License: CC BY-SA 4.0

All materials here are licensed under the CC-BY-SA 4.0 license.

This class is based on materials created by or with the help of:

  • Christophe Garion
  • Alain Haït
  • Cédric Pralet
  • Emmanuel Rachelson