# Machine Learning

## News

**03/10/2019**: Starting date**07/10/2019 - 13/10/2019**: No Classes**17/10/2019**: No Class (Hackatober)**4/11/2019**: Slides uploaded**11/01/2019**: All material uploaded (the dates may not correspond to the actual ones)

## General Info

**Teacher**:

**ESSE3 Link**

**Class schedule**:

- Tuesday 11:00 - 13:00 - AB1
- Thursday 9:00 - 11:00 - LAB2

**Students Office hours**:

- Thursday from 11:00 to 13:00

## Course Objectives

KNOWLEDGE AND UNDERSTANDING

The aim of the course is to provide the student with knowledge and skills in the area of machine learning.

At the end of the course the student should be able to:

- distinguish the various machine learning paradigms;
- know the learning theory
- know classification algorithms, regression, clustering and dimension reduction;

APPLYING KNOWLEDGE AND UNDERSTANDING

After completing the course, the student must demonstrate that he is able to:

- apply the different machine learning paradigms
- implement the classification, regression, clustering and dimensionality reduction algorithms;
- design and implement systems able to learn automatically from real data and situations;

COMMUNICATION SKILLS

At the end of this training activity, the student will be able to express himself clearly and with appropriate terms, using the English language, in the learning discussions as well as expose the results of a research concerning technical aspects of machine learning.

LEARNING SKILLS At the end of this training activity the student will be able to:

- Finding and learning the innumerable algorithms and techniques that are presented in the field of machine learning
- Implementing and using the new algorithms

## Course Contents

- Notions of Probability and Linear Algebra

- Supervised Learning

- Linear Models and Regression for Classification

- Decision Tree, Random Forest, Ensemble

- Unsupervised Learning

- Dimensionality Reduction

- Clustering

- Neural networks (an introduction) : FFNN, RNN, SOM

- Balanced and unbalanced data

- Evaluation Metrics (AUC, ROC, Confusion Matrix…)

- Markov Chains and Hidden Markov Models

- Examples of coding in Python and R

- Probabilistic learning theory and the “learning problem”

- The VC-dimension (Proof of the maximum margin)

## Study material

**Course Slides**

- 03/10/2019 Lezione1
- 07/10/2019 No Class
- 11/10/2019 No Class
- 14/10/2019 Lezione2
- 17/10/2019 Canceled
- 21/10/2019 See Lesson 1
- 24/10/2019 See Lesson 1
- 28/10/2019 Lezione3
- 4/11/2019 Lezione 4
- 7/11/2019 Lezione 5b
- 11/11/2019 Lezione 5b
- 14/11/2019 Lezione 6
- 18/11/2019 Lezione 7
- 21/11/2019 Lezione 8
- 25/01/2019 Lezione 9
- 28/11/2019 Lezione 10
- 2/12/2019 Lezione 11

**Reference books**

- C.M. Bishop, Pattern Recognition and Machine Learning, Springer - 2006
- D. Barber, Bayesian Reasoning and Machine Learning, Cambridge University Press. - 2012 Online version
- T. Hastie, R. Tibshirani, J. Friedman, The Elements of Statistical Learning, Springer - 2008 Online version

**Other sources**
Some of the material is taken from the ML Course of Caltech given by Prof. Yaser Abu Mostafa and his collaborators

** Additional Material **

- 28/09/2019 Hoeffding's
- 28/09/2019 Optimization_notes
- 28/09/2019 SVM1
- 28/09/2019 SVM2
- 28/09/2019 SVM3
- 12/11/2019 Explaining AdaBoost- Schapire
- 12/11/2019 Ensemble Methods - Zhou
- 12/12/2019 Bias-Variance I
- 12/12/2019 Bias-Variance II
- 16/12/2019 Vapnik's Inequality

## Exams

**Exam Dates A.Y. 2019/2020**

- Lunedì 3 Febbraio
- Lunedì 24 Febbraio
- Lunedì 8 Giugno
- Lunedì 6 Luglio
- Lunedì 14 Settembre

**Please, once inside your ESSE3 private account, select the dates with the labels in the following form “(Roman Number) Prova Parziale scritta”**

**Exam rules**:
The exam consists in two sessions: a written session and an oral one.
The oral session is reserved for people who pass the written part with a mark greater or equal to 18.

** Exam Results **

- N/A

## Introduction to Machine Learning (for Ph.D.)

** Syllabus **

- Learning Probabilistic Theory
- Learning paradigms
- Classification
- Clustering
- Neural Networks
- Support Vector Machines
- Practical issues for ML

** Material **