# MACHINE LEARNING

**Academic Year 2018/2019**- 1° Year - Curriculum Data Science

**Teaching Staff:**

**Giovanni Maria FARINELLA**

**Credit Value:**6

**Scientific field:**INF/01 - Informatics

**Taught classes:**24 hours

**Exercise:**24 hours

**Term / Semester:**2°

## Learning Objectives

The aim of the course is to provide an in-depth introduction to some of the main Machine Learning algorithms. Models for classification and regression, as well as neural network architectures (e.g., Deep Learning) will be discussed. The couse will present the techniques to design and optimize learning algorithms, and those useful to assess the performance of Machine Learning systems. Students will use open source software libraries in Python to prototype machine learning algoritms.

At the end of the course the student should:

- know the key concepts underlying Machine Learning techniques

- be able to apply a wide range of learning algorithms to solve classical problems in Machine Learning (classification and regression)

- know how to design and fine-tune algorithms in order to apply them to new data sets

- be able to evaluate Machine Learning algorithms in order to select the best models

- know python libraries useful for the development of Machine Learning algorithms

## Course Structure

Frontal Lessons and Laboratory

## Detailed Course Content

- Probability Theory and Distributions
- Linear Models for Regression
- Linear Models for Classification
- Neural Networks
- Deep Learning
- Python programming and Libraries for Machine Learning

## Textbook Information

- R. O. Duda, P. E. Hart, D. G. Stork, "Pattern Classification", Wiley, 2000
- C. Bishop, “Pattern Recognition and Machine Learning", Springer, 2006
- E. Alpaydin, “Introduction to Machine Learning”, MIT Press, 2014
- I. Goodfellow, Y. Bengio and A. Courville, "Deep Learning", MIT Press, 2016