Intelligent Systems: Reasoning and Recognition
This is a 30 hour introductory course taught to fourth year engineering students at the ENSIMAG school of Informatics and Applied Mathematics at Grenoble Polytechnique Institut, Univ Grenoble Alpes.

This course provides an introduction to techniques for constructing systems that exhibit human level intelligence. The first half of the class covers techniques for machine learning and pattern recognition, including Bayesian learning, artificial neural networks, unsupervised learning and support vector machines. The second half of the class covers techniques for symbolic reasoning systems including planning and problem solving, diagnostic reasoning, reasoning with temporal and spatial relations, and causal reasoning with Bayesian networks.
The course is composed of 20 lectures of 1h30 each taught in English. The course web site provides course notes (.pdf) and Zoom recordings of the lectures taught from January 2021 to May 2021, as well as exercises, a practice exam (with corrections), final exam, and "second Chance" make-up exam.
- Introduction to intelligent systems.
- Performance Evaluations
- Bayesian Machine learning
- Non supervised learning and clustering with K-means and EM
- Perceptrons and Gradient Descent
- Artificial Neural Networks and deep learning.
- Generative Systems, Autoencoders, and self-supervised learning
- Convolutional Networks and Classic Network Architectures
- Decision Trees and random forests.
- Knowledge Representation: Frames, Scripts and Situation Models
- Reasoning with spatial, temporal and other forms of relations.
- Planning and problem solving.
- Diagnostic and Causal reasoning with Bayesian networks and probabilistic graph models.
The course includes a programming project to build a neural network to recognize handwritten digits using Python and Keras.
Probability and statistics, Linear Algebra, Basic Calculus, Symbolic Logic. Programming in Python is useful.