30412 - MACHINE LEARNING
Course taught in English
Go to class group/s: 25
Being familiar with Python programming, elementary calculus and basic statistics will help students understand most of the covered topics.
Scope of the course is to provide an introduction to the fundamental concepts and tools of modern machine learning techniques. These tools are at the root of data science and data analytics, which are among the main pillars of the education program.
- Introduction to the theory of Machine Learning.
- Review of probability tools.
- Statistical inference and regression techniques.
- Unsupervised methods: Principal Component Analysis, hierarchical clustering, k-means.
- Supervised methods: K-nearest neighbours, Support Vector Machines, Multi Layer Neural Networks.
- Associative memories.
- State and use the basic results of statistical inference for data analysis.
- Distinguish between supervised and unsupervised learning methods.
- Describe the basic conceptual ideas, strenghts and the limitations of the different learaning algorithms.
- Implement a complete data analysis pipeline, from unsupervised clustering of data to supervised classification using the Python scikit-learn library.
- Demostrate the ability to cope with real-world data analysis and problem solving (managing, preprocessing and analyze real datasets).
- Face-to-face lectures
- Individual assignments
- Group assignments
- Participation in external competitions
- Individual assignemnts: each student is required to solve a machine learning problem and provide a written report and a code.
- Groups assigment/external competition: students are divided in groups and participate to a data science challange organized with an external company/institutions on real data.
Continuous assessment | Partial exams | General exam | |
---|---|---|---|
x | |||
x | |||
x |
The exam consists of a theory part and problem solving projects.
- The theory part consists in exercises and questions to be answered on paper, and is used to asses the "knowledge and understanding" learning objectives. This contributes to 50% of the final grade.
- The project consists in a programming code to solve a concrete ML problem, to be developed individually and described through a written report, which is evaluated by the teachers. This contributes to 33% of the final grade.
- A challenge between working groups are organized. This contributes to the remaining 17% of the final grade.
The two projects are used to asses the "applying knowledge and understanding" learning objectives. In order to pass the exam, students must achieve a passing grade in both the theory part and the projects part.
- D. MACKAY, Information Theory, Inference, and Learning Algorithms, Cambridge University Press, 2013 (but available for download as decided by the Author).
- C.M. BISHOP, Pattern Recognition and Machine Learning, Springer, 2006.
- T. HASTIE, R. TIBSHIRANI, J. FRIEDMAN, The Elements of Statistical Learning, Springer, 2009.
- I. GOODFELLOW, Y. BENGIO, A. COURVILLE, Deep Learning, MIT Press, 2016 (optional).
- Handouts of each lecture and sample codes are provided.