30554 - MATHEMATICAL MODELLING IN MACHINE LEARNING
Course taught in English
Go to class group/s: 27
Synchronous Blended: Lezioni erogate in modalità sincrona in aula (max 1 ora per credito online sincrona)
For a productive and effective learning experience, it is recommended a preliminary knowledge of linear algebra, programming in Python, basic probability and statistics, calculus and convex optimization
Machine learning is a rapidly evolving field. It is also becoming more and more central to many sciences and applications in which data play a role. The purpose of this course is to give the fundamental principles and methods of modern machine learning, from its probabilistic foundations to its modelling and computational aspects.
- Explain and understand the fundamental mathematical and modeling theories underlying machine learning (ML) methods.
- Define the basic ML models and explain the main differences between them through increasing levels of complexity: regression, classification, clustering, dimensionality reduction and different computational approaches to learning.
- Acquire the basic knowledge of information theory which is relevant for learnaing.
- Implement and apply machine learning methods through programming platforms.
- Evaluate results through cross-validation and rigorous tests when possible.
- Optimize key tradeoffs such as overfitting and computational cost.
Rigorously understand the methodological underpinnings of different machine learning models. Understand their limitations and open problems.
Be familiar with the programming techniques required for efficient implementation of the different algorithms that characterize ML.
1) Understand to associated the appropriate mathematical framework to the different ML techniques.
2) Depending on the type of problem, the students are expected to be able to identify the appropriate ML models and implement the different machine learning algorithms.
Basic examples are:
Classification algorithms (from K-NN, to Decisions Trees and Forests, to Neural Networks)
Clustering (e.g. K-means, hierarchical and spectral approaches)
Dimensionality reduction (e.g. PCA)
Implement and apply machine learning algorithm to real-world problems, and rigorously evaluate their performance using cross-validation.
Optimize the main trade-o"s such as overwritting, and computational cost vs accuracy.
Experience common pitfalls and how to overcome them.
- Face-to-face lectures
- Exercises (exercises, database, software etc.)
- Individual assignments
- Group assignments
Face-to-face lecture will be devoted to the understanding of the mathematical foundations and computational problems associated to the different ML methods, and to the software implementation of the algorithms.
Exercises, individual and gruop assignments have the scope of make the students familiarize with the application of machine learning methods to real-world problems. Students will be also asked to critically evaluate performance and to
optimize their programs.
Scope of the written exam is to check the understanding of the mathematical and computational problems at the root of modern ML.
Individual and group assigmnets will relate to the capability of dealing with real world problems and the software implementation of the different algorithms.
Theory 15 pts.
Individual project: 10 pts.
Group project: 6 pts.
- S. Shalev-Shwartz and S. Ben-David: Understanding Machine Learning - From Theory to Algorithms
- G. Strang: Linear Algebra and Learning from Data
- C. Bishop: Pattern Recognition and Machine Learning
Handouts will be provided for each lecture.