Presentazione

Organizzazione della Didattica

DM270
DATA SCIENCE ORD. 2017


12

Corsi comuni

 

Frontali Esercizi Laboratorio Studio Individuale
ORE: 96 0 0 102

Periodo

AnnoPeriodo
I anno2 semestre

Frequenza

Facoltativa

Erogazione

Convenzionale

Lingua

Inglese

Calendario Attività Didattiche

InizioFine
26/02/201801/06/2018

Tipologia

TipologiaAmbitoSSDCFU
caratterizzanteTecnologie dell'informaticaINF/016
caratterizzanteTecnologie dell'informaticaING-INF/056


Responsabile Insegnamento

ResponsabileSSDStruttura
Prof. SPERDUTI ALESSANDROINF/01Dipartimento di Matematica

Altri Docenti

DocenteCoperturaSSDStruttura
Dott. SILVELLO GIANMARIAIstituzionaleING-INF/05Dipartimento di Ingegneria dell'Informazione

Attività di Supporto alla Didattica

Non previste.

Bollettino

The student should have basic knowledge of programming.

This class teaches the basics in algorithmic methods and machine learning. The part of the course covering algorithmic methods will first concentrate on the main data structures and their efficient implementation. Attention will then shift to the fundamental algorithmic paradigms for problem solving and their applicability through the discussion of relevant case studies. The other part will focus on machine learning techniques typically used in a data science scenario. First of all, general concepts concerning machine learning will be introduced. Then, the theory underpinning each presented technique will be explained and subsequently followed by practical demonstrations using Python and Scikit-Learn.

The course consists of lectures.

The course will cover the topics listed below: - Algorithmic Methods: Preliminaries: definition of problem, instance, solution, algorithm. Models of computation. Analysis of algorithms: correctness and running time,. Asymptotic analysis. Basic data structures: lists, stacks, queues. Trees and their properties. Dictionaries and their implementation. Priority queues. Graphs: representation of graphs. Basic properties. Graph searches and applications. Divide and Conquer paradigm: the use of recursion. Recurrence relations. Case study: sorting. Dynamic programming: coping with repeating subproblems. Memoization of recursive code. Case study: optimization algorithms on sequences. Greedy paradigm: solving by successive choices. Applicability of the paradigm. Case study: data compression. - Machine Learning Introduction to Machine Learning: why machine learning is useful; when to use it.; where to use it; Machine Learning paradigms; basic ingredients of Machine Learning; complexity of the hypothesis space; complexity measures; examples of supervised learning algorithms. Application Issues: classification pipeline, representation and selection of categorical variables; model selection, evaluation measures. in Depth (theory and practice using Python and Scikit-Learn): Support Vector Machines; Decision Trees and Random Forest; Neural Networks and Deep Learning; Manifold Learning; Kernel Density Estimation.

Written exam and (individual) project. The project is due by the end of the course.

The project work, and the written exam, will be evaluated on the basis of the following criteria: i) student’s knowledge of the concepts, methods, and technologies; ii) ability of the student to master the implementation technology; iii) student’s capacity for synthesis, clarity, and abstraction, as demonstrated by the written exam and project presentation. The final grade is obtained as the weighted sum of the grades of the written exam (80%) and the project (20%).

CONTENUTO NON PRESENTE

Log of the lessons, didactic material (slides) and the detailed exam modalities will be available in the Website accessible from the MOODLE platform.