Corso di laurea

data science and engineering

Politecnico di Torino · 23 materie · 11 file condivisi

Per questo corso di laurea sono già disponibili 11 appunti all'interno della community, registrati subito per iniziare a studiare!

Numerose discipline sia scientifiche che umanistiche sono oggi fortemente caratterizzate dall’uso massiccio di dati digitali, utilizzati principalmente nelle analisi alla base dei processi decisionali. In tutti questi ambiti risulta quindi di fondamentale importanza la presenza di figure professionali interdisciplinari (data scientist o data engineer) in grado di raccogliere correttamente e poi raffinare, analizzare, interpretare e valorizzare quantità consistenti di dati di elevata complessità, rendendoli disponibili in maniera efficace per le successive procedure decisionali. Il data scientist deve essere in grado di padroneggiare metodologie e soluzioni tecnologiche innovative di analisi, memorizzazione e processamento dei dati tramite l’applicazione di raffinati strumenti statistici, matematici e informatici, attraverso elaborazioni svolte con metodi automatici. Inoltre deve avere la capacità di contestualizzare le proprie competenze nella varietà degli ambiti in cui la data science trova applicazione, valorizzando le informazioni contenute nei dati stessi e tenendo contemporaneamente conto dei loro risvolti sul piano giuridico e sociale.

Il corso di Laurea Magistrale in Data Science and Engineering mira a formare la figura multidisciplinare del data scientist fornendo forti competenze metodologiche e ingegneristiche complementate da un’elevata capacità di astrazione e un approccio analitico alla risoluzione dei problemi "data-driven", rendendo il data scientist in grado di adattarsi rapidamente ai molteplici contesti applicativi nei quali si troverà ad operare e alla rapida evoluzione degli strumenti utilizzati per l'analisi dei dati. Il corso di laurea mira a formare degli ingegneri capaci di gestire tutto il ciclo di vita del processo di analisi dei dati, dall’analisi dei requisiti, all’acquisizione e memorizzazione di grandi moli di dati, all’analisi dei dati tramite modelli matematici e statistici o algoritmi di machine learning, alla visualizzazione dell'informazione e infine all’utilizzo della conoscenza estratta ai fini decisionali, anche tramite strumenti di simulazione. La figura formata avrà la capacità di operare efficacemente in ognuna delle fasi descritte.

L'applicazione della data science in molteplici ambiti richiede la formazione di figure professionali capaci di operare e interagire efficacemente in contesti di tipo multidisciplinare. Per formare tali competenze, il percorso formativo include approfondimenti tecnologici consistenti in attività pratiche di laboratorio multidisciplinare, focalizzate su casi di studio reali, svolte in collaborazione con aziende o esperti afferenti a settori industriali diversi, rafforzando la capacità di lavorare in team culturalmente eterogenei. A supporto di queste attività, sono fornite agli studenti conoscenze che spaziano dalla capacità di comunicare efficacemente i risultati del proprio lavoro, alla padronanza delle metodologie data-driven per innovare prodotti e processi e alla valutazione degli aspetti etici legati all’uso dei dati e dell'informazione estratta da essi.

Ecco tutti i dettagli sul corso di laurea selezionato. Sul UniDocs troverai gli appunti condivisi dagli altri studenti del tuo corso di laurea, ordinati per materia. Ricordati che per poter visualizzare il materiale devi essere registrato al sito e possedere un numero di crediti sufficiente.

Al momento abbiamo 11 files caricati sul nostro portale suddivisi nelle 23 materie appartenenti al tuo corso di laurea.

Sfoglia il materiale didattico

Con UniDocs hai l'opportunità di studiare insieme a tutto il tuo corso di laurea. Guadagna subito dei crediti, carica il materiale del tuo ultimo esame!
Più condividi, più tempo avrai per studiare con tutta la community!

Materie del corso

Computational linear algebra for large scale problems 1° anno · 1° semestre · 8 CFU · MAT/08 · 1 file

Learn and understand the tools of linear algebra most used to extract infrormations from large datasets: projection operators, decomposition of matrices, eigenvalues and eigenvectors of matrices, SVD decomposition and…

Scheda dell'insegnamento

Obiettivi formativi

Learn and understand the tools of linear algebra most used to extract infrormations from large datasets: projection operators, decomposition of matrices, eigenvalues and eigenvectors of matrices, SVD decomposition and relations with the Principal Component Analysis.

Programma

This course aims at presenting the mathematical and numerical foundation of several methods applied in Data Science. Analysis of large scale data sets requires specific algebraic tools in order to extract the most relevant information from data. This problem is tackled by the application of several mathematical tools. This course is designed to present them and to explain pro and cons of their application to realistic data sets.

1. Basic linear algebra tools: vector spaces, bases, linear operators, matrices, eigenvalues and eigenvectors, norms. 2. Dense and sparse matrices, matrix operations. 3. Vector rotations, orthogonalization, projections: Grahm-Schmidt, Givens, Householder methods and QR factorization. 4. Iterative solutions of large scale linear systems: applicability, convergence, computational cost and memory requirements, preconditioning. 5. Approximation of data and functions: global and piecewise interpolation, least square approximation, numerical tools. 6. Eigenvalues and eigenvectors computations: numerical methods and common tools for large scale matrices. Stability and conditioning. 7. Computation and theoretical properties of Singular Value Decomposition (SVD). 8. Generalized inverse matrix and Moore–Penrose inverse. 9. Dimensional reduction of a problem and Principal Component Analisys (PCA). 10. LAPACK, ARPACK, Matlab/Octave, C/C++ (Armadillo, PETSc and SLEPc) and Python common numerical libraries.

Modalità d'esame

Modalita di esame: Prova orale obbligatoria; Elaborato scritto prodotto in gruppo;
Exam: Compulsory oral exam; Group essay;
... Exam: compulsory oral exam; Exam: Oral exam with a discussion of homeworks assigned during the course. Three homework assignments (HW1, HW2, HW3) will be assigned to the students during the course: • HW1 and HW2 consist of exercises that are aimed to evaluate the students in using the methods presented; • HW3 is an application of the methods learned to a problem chosen by the student. The oral exam will then consist of two parts: a) a discussion of the submitted HW1, HW2, and HW3 reports, aimed at testing the depth of the students’ understanding of the subjects and their ability to explain, defend, reflect, critically evaluate, and possibly improve their work, proving the real acquisition of the abilities listed in the expected learning outcomes section. b) a presentation of a topic studied in the course covering both theoretical aspects and possibly their implementation and applications proving the real acquisition of the knowledge listed in the expected learning outcomes section. Grading: • The maximum grade for HW1, HW2, and HW3, upon the discussion detailed at point (a) above, is of 14 points. • The maximum grade for part (b) of the oral test is 18 points. The final course grade is then obtained by summing up the final grades of parts (a) and (b) of the oral test.

Testi di riferimento

Slides presented during lesson will be made available through the Portale della Didattica. Other material will be suggested in class and, if possible, made available through the Portale della Didattica. Suggested textbook: • Linear Algebra and Learning from Data, G. Strang, Cambridge University Press, 2019, ISBN: 9780692196380 • Iterative Methods for Sparse Linear Systems, Y. Saad, Society for Industrial and Applied Mathematics Philadelphia, PA, USA, 2003, ISBN:0898715342

Codice insegnamento P876856219

Data Ethics and Data Protection 1° anno · 2° semestre · 6 CFU · ING-INF/05 · 0 file

The students will acquire a greater awareness of the duties of a professional in the data science context and will understand the impacts on people and society of the current data-driven algorithms and technologies. They…

Scheda dell'insegnamento

Obiettivi formativi

The students will acquire a greater awareness of the duties of a professional in the data science context and will understand the impacts on people and society of the current data-driven algorithms and technologies. They will have a greater understanding of the ethical and legal values that should underpin the development of their products and services. Additionally, they will acquire the proper skills to quantitatively estimate discriminate impacts and treatments on people from data-driven tools, and to mitigate them.

Programma

In an era in which Internet of Things, Artificial Intelligence, Big Data and social networks are revolutionizing economics, politics, culture and personal relationships, the course aims to introduce students to the ethical and legal impacts of information technology and data-driven processes. This course is mainly designed to give students an increased awareness of the role of data scientists and data experts in society, and a better understanding of the main challenges that they face in developing innovative data-driven products and services. Adopting an interdisciplinary approach, the course focuses both on ethical and legal issues, seen through the lens of technology. From this perspective, the first part of the course will provide a general overview of the interplay between law, ethics and technology, discussing the most relevant issues in the ongoing debate on law & ethics with regard to data-intensive systems. In this context, data protection regulations and their application in the AI environment will be addressed, including risk assessment methodologies. The course then will go beyond the traditional sphere of data protection and deal with the impact of data use on fundamental rights and ethical values, considering different proposals and guidelines on data ethics. The second part of the course is focused on the computer science perspective, with the following approach. Students will first analyse and interactively discuss in class the ACM Code of Ethics and Professional and selected case studies: the goal is to acquire a greater awareness of the duties of a professional to understand the consequences for people and society of apparently only technical choices. Then, students will learn methodologies and data analytics tools to design and conduct an impact assessment for data-driven automated decision systems.

  • Data-driven technology and society • Law & technology • Data protection regulation (GDPR) • AI/Big Data regulation • Risk assessment • Ethical and data policies and guidelines • ACM Code of Ethics and Professional • Case studies on data ethics and policy issues • Bias in software systems and data • Statistical formalizations of algorithmic fairness

Modalità d'esame

Modalita di esame: Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Computer-based written test in class using POLITO platform;
... The final exam aims to evaluate the students' understanding of the different topics discussed during the course and how much students apply the acquired notions to various cases. The exam is written and is 90 minutes in duration: it is divided into two sections, one focused on legal issues and one on computer science issues. The students should address two questions (which may be case studies) for each of these sections. Each question worth 7,5 points maximum. Given the multidisciplinary nature of this course and its expected learning outcomes in both computer science and law, students are required to achieve the sufficiency in at least three questions (sufficiency threshold for each question is 4,5 points). It is not allowed to communicate with others during the exam, use a phone, and keep and consult notebooks, books, slides, and forms.

Testi di riferimento

Given the multidisciplinary nature of this course and the evolving regulatory and technology scenario in the field of data protection and data ethics, a detailed bibliography will be provided at the beginning of the course, including lectures, scientific articles and other materials (e.g. links to regulations, reports, talks and conferences). Here we suggest some introductory readings: Council of Europe. 2019. Guidelines on AI and Data Protection https://www.coe.int/en/web/artificial-intelligence/-/new-guidelines-on-artificial-intelligence-and-data-protection High-Level Expert Group on AI presented Ethics. 2019. Guidelines for Trustworthy Artificial Intelligence https://ec.europa.eu/digital-single-market/en/news/ethics-guidelines-trustworthy-ai Mantelero, A. 2019. Report on Artificial Intelligence Artificial Intelligence and Data Protection: Challenges and Possible Remedies https://www.coe.int/en/web/artificial-intelligence/-/new-guidelines-on-artificial-intelligence-and-data-protection Hildebrandt, M. 2019. Closure: on ethics, code and law. In Hildebrandt, M. (ed). Law for Computer Scientists https://lawforcomputerscientists.pubpub.org/pub/nx5zv2ux ACM. 2018. Code of Ethics and Professional Conduct https://www.acm.org/code-of-ethics Mantelero, A. 2017. Regulating Big Data. The guidelines of the Council of Europe in the Context of the European Data Protection Framework. Computer Law and Security Review, 33 (5): 584-602 https://www.academia.edu/34660255/Regulating_big_data._The_guidelines_of_the_Council_of_Europe_in_the_context_of_the_European_data_protection_framework Barocas, S., Hardt, M., & Narayanan, A. (2019). Fairness and machine learning. Limitations and Opportunities (2019). Available online on https://fairmlbook. org/ O'Neil, C. (2016). Weapons of math destruction: How big data increases inequality and threatens democracy. Broadway Books. Eubanks, V. (2018). Automating inequality: How high-tech tools profile, police, and punish the poor. St. Martin's Press.

Codice insegnamento 01URZWS

Data Ethics and Protection 1° anno · 0 file
Data management and visualization 1° anno · 1° semestre · 8 CFU · ING-INF/05 · 4 file

Knowledge of data warehouse architecture and of the methodology for conceptual, logical, and physical design of a data warehouse. - Ability to design a data warehouse. - Knowledge of the SQL statements for OLAP queries…

Scheda dell'insegnamento

Obiettivi formativi

  • Knowledge of data warehouse architecture and of the methodology for conceptual, logical, and physical design of a data warehouse. - Ability to design a data warehouse. - Knowledge of the SQL statements for OLAP queries in a data warehouse. - Ability to write OLAP queries by means of the SQL language. - Knowledge of the main technological characteristics of NoSQL databases. - Ability to design the conceptual model and define the physical data structures for NoSQL databases. - Ability to design dashboards and KPIs - Knowledge of the basic principles of cognitive and perceptive aspects related to visualization, and knowledge of the main visualization techniques. - Ability to design and develop simple systems for visualizing quantitative information.

Programma

The course, compulsory for the Master degree in Data science and Engineering, is offered on the 1st semester of the 1st year. The course introduces database management techniques for data warehouses (database systems specialized in strategic decision support), typically characterized by the need of managing very large databases. It addresses the fundamental issues in the technology of relational and NoSQL database management systems for very large data collections. The ability to visually present information correctly and effectively is a fundamental aspect not only in the engineering and scientific fields, but it represents an essential skill in communication in general. The course covers also the fundamental theoretical and methodological techniques for the effective management of quantitative (mainly numerical) information, which are used to effectively visualize and inspect input data and compute the KPIs by means of data warehouses. Laboratory sessions allow experimental activities, both on technological characteristics and data analysis and visualization, on widespread commercial and open-source products.

  • Data cleaning and data integration (0.6 cr.) • Data warehouses: architecture, methodology for conceptual, logical, and physical design, SQL statements for OLAP queries (3 cr.) • NoSQL databases: Conceptual modeling, technological characteristics, and query languages (2.4 cr.) • Cognitive aspects of visualization and visual integrity principles (1 cr.) • Data visualization tools (1 cr.)

Modalità d'esame

E' possibile sostenere l?esame in anticipo rispetto all?acquisizione della frequenza

Testi di riferimento

Copies of the slides used during the lectures, examples of written exams and exercises, and manuals for the activities in the laboratory will be made available. All teaching material is downloadable from the course website or the teaching Portal. Reference books: • Matteo Golfarelli, Stefano Rizzi. Data Warehouse Design: Modern Principles and Methodologies, McGraw-Hill Education, 2009 • Kristina Chodorow, Shannon Bradshaw. MongoDB: The Definitive Guide (Powerful and Scalable Data Storage), 3 ed. O'Reilly Media, 2018. • Stephen Few. Show Me the Numbers: Designing Tables and Graphs to Enlighten, 2nd Edition. Analytics Press, 2012 • Edward R. Tufte. The Visual Display of Quantitative Information. Graphics Press, 1983.

Codice insegnamento P272651286

Appunti MongoDB for Data Management — 2025 MongoDB è un database NoSQL con architettura schema-less, utilizzando documenti BSON. I concetti chiave includono collezioni e documenti, con ciascun documento identificato da _id. MongoDB supporta alta scalabilità, prestazioni elevate e operazioni in tempo reale. Il metodo find() restituisce un cursore che consente di iterare sui risultati, applicando limit(), sort() e pretty(). Vantaggi del cursore sono efficienza e flessibilità. MongoDB non supporta join diretti tra collezioni; alternative includono query separate o $lookup. Operazioni su elementi nei documenti consentono di verificare valori null, tipi specifici e esistenza dei campi. L'operatore $ Riassunti Riassunto Prima Parte — 2021 pillola free This document outlines Data Warehouse (DW) design principles, contrasting Top-Down (Inmon, atomic data) and Bottom-Up (Kimball, data marts, star schema) approaches. It delves into conceptual and logical design, covering dimensional modeling with facts, dimensions, and measures, alongside schema types like Star and Snowflake. Key concepts of the ETL (Extraction, Transformation, Loading) process and Online Analytical Processing (OLAP) for multidimensional analysis are explained. The physical design section details various indexing strategies such as B+tree, bitmap, join, and hash structures, and the use of materialized views to optimize DW performance and query efficiency for data science and engineering applications. Riassunti Riassunto Seconda Parte — 2021 pillola free Il testo fornito è illeggibile e composto esclusivamente da caratteri di controllo, simboli non stampabili e rumore digitale tipico di un file PDF corrotto o estratto male. Non contiene alcuna informazione testuale significativa relativa al corso di Data Management and Visualization né ai concetti accademici richiesti per il riassunto universitario. Di conseguenza, è impossibile generare una sintesi coerente dei contenuti didattici poiché la fonte originale non trasmette alcun messaggio comprensibile in italiano o in altra lingua. Riassunti Riassunto Terza Parte — 2021 pillola free Il testo fornito contiene esclusivamente dati binari e caratteri di controllo illeggibili, privi di contenuto informativo utile per un riassunto accademico. Non è possibile quindi generare una sintesi coerente sulla gestione dei dati o la visualizzazione poiché il materiale sorgente non presenta alcuna informazione testuale significativa da elaborare nel contesto del corso di Data Science and Engineering.
Data science and machine learning lab 1° anno · 1° semestre · 8 CFU · ING-INF/05 · 0 file

Knowledge of the main phases characterizing a data science process. • Knowledge of the major data mining algorithms for classification, regression, clustering, association rule mining and anomaly detection. • Knowledge…

Scheda dell'insegnamento

Obiettivi formativi

  • Knowledge of the main phases characterizing a data science process. • Knowledge of the major data mining algorithms for classification, regression, clustering, association rule mining and anomaly detection. • Knowledge of the major data mining and machine learning libraries. • Ability to design, implement and evaluate a data science process. • Ability to design, implement and evaluate analytics scripts in the Python language. • Ability to use and tune data mining and machine learning algorithms.

Programma

The course, compulsory for the Master degree in Data science and Engineering, is offered on the 1st semester of the 1st year. The course is focused on the design and implementation of data-driven processes, which are commonly exploited today to extract knowledge from data and support decision making. Specifically, the course initially introduces the data science process, focusing on all its main phases, and then provides the theoretical and practical knowledge about the data mining and basic machine learning algorithms that are commonly used for analyzing large and heterogeneous data. The course introduces state-of-the-art data mining and machine learning libraries in Python. Through laboratory sessions, all the phases of a standard data science process (e.g., data preparation and cleaning, data exploration and characterization, data mining algorithm selection and tuning, result evaluation) will be explored with a learning-by-doing fashion.

  • Data science process: main phases (0.4 cfu) • Data collection, cleaning, transformation and enrichment, and feature engineering (0.5 cfu) • Data mining algorithms: classification, regression, clustering, association rule mining, anomaly detection (1.8 cfu) • Introduction to data mining and machine learning libraries in Python (e.g., scikit-learn) (1.2 cfu) • Case study analysis (0.6 cfu) • Data science process design in the lab (3.5 cfu)

Modalità d'esame

E' possibile sostenere l?esame in anticipo rispetto all?acquisizione della frequenza

Testi di riferimento

Copies of the slides used during the lectures, examples of written exams and exercises, and manuals for the activities in the laboratory will be made available. All teaching material is available on the course website. Book (only a few chapters needed) - Tan, Steinbach, Karpatne, Kumar, 'Introduction to data mining', 2 ed., Pearson, 2019

Codice insegnamento 01VSCWS

Data science lab: process and methods 1° anno · 3 file
Altro Report Regression — 2021 pillola free Questo documento analizza un approccio al problema di regressione per prevedere la qualità del vino, gestendo variabili categoriali ad alta cardinalità tramite embedding Poincaré e FastText. Sono stati valutati diversi modelli, tra cui Random Forest e Gradient Boosting, ottenendo una puntuazione R² out-of-train superiore a 0,85 senza tuning fine. Il preprocessing ha incluso l'uso di mean encoding per alcune variabili e la trasformazione del testo descrittivo in vettori predittivi. Altro Report — 2021 pillola free Il report affronta un problema di regressione per prevedere la qualità del vino analizzando recensioni esperte su 120 mila dati. Dopo aver esplorato il dataset, sono state applicate tecniche di preprocessing come l'eliminazione duplicati, il riempimento valori mancanti e la creazione di feature testuali tramite TF-IDF per gestire alta cardinalità e linguaggio specifico. Sono stati confrontati diversi modelli tra cui Random Forest, Linear Regression e SVR ottimizzando i parametri con grid search su split train/test. Dispense Python intro — 2020 pillola free Il corso introduce Python come linguaggio interpretato, essenziale per la data science grazie alla sua sintassi pulita e all'assenza di dichiarazioni dei tipi. Vengono illustrati due scenari principali: l'utilizzo di IDE complessi come PyCharm per progetti avanzati o Jupyter Notebook per prototipazione rapida con visualizzazione immediata dei risultati. Per gestire le librerie scientifiche fondamentali (NumPy, Pandas) in modo isolato e sicuro, si utilizzano ambienti virtualizzati creati tramite il comando pip3 install.
Decision making and optimization 1° anno · 1° semestre · 8 CFU · MAT/09 · 1 file

Expected knowledge: Students will study methods and algorithms for solving constrained optimization problems. They will learn how to use existing linear continuous, linear integer and nonlinear solution methods and…

Scheda dell'insegnamento

Obiettivi formativi

Expected knowledge: Students will study methods and algorithms for solving constrained optimization problems. They will learn how to use existing linear continuous, linear integer and nonlinear solution methods and develop new ones. Particular attention will be given to optimization on graphs and networks. The computational complexity of optimization problems, which affects the choice of suitable solution algorithms, will be studied. The considered solution methods are both exact (Branch and Bound, Cutting Planes, Dynamic Programming) and approximated (heuristics and metaheuristics: tabu search, simulated annealing, genetic algorithms and other). Expected skills: Skills developed by students will consist of the construction of a problem solving mentality. This mentality will be based on mathematical models and related algorithms to solve decision making and optimization problems in data science and engineering.

Programma

The aim of the course is to provide students with theoretical and operational tools for modeling and solving decision making and optimization problems in data science and engineering. Those tools are powerful mathematical methods (models, algorithms, and software) to solve complex problems involving the minimization (or maximization) of objective functions, subject to given constraints. Starting from real-life optimization problems in data science and engineering, methods and algorithms for solving them will be studied. Particular attention will be paid to the computational complexity of the problems and the required solution methods.

1. Linear programming: modeling techniques, basic concepts of the Simplex method and duality (10% of the course). 2. Computational complexity: problem classes P, NP, NP-complete, and CoNP-complete (5% of the course). 3. Exact optimization methods: Branch and Bound, Cutting Planes, and Dynamic Programming (20% of the course). 4. Heuristic optimization methods: greedy algorithms, GRASP, Beam Search, meta-heuristics (Tabu Search, Simulated Annealing, Genetic Algorithms, ACO, VNS, RBS), and math-heuristics (30% of the course). 5. Network flow problems: min cost flow and max flow (5% of the course). 6. Decision making under uncertainty: Stochastic Programming with recourse, Measures for Stochastic Programming, Progressive Hedging method (10% of the course). 7. Nonlinear Programming: theoretical conditions for unconstrained and constrained optimization, algorithms for unconstrained and constrained optimization (20%).

Modalità d'esame

E' possibile sostenere l?esame in anticipo rispetto all?acquisizione della frequenza

Testi di riferimento

R. Tadei, F. Della Croce, A. Grosso, Fondamenti di Ottimizzazione, Progetto Leonardo, Editrice Esculapio, Bologna, 2005. R. Tadei, F. Della Croce, Elementi di Ricerca Operativa, Progetto Leonardo, Editrice Esculapio, Bologna, 2010. M. Ghirardi, A. Grosso, G. Perboli, Esercizi Svolti di Ricerca Operativa, Progetto Leonardo, Editrice Esculapio, Bologna, 2009. R.K. Ahuja et al., Network Flows, Prentice Hall, New Jersey, 1993. J.R. Birge, F. Louveaux, Introduction to Stochastic Programming, Springer, 2011. D. J. Luenberger, Linear and Nonlinear Programming, Springer, 3rd ed., 2008. G.L. Nemhauser, L.A. Wolsey, Integer and Combinatorial Optimization, Wiley, 1988. A. Ruszcynski, Nonlinear Optimization, Princeton Univeristy Press, 2006. Other learning material and examples of previous exams will be available on the course website.

Codice insegnamento P742192343

Distributed architectures for big data processing and analytics 1° anno · 2° semestre · 8 CFU · ING-INF/05 · 2 file

The course aims at providing: • Knowledge of the main problems and opportunities arising in the big data context and technological characteristics of the infrastructures and distributed systems used to deal with big data…

Scheda dell'insegnamento

Obiettivi formativi

The course aims at providing: • Knowledge of the main problems and opportunities arising in the big data context and technological characteristics of the infrastructures and distributed systems used to deal with big data (e.g., Hadoop and Spark). • Ability to write distributed programs to process and analyze big data by means of novel programming paradigms: the Map Reduce and Spark programming paradigms • Ability to write distributed programs to process and analyze streaming data • Knowledge of state of the art machine learning library for big data (e.g., MLlib) • Ability to design a big data pipeline

Programma

Traditional data analytic and distributed systems are no more adequate in the big data era. Hence, to efficiently extract relevant knowledge from the big amount of available heterogeneous data, novel data models, programming paradigms, and distributed frameworks are needed. The course addresses the data analytics challenges arising in the Big Data era. Specifically, the course will cover the entire big data processing pipeline, by introducing the state of the art distributed frameworks for big data (e.g., Hadoop and Spark) and the current programming paradigms (e.g., MapReduce, Spark RDDs) that are used to analyze and extract knowledge from big data, also by means of distributed machine learning algorithms. The course will also cover the streaming data analytics topic by means of the state of the art frameworks (e.g., Kafka, Spark streaming, and Storm).

Lectures and classroom exercises (62 hours) • Introduction to Big data: characteristics, problems, opportunities (3 hours) • Design of a big data pipeline (3 hours) • Hadoop and its ecosystem: infrastructure and basic components (4.5 hours) • Map Reduce programming paradigm (9 hours) • Spark Architecture and RDD-based programming paradigm (21.5 hours) • Data streaming analytics (Kafka, Spark Streaming, Storm) (12 hours) • Data mining and Machine learning libraries: MLlib (9 hours) Laboratory activities (18 hours) • Development of big data applications by means of Hadoop and Spark (18 hours)

Modalità d'esame

E' possibile sostenere l?esame in anticipo rispetto all?acquisizione della frequenza

Testi di riferimento

Copies of the slides used during the lectures, examples of written exams and exercises, and manuals for the activities in the laboratory will be made available. All teaching material is downloadable from the course website and the teaching portal. Reference books: • Matei Zaharia, Bill Chambers. Spark: The Definitive Guide (Big Data Processing Made Simple). O'Reilly Media, 2018. • Advanced Analytics and Real-Time Data Processing in Apache Spark. Packt Publishing, 2018. • Tom White. Hadoop, The Definitive Guide. (Third edition). O'Reilly Media, 2015. • Matei Zaharia, Holden Karau, Andy Konwinski, Patrick Wendell. Learning Spark (Lightning-Fast Big Data Analytics). O’Reilly, 2015.

Codice insegnamento P219661310

Fundamentals of Artificial Intelligence, Machine and Deep Learning 1° anno · 2° semestre · 10 CFU · ING-INF/05 · 0 file

Knowledge of the main characteristics of artificial Intelligence: historical overview and modern definition; role of Machine and deep learning - Knowledge of the main characteristics of Statistical Machine Learning:…

Scheda dell'insegnamento

Obiettivi formativi

  • Knowledge of the main characteristics of artificial Intelligence: historical overview and modern definition; role of Machine and deep learning - Knowledge of the main characteristics of Statistical Machine Learning: theory and algorithms - Knowledge of the main characteristics of Artificial Neural Networks - Knowledge of the main characteristics of modern Deep Learning techniques

Programma

The course is offered on the II semester of the I year. The course is taught in English. The course addresses the core issues in machine learning, with a special focus on algorithms and theory of statistical machine learning, and modern techniques for deep learning. Lab activities will quip students with first-hand experience on modern optimization methods and programming framework most used in advance research and companies as of today, and to have first hand experiences on the properties of such algorithms on specific case studies.

  • Artificial Intelligence: historical definition, brief overview, modern definition and current role of machine and deep learning. - Overview of fundamental knowledge of probability. - Generative and discriminative methods. - Perceptron. - Artificial Neural Networks. - Support Vector Machines. - Kernel functions. - Active learning - Convolutional Neural Networks. - Stochastic Gradiant Descent. - Batch Normalization. - Generative Adversarial Networks - Recurrent Neural Networks. - Learning theory. - Data bias - Learning to learn

Modalità d'esame

Modalita di esame: Prova scritta (in aula); Prova orale obbligatoria; Elaborato progettuale individuale; Elaborato progettuale in gruppo;
Exam: Written test; Compulsory oral exam; Individual project; Group project;
... The exam includes a mandatory oral part, and the evaluation of the report on the team projects assigned during the course.

Testi di riferimento

Copies of the slides used during the lectures will be made available. All teaching material is downloadable from the teaching Portal. Reference books: - I. Goodfellow, Y. Bengio, A. Courville. Deep Learning. MIT press. - K. P. Murphy. Machine Learning: a probabilistic perspective. MIT Press

Codice insegnamento 01VSDWS

Information Theory for Data Science 1° anno · 1° semestre · 8 CFU · ING-INF/03 · 0 file

At the end of the course the student will know: - The key concepts of Information Theory - The meaning of Entropy for Data Science - The application of Information Theory to Classifiers - The application of Information…

Scheda dell'insegnamento

Obiettivi formativi

At the end of the course the student will know: - The key concepts of Information Theory - The meaning of Entropy for Data Science - The application of Information Theory to Classifiers - The application of Information Theory to Data Compression and Representation - The role of Information Theory for Cryptography and some of the most important Crypto Algorithms - How to realize a Matlab of Python project to analyze an Information Theory problem

Programma

Information Theory studies how to quantify, represent, store, compress, transmit information. It is a fundamental tool for a data scientist and has many important applications in Classifiers, Machine Learning, Artificial Intelligence, Data compression, Data transmission and Cryptography. The course aims to provide the basis of Information Theory and show some of the most important applications for Data Science, including Classifiers, Data Compression and Cryptography. The course has a learning-by-doing approach where for each topic an assignment is proposed that must be solved by writing a Matlab or Python program and writing a report. About half of the hours are devoted to tutoring, where the teachers are available to help students with the assignments.

The course topics are: 1. Introduction to Information Theory (10 h) 2. Application of Information Theory to Classifiers (14 h) 3. Application of Information Theory to Data Compression 1 (14 h) 4. Application of Information Theory to Data Compression 2 (14 h) 5. Information Theory and Cryptography (14 h) 6. Algorithms fo Cryptography (14 h)

Modalità d'esame

Modalita di esame: Prova scritta (in aula); Prova orale facoltativa; Elaborato progettuale in gruppo;
Exam: Written test; Optional oral exam; Group project;
... The scope of the exam is to verify that the student: - has acquired the basis of information theory - can develop Matlab/Python-based projects on the application of information theory to some data science problems - is able to analyze, present and discuss the results in a professional technical report. The course is divided in 6 sections. For each section an assignment (to be solved individually) is proposed. The student must deliver a pdf report containing all the results, the figures and the required answers and all the written Matlab or Python programs. Each assignment is evaluated and receives a mark (max = 30). To encourage the students to stay aligned to the course, the students who deliver their assignment withing 2 weeks from when it is assigned received 2 more bonus points (max mark = 32). At the end of the course the mean value of the assignment marks is proposed as the final mark. An extra assignment (or an oral exam with three questions from a list of questions prepared at the end of the course) is proposed to students who want to further increase their mark (max +3/30 to the final mark). Students who get at least 32 receive 30 cum laude.

Testi di riferimento

Thomas M. Cover and Joy A. Thomas “Elements of Information Theory� Aston Zhang, Zack C. Lipton, Mu Li, Alex J. Smola “Dive into Deep Learning� Chapter 18 “Information Theory� (available online) Lecture recordings. Notes from the teachers.

Codice insegnamento 01DTGWS

Mathematical and statistical methods for Artificial Intelligence 1° anno · 2° semestre · 8 CFU · MAT/03 · 0 file

The student will learn the basic concepts of machine and statistical learning from both the frequentist and the Bayesian viewpoint, the main techniques for multivariate data and the critical use of specialised software…

Scheda dell'insegnamento

Obiettivi formativi

The student will learn the basic concepts of machine and statistical learning from both the frequentist and the Bayesian viewpoint, the main techniques for multivariate data and the critical use of specialised software (R, SAS, BUGS, STAN, MATLAB, ORANGE, R, Python, Rapid Miner and the like), being able to tell the pros and cons.

Programma

The aim of this course is to introduce the students to a solid mathematical foundation of Machine Learning (ML) by blending learning theory, geometry, topology and statistics. Starting from introducing the algebraic and geometric structures used to represent and manipulate data, we will move to the more geometrical aspects of ML with a particular attention to the various concepts of dimension and learnability. Linear algebra-based methods will be thoroughly presented. At the same time, (generalized) linear models, their selection, regularization, validation and hyperparametric tuning will be presented in full detail from a rigorous statistical point of view as well as some Bayesian methods. These two aspects of the theory, the geometrical and the statistical one, will merged via case study on real and in silico data.

  • Mathematical representations of data: spaces (including Hilbert spaces), metrics, distances, dissimilarities and kernels. Geometry of very high dimensional spaces and the curse of dimensionality. • Learning theory, PAC, Rademacher and VC dimension. Trade-off Bias vs Model Variance and Model Complexity. • Cross validation, bootstrap and applications. • Linear algebra-based methods: Principal Component Analysis, Linear Discriminant Analysis, Independent Component Analysis and Stochastic projections (Johnson - Lindenstrauss Transform). • Linear Models (regression, ANOVA, DOE). • Generalized linear models (categorical data, logistic and multinomial regression). • Model and feature selection, hyperparameter tuning (e.g. lasso, AIC, BIC, ridge). • Bayesian networks (basic concepts, exact and MCMC-based computations).

Modalità d'esame

E' possibile sostenere l?esame in anticipo rispetto all?acquisizione della frequenza

Testi di riferimento

Slides of the lectures, examples of R and python scripts and exercises with solutions will be available in the website of the course. A list of suggested books will be also provided by the teacher during the first lecture.

Codice insegnamento 01VSEWS

Numerical optimization for large scale problems 1° anno · 1° semestre · 8 CFU · MAT/08 · 0 file

Knowledge of the main numerical methods for solving large scale numerical optimization problems, according to the problem type. Ability to choose and correctly apply software for different numerical optimization…

Scheda dell'insegnamento

Obiettivi formativi

Knowledge of the main numerical methods for solving large scale numerical optimization problems, according to the problem type. Ability to choose and correctly apply software for different numerical optimization problems, with a critical investigation of the results obtained.

Programma

The course aims at introducing some of the main tools for supporting machine learning algorithms. In particular, the focus will be on the computation of the numerical solution of very large scale nonlinear optimization problems. Both unconstrained and constrained problems will be tackled, describing different methods suitable for the various problems according to their classification (e.g., nonlinear least square problems, quadratic programming problems, purely nonlinear problems...). Foundations of stochastic dynamic programming will be also introduced.

Course syllabus • Convex optimization: - gradient descent method; conjugate gradient method - Numerical differentiation - Newton and quasi-Newton methods - Globalization techniques - Alternating direction method of multipliers (ADMM) • Constrained optimization: - Interior point methods - Projected gradient method - Active set • Stochastic optimization - Static simulation-based optimization (parametric optimization) - Dynamic simulation-based optimization (control optimization)

Modalità d'esame

E' possibile sostenere l?esame in anticipo rispetto all?acquisizione della frequenza

Testi di riferimento

Slides presented during lesson will be made avalaible through the Portale della Didattica. Other material will be suggested in class and, if possible, made avalaible through the Portale della Didattica. Suggested textbook: J. Nocedal, S. J. Wright, Numerical Optimization, Springer, 2006 A. Gosavi, Simulation-Based Optimization, 2nd edition, Springer, 2015

Codice insegnamento 01VVFWS

Statistical methods in data science 1° anno · 1° semestre · 8 CFU · MAT/06 · 0 file

The student will learn the basics of Statistics (sampling distributions, estimates, test statistics, p-values, confidence intervals), solidly based on Probability theory. The aim is for the student to be able to model…

Scheda dell'insegnamento

Obiettivi formativi

The student will learn the basics of Statistics (sampling distributions, estimates, test statistics, p-values, confidence intervals), solidly based on Probability theory. The aim is for the student to be able to model uncertainty in the real world, to draw conclusions from the accrual of evidence and to formulate them in probabilistic terms using appropriate software.

Programma

Basic concepts in Probability and Statistics will be presented to students coming from backgrounds different from Mathematics or Statistics.

  • Review of elementary probability theory and univariate random variables (8 hours) • Conditional, marginal and joint distributions; conditional expectations (6 hours) • Important multidimensional distributions (multinormal, multinomial, DAGs) (10 hours) • Convergence of probability laws and limit theorems (8 hours) • Sampling distributions and point estimation (12 hours) • Confidence intervals with applications to basic designs (11 hours) • Hypothesis testing, including goodness of fit (e.g. chi-square) (11hours) • Software for statistical analysis (14 hours)

Modalità d'esame

Modalita di esame: Prova scritta (in aula); Prova orale facoltativa;
Exam: Written test; Optional oral exam;
... The exam consists of a written examination and an optional oral examination. Both the written and the optional oral part of the exam concerns all the subjects dealt during the course. The aim is to test the student's ability to apply the methods of analysis described during the course and to understand the software tools, without much emphasis on mathematical proofs. The duration of the written exam is two hours. The written exam is made by two parts: 8 quizzes (multiple choice questions) and 4 exercises. The maximum time for the 8 quizzes is 20 minutes. With respect to the 8 quizzes the score for each correct answer is 1 point, 0 points for each wrong or not given answer. The maximum score for the part made by the 8 quizzes is 8/30 points. In this part of the written exam textbooks, student notes or formularies are not allowed. The use of non-programmable electronic calculators is allowed. The maximum score for the part made by the 4 exercises is 24/30 points. In this part of the written exam textbooks, student notes or formularies provided by the teacher during the year are allowed. The use of non-programmable electronic calculators is allowed. The total score obtained in the written test is the sum of the one obtained in the quizzes (max 8/30) and that obtained in the part of exercises (max 24/30). If the total score is 31/30 or 32/30 then the exam score is "30 e lode". To pass the written exam at least 4/30 points in the quizzes and at least 18/30 as total score are required. The oral exam is possible under request for those students that in the written exam get a positive mark (i.e. at least 4/30 points in the quizzes and at least 18/30 as total score). Following the oral test, the mark obtained in the written part of the exam can be increased or decreased by no more than 6 points. During the oral exam the student will have to demonstrate knowledge of the concepts and of the results seen in class. The student will have to be able to provide examples and to solve simple exercises which may be asked by the teacher.

Testi di riferimento

Reference textbooks Jay Devore. Probability and Statistics for Engineering and the Sciences. Any of various editions (Duxbury, Cengage, International). Casella, George, and Roger L. Berger. Statistical inference. Any of various editions Further readings Ross, S. Introduction to Probability and Statistics for Engineers and Scientists. Anyone of various recent editions (Italian translation by Apogeo). Ross, S. A first course in probability. for Engineers and Scientists. Anyone of various recent editions (Italian translation by Apogeo). Robert I. Kabacoff. R in action. Manning. 2nd edition 2015.

Codice insegnamento P941052801

Applied data science project 2° anno · 1° semestre · 8 CFU · ING-INF/05 · 0 file

Knowledge of first-hand computational tools to build applications based on artificial intelligence technologies - Knowledge of the design of best practices and tools - Knowledge of management strategies and tools -…

Scheda dell'insegnamento

Obiettivi formativi

  • Knowledge of first-hand computational tools to build applications based on artificial intelligence technologies - Knowledge of the design of best practices and tools - Knowledge of management strategies and tools - Knowledge of communication tools and skills - Knowledge of the solution impact s - Hands on experience with an application that utilizes real user data offered by companies and research institutes

Programma

The course is offered in the first semester of the 2nd year. The course is taught in English. The main objective of the course is to learn how to build applications based on an artificial intelligence technology. The topics of the course range from the design and development, management and communication of the project leading to the finalization of real-word applications. The course has a three-fold structure: concepts, tools, and labs. The goal of this course is to let students work on a long running project and learn how to manage all project steps (identification of user needs, problem statement, task assignment, design and implementation of the application, testing, milestones management, writing of intermediate and final reports, result communication). Laboratory activities will expose students with first-hand experience with data science and artificial intelligence technologies in collaboration with international companies and applied research institutes.

Lectures (26 hours) - Building an artificial intelligence application (1.5h) - Introduction to project pillars: management, design, development and communication (1.5h) - Model and Data-centric projects (1.5h) - Foundation models (1.5) - Retrieval Augumented Generation (1.5h) - Artificial intelligence ethics (1.5h) - Impact of a project and SGDs (1.5h) - Project tools (14h) - Management: GANTT, Work breakdown structure, work packages and tasks, milestone - Design: User personas, stakeholder map, functional requirements - Development: - Foundation models: Large language models and vision language models - Domain adaptation and downstream tasks - Retrieval Augumented Generation implementation - Version control and testing - Communication: Presentation, Technical Paper, Deliverable - Success stories of past projects (1.5h) Laboratory activities (54h) - Project proposals (1.5h) - User-centred application (3h) - Stakeholder maps and user personas - User journey - Use of SDKs and REST APIs of commercial neural models with prompt engineering (6h) - Use of Ollama with open source models (3h) - Development of the team project (40.5)

Modalità d'esame

Modalita di esame: Prova orale obbligatoria; Elaborato progettuale in gruppo;
Exam: Compulsory oral exam; Group project;
... The exam includes a mandatory oral part (20% of the overall mark), and the evaluation of the team project assigned during the course (80% of the overall mark). Learning objectives assessment The oral exam covers all the theoretical concepts introduced during the course and will assess - Knowledge of first-hand computational tools to build applications based on artificial intelligence technologies - Knowledge of the design of best practices and tools - Knowledge of management strategies and tools - Knowledge of communication tools and skills - Knowledge of the solution impact - Hands on experience with an application that utilizes real user data offered by companies and research institutes The team project and the delivered report will assess - Ability to design, implement and evaluate a complete project - Ability to use first-hand computational tools to address projects - Ability to use management tools - Ability to use communication tools Exam structure and grading criteria The team project consists in managing, designing and implementing an artificial intelligence solution utilizing a data science approach. Projects are assigned by companies or applied research institutes. The team project is assigned in the first half of the course and its report must be delivered before the end of the course. The team project is also characterized by intermediate milestones. Its score is valid for the entire academic year. The evaluation of the team project is based on the performance and accuracy of the proposed solution, in terms of standard quality measures (e.g., prediction accuracy) and completeness (i.e., in depth analysis of each phase of the designed process and motivation for selecting given techniques and algorithms). The clearness and completeness of the delivered reports will also be considered. The oral exam covers all the theoretical parts of the course. The score is based on the completeness and clarity of the answers. The maximum grade for the team project is 32. The maximum grade for the oral part is 32. The final grade is given by weighted average of the two parts (0.8*grade team project + 0.2*grade oral part). The exam is passed if the grade of the team project is greater than or equal to 18 and the grade of the oral part is greater than or equal to 18.

Testi di riferimento

Copies of the slides used during the lectures will be made available. All teaching material is downloadable from the teaching portal. Reference books: - Machine Learning Yearning, by Andrew Ng - Data Science from Scratch, Joel Grus - Harvard Business Review Project Management Handbook: How to Launch, Lead, and Sponsor Successful Projects, by Antonio Nieto-Rodriguez - Oxford Guide to Effective Writing and Speaking: How to Communicate Clearly, by John Seely - The Design of Everyday Things: Revised and Expanded Edition, by Donald Norman - Noessel C. Designing Agentive Technology. AI That Works for People. Rosenfeld, 2013 - Proposal for a Regulation laying down harmonised rules on artificial intelligence, European Commission, 2021

Codice insegnamento 02TXXWS

Challenge 2° anno · Annuale · 8 CFU · 0 file
Computer-aided simulations lab 2° anno · 1° semestre · 8 CFU · ING-INF/03 · 0 file

Knowledge of the main elements of a simulator - Ability to evaluate the performance of a dynamic discrete system through simulation - Ability to understand the fundamental behaviour of a dynamic discrete system in…

Scheda dell'insegnamento

Obiettivi formativi

  • Knowledge of the main elements of a simulator - Ability to evaluate the performance of a dynamic discrete system through simulation - Ability to understand the fundamental behaviour of a dynamic discrete system in terms of its stability, performance characteristics and limits, bottlenecks - Ability to model flows of vehicles, data, people, as well as the interactions among elements of complex dynamic systems - Ability to compare in a quantitative way two dynamic discrete systems

Programma

The course provides to students the basic knowledge on performance evaluation of dynamic systems via computer simulations, and the skills of using some fundamental methodologies for the assessment, design and understanding of data processing systems. Two complementary approaches are discussed to study complex discrete systems such as computer networks and data processing systems. On the one hand, the course introduces analytical modelling based on theory stochastic processes and queuing theory. On the other hand, students will be introduced to simulation techniques, which can be applied to study the dynamic evolution of a system as a function of time. Applications of these tools to case studies of practical interest are presented and developed in the activities in the lab.

Theory of simulation (3CFU): - Basic concepts of performance evaluation - Discrete-event Theory of simulation (3CFU): - Basic concepts of performance evaluation - Discrete-event and process simulation - Fitting empirical distributions - Simulating traffic sources - Analysis of the output – Identification of transients - Analysis of transient behaviors Application to epidemic systems (1CFU) - Introduction to Galton-Watson processes - Asymptotic behavior and phase transition - Evaluation of the extinction probability - Generalizations (timed process) and epidemic process on graphs. Queueing systems (0.8 CFU) - Basic concepts of queuing systems - Queuing systems in isolation - Load and system stability - Little's law Application to approximated data structures (2CFU) - bins and balls models - hash functions and fingerprinting - hash tables and Bloom filters Application to other scenarios (1.2 CFU)

Modalità d'esame

Modalita di esame: Prova orale obbligatoria; Elaborato progettuale individuale;
Exam: Compulsory oral exam; Individual project;
... The evaluation of the exam will consist of three parts. 1) A report on the lab activities (30% final grade) 2) Bonus points for live lab activities (20%) 3) An oral exam (50% final grade). The oral exam consists of 2/3 questions about every argument considered in the course. The goal of the exam is to evaluate knowledge and abilities acquired by the student.

Testi di riferimento

The teaching material will be provided by the teachers on the web portal. A useful textbook is: Leemis, Lawrence M., and Stephen K. Park. Discrete-event simulation: A first course. Prentice-Hall, Inc., 2005.

Codice insegnamento 01DTHWS

Deep natural language processing 2° anno · 1° semestre · 8 CFU · ING-INF/05 · 0 file

knowledge of text preprocessing and transformation techniques. - knowledge of the main Deep Learning architectures for inferring vector representations of text. - knowledge of the key NLP tasks and application contexts…

Scheda dell'insegnamento

Obiettivi formativi

  • knowledge of text preprocessing and transformation techniques. - knowledge of the main Deep Learning architectures for inferring vector representations of text. - knowledge of the key NLP tasks and application contexts (entity recognition, question answering, intent detection, text categorization, machine translation, sentiment analysis). - ability to design and implement a recommender system. - ability to study, design, implement, and test a text summarization algorithm. - Ability to design a full NLP pipeline, including the requirement analysis, methodology design and implementation, performance assessment, and result visualization.

Programma

The course aims at introducing the fundamentals of Natural Language Processing, the main Deep Learning solutions for learning word, sentence, and contextualized embeddings (e.g., Word2Vec, GloVe, BERT), and the main NLP applications (e.g., entity recognition, text categorization, intent detection, text summarization)

The course covers the following topics: - Natural Language Processing fundamentals: text characteristics, text preparation, topic modelling, overview of the main NLP applications (1.25 cr.) - Vector representations of text: word embedding architectures and shallow sentence embedding architectures (1.25 cr.) - Contextualized embedding e attention mechanism (0.9 cr.) - Entity Recognition, Intent Detection e Question Answering (1.2 cr.) - Text summarization (0.9 cr.) - Machine Translation (0.45 cr.) - Recommender Systems (0.45 cr.) - Application of NO SQL Databases for Information Retrieval: Elastic Search (0.45 cr.) - Text Categorization and Sentiment Analysis (0.6 cr.) - NLP pipeline design: requirement analysis, methodology design and implementation, empirical assessment, outcome presentation (0.6 cr.)

Modalità d'esame

Modalita di esame: Prova scritta (in aula); Elaborato progettuale in gruppo;
Exam: Written test; Group project;
... The exam comprises two main mandatory parts: 1) a written test on the theoretical aspects introduced during the course (closed and/or open-ended questions) (max. 22 points). 2) the discussion and evaluation of the final report on a team project assigned during the course (max. 10 points). The final score is given by the sum of the points achieved in the written part and in the evaluation of the final report. 30 with honors (30L) will be assigned if the final score is equal to or above 31. Learning objectives assessment: The written part will assess - NLP fundamentals - Embedding models - Recommender Systems - Text categorization and sentiment analysis - Elastic Search - Other NLP applications covered by the course (e.g., Entity Recognition, Intent Detection e Question Answering, Text Summarization, Machine Translation) The team project will assess - the ability to define the requirements and the problem statement. - the ability to study, design, and implement a full NLP pipeline. - the ability to develop and test efficient and effective text analytics solutions, - the ability to setup, run, and collect a sufficiently large set of empirical results, - the ability to present the requirement analysis, the methodology design, and the outcomes of the empirical analyses. In the written part the points assigned to each question/exercise will be clearly indicated next to the question/exercise. Wrong answers may cause a score penalty. Missing answers will receive no penalty. The exam is closed-book. Electronic devices are not allowed.

Testi di riferimento

  • Neural Network Methods for Natural Language Processing. Graeme Hirst.

Codice insegnamento 01VIXWS

Efficient Computing for Artificial Intelligence 2° anno · 1° semestre · 8 CFU · ING-INF/05 · 0 file

The contents and thus the skills acquired at the end of the course include both the hardware aspects of the problem (architectures of "edge" devices) and the software aspects (programming models, protocols, and related…

Scheda dell'insegnamento

Obiettivi formativi

The contents and thus the skills acquired at the end of the course include both the hardware aspects of the problem (architectures of "edge" devices) and the software aspects (programming models, protocols, and related APIs). The skills acquired will allow a correct understanding of complex AI deployments, in which the flow of data is processed not only on servers but also, partially or entirely, on local devices with reduced computational resources and energy budget. At the end of the course, each student will be able to train, optimize, deploy an AI system on a low-power commercial board, and to implement the data-exchange protocols to communicate raw-data and distilled information among distributed end-nodes. Specific Learning Outcomes: - Understanding of the topics covered and specifically of the hardware and software technologies involved in real-world deployments of AI applications, with a focus on the IoT domain. - Understanding and use of AI model design and optimization tools, with particular attention to non-functional metrics (such as latency, memory, energy, and power consumed) and to DNN models. - Being able to recognize and use adequate programming tools and communication protocols to share and distribute data across connected devices. - Being able to design, integrate, and evaluate the main components of a distributed AI system using the appropriate programming tools.

Programma

The course aims to introduce the challenges related to the deployment and efficient execution of artificial intelligence (AI) applications, especially those based on deep neural networks (DNNs). It discusses how the various steps of an AI application’s lifecycle can be distributed among edge and cloud devices (from data collection to model training and inference), focusing in particular on how to efficiently execute the inference phase on hardware different from the high-performance servers available in the cloud, such as mobile or embedded Internet of Things (IoT) devices. This encompasses three main objectives: 1) Understanding the complex ecosystem behind AI applications deployed in the real world, and the characteristics of the compute devices available at the edge and in the cloud. Understanding the challenges arising from the use of portable, low-power devices as (i) the main gateway to collect, pre-process, and exchange raw data, and as (ii) the main hosting node for the execution of DNN models. 2) Introducing techniques (such as quantization, pruning, neural architecture search, etc) to train and optimize efficient DNNs, carefully considering their memory occupation, execution latency, and energy (or CO2) consumption. Describing how efficient inference engines optimize the execution of DNN workloads. All the techniques that will be presented are currently applied in real-world AI deployments at any scale, from tiny models executing at the edge, to LLMs in the cloud. 3) Introducing the software stacks, communication protocols and data formats employed in distributed platforms for AI-based applications, to let multiple inference nodes communicate with each other and/or with a private server.

The course topics are organized in three main parts: 1. HW and SW technologies adopted in a typical AI-based application; computer architectures used for running and developing machine learning algorithms at the edge and in the cloud; basic knowledge about sensors as data sources; modeling of non-functional metrics (performance, memory occupation, energy consumption). 2. Efficient AI: resource-driven model optimization of deep neural networks (quantization, pruning, NAS, etc), industrial frameworks and engines for efficient model training, optimization and deployment. 3. Data exchange: Distributed software platforms for edge computing, management of edge-fog-cloud interfaces (web programming/network programming of IoT protocols - REST response and Publish subscribe and MQTT), Microservices design patterns, cloud/edge workload balancing. Lab practices will touch upon the above topics, teaching students to implement their own optimization and communication applications using as benchmark real-life use-cases where IoT data will be sampled, pre-processed, distilled and communicated with a dedicated server node.

Modalità d'esame

Modalita di esame: Elaborato scritto prodotto in gruppo; Prova scritta in aula tramite PC con l'utilizzo della piattaforma di ateneo;
Exam: Group essay; Computer-based written test in class using POLITO platform;
... The exam consists of two mandatory parts: 1. the evaluation of three (3) group projects assigned during the course, one assignment for each of the three main parts of the course; the maximum score for each delivered project is 6 points (total: 18 points). 2. a written test on the theoretical aspects introduced during the course, including numerical exercises and open-ended questions. The time allowed for the test is 1 hours, closed books; the maximum score for this part is 14 points. The final score is the sum of the score obtained in the two parts. A minimum of 6 points at the written test is required for passing. A score of 30 cum laude is awarded for students obtaining more than 31 total points (written test + labs).

Testi di riferimento

Class handouts and additional material will be made available on the course webpage. User guides and tutorials for lab sessions will be made available as well, including code templates and all the needed tools/library.

Codice insegnamento 02VRVWS

Free ECTS credits (vedi Piano di studi completo ) 2° anno · Annuale · 12 CFU · 0 file
Geometric Learning, Time-Variant Data analysis, and Anomaly Detection 2° anno · 2° semestre · 8 CFU · MAT/03 · 0 file

By the end of the course, students will be able to: Knowledge and Understanding • Grasp the mathematical underpinnings of geometric learning and its applications to manifolds, symmetry groups, and invariant…

Scheda dell'insegnamento

Obiettivi formativi

By the end of the course, students will be able to: Knowledge and Understanding • Grasp the mathematical underpinnings of geometric learning and its applications to manifolds, symmetry groups, and invariant representations. • Understand the architecture and functioning of graph neural networks, including: • Graph Convolutional Networks (GCN) • Graph Attention Networks (GAT) • Graph Isomorphism Networks (GIN) • Temporal GNNs (T-GNN, EvolveGCN, TGAT) • Comprehend the principles of time-series modeling, including: • Classical models: ARIMA, VAR, Kalman Filters • Machine learning approaches: Random Forests, Gradient Boosting • Deep learning methods: RNNs, LSTMs, TCNs • Master the theory and methods for anomaly detection, including: • Statistical tests and control charts • Distance- and density-based approaches • Autoencoders and hybrid deep learning models • Methods specific to temporal and graph data Practical and Computational Skills • Implement GNNs and time-series models using PyTorch Geometric, DGL, scikit-learn, stats models, and TensorFlow/Keras. • Conduct feature engineering and data preprocessing for time-variant and graph-structured data. • Evaluate model performance using metrics such as ROC-AUC, F1-score, precision-recall curves, and time-aware diagnostics. • Develop anomaly detection pipelines for real-time monitoring and post-hoc analysis. Application and Critical Thinking • Apply learned techniques to domains such as: • Cybersecurity (e.g., intrusion detection) • Finance (e.g., fraud detection, volatility shifts) • Healthcare (e.g., patient monitoring) • Industrial systems (e.g., predictive maintenance) • Critically evaluate and compare different modeling choices for real-world problems involving non-Euclidean, temporal, and dynamic data.

Programma

his advanced course explores the convergence of geometric learning, graph neural networks (GNNs), and time-variant data analysis, with a strong emphasis on anomaly detection in complex and dynamic systems. The course begins with the foundations of geometric machine learning, focusing on the representation of data in non-Euclidean domains, such as graphs and manifolds. It then progresses to cutting-edge developments in graph neural networks, including architectures adapted to temporal and heterogeneous graph data. The course also introduces techniques for time-series modeling, both classical and modern (e.g., machine learning and deep learning approaches), and culminates in a comprehensive module on anomaly detection, covering both statistical and learning-based methods. Throughout the course, students will engage with real-world datasets and hands-on programming exercises, gaining both theoretical insights and practical expertise.

Module 1: Introduction to Geometric Learning • Symmetries and group actions in data • Invariant and equivariant representations • Manifold learning: Isomap, LLE, Diffusion Maps • Gauge theories and local geometries Module 2: Graph Neural Networks (GNNs) • Message-passing neural networks (MPNNs) • GCN, GAT, GIN • Heterogeneous and dynamic graphs • Temporal GNNs: T-GCN, TGAT, EvolveGCN • Applications: node classification, link prediction, graph classification Module 3: Time-Variant Data and Time Series Modeling • Nature and challenges of temporal data • Classical time series analysis: stationarity, autocorrelation, seasonality • Forecasting with ARIMA, VAR, Kalman Filters • Machine learning and deep learning for time series: RNN, LSTM, GRU, Transformer Module 4: Anomaly Detection in Time and Graph Data • Definitions and types of anomalies: point, contextual, collective • Statistical methods: z-scores, PCA, control charts • Machine learning-based methods: Isolation Forest, One-Class SVM • Deep learning-based methods: Autoencoders, LSTM-AE, GANs • Graph-based anomaly detection: subgraph detection, spectral methods, GAD models

Modalità d'esame

Modalita di esame: Elaborato scritto individuale;
Exam: Individual essay;
... Mini project report describing their workflow, rationale, and findings. (0-16 points) Oral discussion of their conclusions and questions on the theoretical aspects of the methodologies they implied in their project. (0-16 points) Weight: 50% mini project/50% oral exam. The laude is assigned to students with a total score higher than 30 points.

Testi di riferimento

Geometric Learning Bronstein et al., Geometric Deep Learning (2024) Graph Neural Networks Hamilton, Graph Representation Learning (2020) Time Series Analysis Hyndman & Athanasopoulos, Forecasting: Principles and Practice (open-access) Anomaly Detection Aggarwal, Outlier Analysis (2017) Visual/No-code Tools Berthold et al., KNIME: The Konstanz Information Miner

Codice insegnamento 01HZSWS

Innovation management 2° anno · 1° semestre · 6 CFU · ING-IND/16 · 0 file

At the end of the course, students will have acquired a concrete ability to analyze and manage business decisions related to big data in both strategic and operational terms.

Scheda dell'insegnamento

Obiettivi formativi

At the end of the course, students will have acquired a concrete ability to analyze and manage business decisions related to big data in both strategic and operational terms.

Programma

Contemporary digital technologies allow organizations to collect, store and analyze massive amounts of information coming from production processes, from the installed base of physical products, and from users accessing services. The impact of these technologies is highly significant, and ranges from the continuous improvement in internal efficiency and the quality of firms' offering, all the way to the development of radically new and disruptive business models involving multiple firms organized in complex ecosystems. The course has the objective of providing students with an academically-grounded and managerially-oriented understanding of the way with which innovation processes (and, specifically, those based on digital technology and data science) can impact industries and can be proactively managed. The first part of the course will be dedicated to a general discussion on the economics and management of innovation, which will be followed by an in-depth discussion on digitally-enabled strategies and business models. Lectures will be accompanied by multiple examples and mini-case studies, aimed at helping students understand the application of theoretical concepts to business practice. Moreover, students will be organized in groups and required to carry out a project work aimed at studying real organizations and outlining potential digitalization strategies based on data science.

1. Technological Innovation, companies and sectors: Determinants, taxonomies and dynamics of innovation, dominant design and standard. Innovation in business models. Technological forecasting. 2. Big Data as a strategic resource of competition: the use in incremental vs. radical innovation; big data and business model innovation; big data and its relation with a firm’s core competencies 3. Big data and industry-level changes: how big data and the related digital technologies require new core competencies and new alliances between firms 4. Big Data and new organizational architecture: what type of organizational changes and configurations are needed to deploy big data and data scientists effectively 5. Big Data and AI and their role in the decision-making processes at the individual and organizational level.

Modalità d'esame

Modalita di esame: Prova scritta (in aula); Elaborato progettuale in gruppo;
Exam: Written test; Group project;
... The written exam will evaluate the degree to which students have learned and understood theoretical concepts. It will be based on a mixture of closed questions, open questions, and a short commentary to a text. The written exam will lead to a score of 20/30 The group-based project work will allow to evaluate the degree to which students are able to apply theoretical concepts in practice. It will lead to a score of 10/30, based on the following evaluation dimensions: theoretical soundness, internal coherence, business acumen, and presentation quality.

Testi di riferimento

Texts, readings, handouts and other learning resources

Codice insegnamento P755158484

Network Dynamics and Learning 2° anno · 1° semestre · 8 CFU · MAT/05 · 0 file

Knowledge of: - Elements of algebraic and topological graph theory with special emphasis on connectivity, centrality, and network flows. - Elements of non-negative matrix theory (stochastic and substochastic matrices),…

Scheda dell'insegnamento

Obiettivi formativi

Knowledge of: - Elements of algebraic and topological graph theory with special emphasis on connectivity, centrality, and network flows. - Elements of non-negative matrix theory (stochastic and substochastic matrices), their spectral properties, and their use in the mathematical modelling of deterministic and stochastic network dynamics. - Elements of Markov processes over networks (random walks, epidemic spreading, randomized algorithms) - Convex optimization problems over large scale network (flow optimization, inference, learning). Distributed algorithms. - Elements of game theory and learning dynamics. Mechanism design. - Basics of probabilistic graphical models: Bayesan networks and random Markov fields. - Basics of models of random graphs and their fundamental properties Ability to: - Construct and compare mathematical models for interconnected systems arising in information, social, economic, biological, and infrastructure networks. - Apply basics notions of algebraic and topological graph theory, Markov processes, game theory, and dynamical systems in order to analyze networks and interconnected dynamical systems. - Critically identify and evaluate network properties such as centrality, connectivity, emerging behaviors, and scalability. - Design and propose cooperative distributed algorithms on networks, to evaluate their asymptotics, speed of convergence, and complexity, and to implement them on modern platforms for numerical simulation.

Programma

This course aims at presenting the mathematical foundations of networks with special emphasis on dynamical models both of deterministic and stochastic nature, as well to illustrate their main engineering applications. The course covers the basics of: graph theory, non-negative matrices, Markov probabilistic models, game theory, distributed optimization. It introduces the student to several applications: distributed optimization and inference algorithms, opinion dynamics, epidemics models, learning in games.

1. Topological and algebraic graph theory - Basics of graph theory. Directed acyclic graphs, undirected graphs: properties and examples. Combinatorial properties of trees and bipartite graphs. Eulerian circuits. Connected components and condensation graph. Cliques, independent sets, coverings, matchings, and colorings. - Matrices associated to a graph: weight, adjacency, stochastic, and Laplacian matrices. Perron-Frobenius theorem and spectral properties of nonnegative matrices. - Network centrality (degree, eigenvector, Bonacich, Page-rank, Katz). - Network connectivity and flows: Menger’s theorem, max-flow/min-cut theorem. - Applications: constraints satisfaction problems (e.g., scheduling, allocation), social and economic networks, resilience of infrastructure networks. 2. Distributed averaging and linear flow dynamics - Distributed averaging and compartmental systems for closed networks. Convergence theorems, role of centrality. - Dynamics with exogeneous inputs. Properties of sub-stochastic matrices, convergence results. - Applications: distributed estimation and computation on a network, opinion dynamics, wisdom of crowds, social influence, flow diffusion. 3. Distributed optimization - Optimization of convex separable functions with linear coupling constraints. - Network flow optimization: duality, Lagrange multipliers as marginal costs. - Electrical networks: effective resistance, Rayleigh’s variational principle. - Network flow optimization: system optimum traffic assignment, Wardrop equilibrium, price of anarchy, marginal cost mechanisms. -Applications: energy and transportation systems. 4. Markov chains - Discrete- and continuous-time Markov chains: stationary distributions, convergence, ergodic theorem, reversibility, hitting and return times, absorbing probabilities. - Notable examples: birth-and-death chains, random walks on graphs. - Mixing time, conductance, rapid mixing, coupling, - Applications: Markov Chain Monte Carlo, Metropolis-Hastings algorithm, Gibbs sampling. 5. Contagion and diffusion over networks - Pairwise interacting models: general definition and properties. - Epidemic models (SI, SIS, SIR), voter model, evolutionary dynamics. - Computation of the absorbing times and absorbing probabilities for simple topologies (complete, line, star). - Detection and control policies. - Applications: diffusion of innovations, evolutionary competition, spread of rumors and fake news, network security. 6. Game theory and learning - Non-cooperative games in strategic form, best response, dominant strategies, Nash equilibria. mixed strategies, correlated strategies. - Classical examples. Symmetric games. Potential and congestion games. - Network games. Examples: coordination and anti-coordination, graph coloring, quadratic games. - Learning: best response dynamics, log-linear learning, fictitious play. - Mechanism design. - Applications: behavior of social and economic networks, pricing mechanisms in markets, algorithms for combinatorial optimization. 7. Probabilistic graphical models - Bayesian networks - Markov random fields. Ising model and Glauber dynamics. Boltzmann machines. - Distributed inference: computation of marginal and posterior distributions, likelihood maximization, 8. Random graphs - Branching processes. - Erdos-Renyi random graph: phase transitions for connectivity and for the existence of a giant component. - Random graphs with preassigned degree distribution (configuration model). - Preferential attachment and small world models.

Modalità d'esame

Modalita di esame: Prova orale obbligatoria;
Exam: Compulsory oral exam;
... Exam: compulsory oral exam; individual essay; The assessment consists of two parts: 1. Three homework assignments (HW1, HW2, HW3) that will be assigned to the students during the course HW1 and HW2 consist of exercises that are aimed at assessing the students’ achieved learning level of the theoretical aspects and their ability to select relevant principles to solve the proposed problems. In addition to an exercise part of the same nature as in HW1 and HW2, the HW3 assignment includes a small project that involves numerical simulations as well as deductive and analytical reasonings and is aimed at testing the mathematical modelling abilities of the students and their ability to present their analyses and results in a proper format of a written report such that a technically qualified person can follow and obtain similar findings. Students will have two weeks each to submit their HW1 and HW2 reports, and three weeks to submit their HW3 report. 2. An oral test consisting of two parts: (2a) a discussion of the submitted HW1, HW2, and HW3 reports, aimed at testing the depth of the students’ understanding of the subjects and their ability to explain, defend, reflect, critically evaluate, and possibly improve their work; (2b) a presentation of a tpic studied in the course covering both theoretical aspects and possibly their applications. The topic is chosen by the examination committee and communicated to the student, who has 30 minutes to prepare her/his presentation: during this time the student has access to books, notes, and other learning material. This part of the oral test is aimed at evaluating the breadth and depth of the kwoledge acquired by the student, and her/his ability to effectively present and communicate it to a technically qualified audience. Grading: the maximum grade for HW1, HW2, and HW3, upon the discussion detailed at point (2a) above, is of 4,4, and 6 points, respectively. If HW1, HW2, and HW3 are not submitted by their deadline, the maximum grades above are lowered to 3, 3, and 5 points, respectively. The maximum grade for part (2b) of the oral test is 18 points. The final course grade is then obtained by summing up the final grades in HW1, HW2, HW3, and of part (2b) of the oral test: if such sum is less than or equal to 30, the final grade coincides with it, if the sum is strictly larger than 30 the final grade is 30 cum laude.

Testi di riferimento

Part of the course topics are covered by lecture notes that will be made available to the students through the Portale della Didattica. Other material will be suggested in class and made avalaible thorugh the Portale della Didattica.

Codice insegnamento 01TXLWS

Thesis 2° anno · 2° semestre · 22 CFU · 0 file
Scheda dell'insegnamento

Modalità d'esame

Modalita di esame: Accertamento (esame senza voto);
Exam: Check;
... Il voto di Laurea verrà calcolato a partire dalla media degli esami sostenuti dal laureando a cui potranno essere sommati fino ad un massimo di 8 punti addizionali. Punti a disposizione della commissione (max 6): - max 4 punti per la Tesi; - max 2 punti per la Presentazione della Tesi. Punti per la carriera (max 2): - max 1 punto in base al numero di lodi (0.5 punti ogni 5 crediti di esami con lode) - max 1 punto in base alla durata degli studi * 1 punto per una laurea conseguita entro la sessione di laurea di Dicembre del 2° anno di iscrizione; * 0,5 punti per una laurea conseguita entro la sessione di laurea di Marzo del 3° anno di iscrizione; * 0 punti da Luglio del 3° anno in poi [Studenti con un percorso che preveda obbligatoriamente un semestre in più: 3° anno Marzo/Aprile e Luglio - 1 punto 3° anno Ottobre e Novembre/Dicembre - 0,5 punti Studenti con iscrizione iniziale a Marzo senza anticipi: 3° anno Marzo/Aprile e Luglio - 1 punto 3° anno Ottobre e Novembre/Dicembre - 0,5 punti] Qualora il voto finale sia uguale o superiore a 112,51 verrà assegnata la votazione massima di 110L.

Codice insegnamento 17MBRWS

Recensioni del corso

Studi qui? Accedi per lasciare la tua recensione e aiutare altri studenti a scegliere.

★

Nessuna recensione per ora — e la prima è la più preziosa. Condividi la tua esperienza e orienta le future matricole.