30412 - MACHINE LEARNING
Department of Computing Sciences
Course taught in English
Go to class group/s: 25
Course Director:
ANDREA CELLI
ANDREA CELLI
Suggested background knowledge
For an effective learning experience, it is recommended a basic knowledge of Python programming, elementary calculus and linear algebra, probability and statistics.
Mission & Content Summary
MISSION
Machine learning is an exciting and fast-moving field of computer science with many applications such as computer vision, speech recognition, biology and medicine (e.g., predicting protein-protein interactions, predicting proteins’ 3D structure), finance, and many consumer applications such as recommending music and movies, and drive autonomous cars. This course provides an introduction to the theoretical foundations and practical algorithms of modern machine learning.
CONTENT SUMMARY
- Introduction to the main Machine Learning problems and frameworks.
- Supervised learning: linear regression, logistic regression, generative learning algorithms, kernel methods, SVM, decision trees
- Neural Networks and backpropagation
- Bias-variance tradeoff, model selection
- Unsupervised learning: Principal Component Analysis, hierarchical clustering, k-means
- Basics of Reinforcement learning
- Implementing Machine Learning Pipelines with sklearn
Intended Learning Outcomes (ILO)
KNOWLEDGE AND UNDERSTANDING
At the end of the course student will be able to...
- State and use the basic results of statistical inference for data analysis.
- Distinguish and characterize the following basic machine learning problems: regression, classification, clustering, dimensionality reduction.
- Describe the basic conceptual ideas, strengths, and limitations of the different learning algorithms for the settings above.
- Evaluate the main trade-offs such as overfitting, and computational cost vs accuracy
APPLYING KNOWLEDGE AND UNDERSTANDING
At the end of the course student will be able to...
- Implement end-to-end machine learning pipelines and rigorously evaluate their performance.
- Demonstrate the ability to cope with real-world data analysis and problem solving (managing, preprocessing and analyze real datasets).
Teaching methods
- Face-to-face lectures
- Exercises (exercises, database, software etc.)
- Individual assignments
DETAILS
- Face-to-face lectures focus on the theoretical, methodological, and computational aspects of the topics covered by the course.
- In hands-on exercise sessions students will work on their laptops to implement solutions to relevant case studies. Students will use Python and common libraries such as scikit-learn.
- Individual assignments: each student is required to solve a machine learning problem and provide a written report and the related code.
Assessment methods
Continuous assessment | Partial exams | General exam | |
---|---|---|---|
|
x | ||
|
x |
ATTENDING AND NOT ATTENDING STUDENTS
The exam consists of a theory part and a problem solving project.
- 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 solving a practical ML problem, to be developed individually and described through a written report, which is evaluated by the instructors. This contributes to 50% of the final grade.
The individual project is 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 project part.
Teaching materials
ATTENDING AND NOT ATTENDING STUDENTS
- C.M. BISHOP, Pattern Recognition and Machine Learning, Springer, 2006.
- T. HASTIE, R. TIBSHIRANI, J. FRIEDMAN, The Elements of Statistical Learning, Springer, 2009.
- K.P. Murphy, Machine learning: a probabilistic perspective, 2012.
- R.S. Sutton, Richard, A. G. Barto, Reinforcement learning: An introduction, 2018.
Last change 07/12/2022 19:29