There are no formal requirements. It is expected that students are familiar with statistics and probability, and they have good programming skills.
- Understand the notions of traditional machine learning problems, demonstrate knowledge of the characteristics of modern deep learning architectures and related algorithms (Knowledge and understanding)
- Elaborate and implement algorithmic solutions for data analysis applications (Applying knowledge and understanding)
- Evaluate applicability and performance of a ML technique on given tasks (Making judgements)
- Describe and justify the solution using proper computer science terminology and figures (Communication skills)
- Autonomously refer to authoritative documentation of the language and framework adopted; recognise data structures and neural network architectures at abstract level (Lifelong learning skills)
1) Classical machine learning
- Use of scikit-learn in Python
- Classification problems and methods
- Regression problems and methods
- Clustering problems and methods
- Dimensionality reduction
- Model selection
- Pre-processing
2) Deep learning
- Use of PyTorch in Python
- Introduction to artificial neural networks
- Optimization algorithms
- Convolutional neural networks
- Recurrent neural networks
3) Reinforcement learning
Lectures presenting the concepts and case studies.
Written exam (2h) with open-ended questions, closed-ended questions and coding exercises.