Teaching‎ > ‎

Introduction to Machine Learning 2019-2020

This page is about the courses named (actually the same course):

Language of lectures


Detailed program

Part 1 (24h)

  • Definitions of Machine Learning and Data Mining; why ML and DM are hot topics; examples of applications of ML; phases of design, development, and assessment of a ML system; terminology.
  • Introduction to the software/language R; elements of data visualization.
  • Supervised learning 1.
    • Tree-based methods.
      • Decision and regression trees: learning and prediction; role of the parameter and overfitting.
      • Trees aggregation: bagging, Random Forest, boosting.
      • Supervised learning system assessment: cross-fold validation; accuracy and other metrics; metrics for binary classification (FPR, FNR, EER, AUC) and ROC.
    • Support Vector Machines (SVM).
      • Separating hyperplane: maximal margin classifier; support vectors; learning as an optimization problem; maximal margin classifier limitations.
      • Soft margin classifier: learning, role of the parameter C.
      • Non linearly separable problems; kernel: brief background and main options (linear, polynomial, radial); intuition behind radial kernel; SVM,
      • Multiclass classification with SVM.

Part 2 (24 h)

  • Text and natural language applications (text mining)
    • Sentiment analysis; features for text mining; common pre-processing steps; topic modeling.
  • Recommending systems.
    • Content-based filtering; collaborative filtering.
    • Assessment metrics: precision, recall, accuracy@K, diversity, serendipity.
  • Evolutionary Computation (EC).
    • High-level working scheme of an Evolutionary Algorithm (EA); terminology.
    • Generational model; selection criteria; exploration/exploitation trade-off; genetic operators with examples; fitness function; multi-objective optimization and Pareto dominance; debugging of an evolutionary search; EA issues (diversity, variational inheritance, expressiveness); fitness landscape.
    • Examples of common EAs: GA, GP, GE.

Part 3 (24h, only for 222MI)

  • Supervised learning 2.
    • The Bayes classifier.
    • The K-nearest neighbors classifier.
  • Unupervised learning.
    • Dimensionality reduction methods: principal component analysis; biplot.
    • Cluster analysis: hierarchical methods, partitional methods (k-means algorithm).

Suggested textbooks

Kenneth A. De Jong. Evolutionary computation: a unified approach. MIT press, 2006
Gareth James, Daniela Witten, Trevor Hastie and Robert Tibshirani. An Introduction to Statistical Learning, with applications in R. Springer, Berlin: Springer Series in Statistics, 2014.

Goal of the course

Knowledge and understanding

Know main kinds of problems which can be tackled with ML, DM, and EC and those ones concerning text and natural language and recommendation
Know main ML and DM techniques; know the high-level working scheme of EAs.
Know design, development, and assessment phases of a ML system; know main assessment metrics and procedures suitable for a ML system.

Applying knowledge and understanding

Formulate a formal problem statement for simple practical problems in order to tackle them with ML, DM, or EC techniques.
Develop simple end-to-end ML or DM systems.
Experimentally assess a simple end-to-end ML or DM system.

Making judgements

Judge the technical soundness of a ML or DM system.
Judge the technical soundness of the assessment of a ML or DM system.

Communication skills

Describe, both in written and oral form, the motivations behind choices in the design, development, and assessment of a ML or DM system, possibly exploiting simple plots.

Learning skills

Retrieve information from scientific publications about ML, DM or EC techniques not explicitly presented in this course.


Basics of statistics: basic graphical tools of data exploration; summary measures of variable distribution (mean, variance, quantiles); fundamentals of probability and of univariate and multivariate distribution of random variables; basics of linear regression analysis.
Basics of linear algebra: vectors, matrices, matrix operations; diagonalization and decomposition in singular values.
Basics of programming and data structures: algorithm, data types, loops, recursion, parallel execution, tree.

Teaching method

Frontal lessons with blackboard and slide projection; exercises, under teacher supervision, in dealing with simple problems with ML or DM techniques.


The exam consists of a project and a written test. The final grade is the average of the two grades: the exam is considered failed if at least one of the two grades is <18. Grades >25 are automatically registered; in the remaining cases, the student may repeat the exam.
  • Written test: questions on theory and application with short open answers.
  • Project (home assignment): the student chooses a problem among a closed, teacher-defined set of problems and proposes a solution based on ML, DM, or EC techniques. The expected outcome is a written document (few pages) including: the problem statement; one or more performance indexes able to capture any solution ability to solve the problem; a description of the proposed solution from the algorithmic point of view; the results and a discussion about the experimental assessment of the solution with, if applicable, information about used data. Student may form groups for the project: in this case, the document must show, for each student of the group, which activities the student took part in. The project is evaluated according to clarity (~ 50%), technical soundness (~ 33%), and results (~ 17%). The details are available here.
Student must register for the exam session of their interest using the online sistem (esse3). Note that there are deadlines for registration (usually 1 week before the session date). 

Lessons timetable and course calendar

The course will start on October, 22th.
Lessons will be held in Classroom 3B, H2bis building, in Piazzale Europa campus.

Course material

Theacher slides

The course material (slides) is attached at the bottom of this page.
The full pack of slides might be updated during the course.
The annotated slides will be provided after the lectures and are available here.

Lecture recordings

See also the University Videocenter for the recordings of the lectures. Directly available here:
  • 22/10/19: one, two
  • 23/10/19: one
  • 24/10/19: one, two
  • 29/10/19: only lab
  • 30/10/19: one, two
  • 31/10/19: onetwo
  • 26/11/19: only lab
  • 27/11/19: broken machinery, no recordings; sorry!
  • 28/11/19: onetwo
  • 3/12/19: onetwo
  • 4/12/19: one
  • 5/12/19: onetwo
2nd part, only for 222MI:
  • 10/12/19: onetwo
  • 11/12/19: onetwo
  • 12/12/19: broken machinery, no recordings; sorry! However, mostly lab.
  • 17/12/19: one
  • 18/12/19: onetwo
  • 19/12/19: seminar on reinforcement learning and reality gap (slides); then lab
Subpages (1): Student project
Eric Medvet,
Dec 17, 2019, 10:48 AM
Eric Medvet,
Dec 2, 2019, 11:53 PM