ITALIANO
I testi di riferimento per il corso sono:
1) Pattern Recognition and Machine Learning - C. Bishop. Springer, 2006.
2) The Elements of Statistical Learning - T. Hastie, J. H. Friedmann, R. Tibshirani. Springer. 2009. In lingua inglese e disponibile online.
3) Deep Learning - I. Goodfellow, Y. Bengio, A. Courville. MIT Press, 2016.
4)Artificial Intelligence: A modern approach - S. J. Russel, P. Norvig. Prentice Hall, 4th Edition.
Materiale didattico fornito dal docente e disponibile online, per la preparazione all’esame e per lo svolgimento del progetto.
Il corso si propone di fornire conoscenze sulle tecniche di Machine Learning e Intelligenza Artificiale. Lo studente alla fine del corso avrà le conoscenze teoriche degli algoritmi di apprendimento non-supervisionati e supervisionati, con particolare attenzione alle deep neural networks.
Lo studente otterrà le competenze pratiche per analizzare un set di dati attraverso le tecniche di machine learning, in maniera corretta a seconda del tipo dato utilizzato, valutare le prestazioni dell’algoritmo e presentare in maniera chiara, efficace e critica i risultati delle analisi.
Il corso, inoltre, avrà come obiettivo l’insegnamento di alcuni strumenti pratici per applicare e implementare gli algoritmi di machine learning.
L’insegnamento si compone di 64 ore di didattica frontale, suddivise in lezioni da 2 e 3 ore.
Le lezioni frontali si avvalgono del supporto di diapositive e riguardano aspetti teorici della disciplina.
Inoltre, all’interno del corso sono previste delle esercitazioni pratiche che includono l’applicazione e l’implementazione di alcuni algoritmi presentati durante il corso. Le esercitazioni utilizzeranno esclusivamente il linguaggio di programmazione Python e le principali librerie usate per l’analisi dei dati e il machine learning (scikit-learn, numpy, pandas, pytorch ecc.).
La frequenza è facoltativa ma altamente consigliata.
La verifica dell'apprendimento consiste in due prove: una prova orale e un progetto.
Nello sviluppo di un progetto, lo studente applica i concetti acquisiti durante il corso. Il progetto può essere svolto in gruppo, composto al massimo da tre studenti. Per lo sviluppo dei progetti sono previste periodicamente delle revisioni nelle quali è richiesto agli studenti di mostrare gli obiettivi, lo svolgimento e i risultati del progetto. di una relazione che documenta le attività svolte ed i risultati ottenuti. I progetti sono concordati con il docente.
Le prove possono essere svolte in qualsiasi ordine.
Il voto finale è espresso in trentesimi ed è ottenuto sommando il punteggio del progetto (da 0 a 8 punti) a quello della prova orale (da 0 a 22 punti). Affinché la valutazione finale sia positiva, lo studente deve conseguire almeno 18 punti nella somma delle due prove.
La prova orale è volta a valutare la comprensione degli aspetti tecnici e teorici dei concetti di machine learning e intelligenza artificiale presentati durante il corso.
La valutazione finale attribuita allo studente sarà basata sui seguenti giudizi:
18-22/30 (Sufficiente): Lo studente dimostra una conoscenza dei concetti di base e dei metodi di machine learning fondamentali. Tuttavia, il rigore formale è limitato e sono presenti lacune o incertezze.
23-25/30 (Discreto): Lo studente possiede una discreta padronanza della materia e degli algoritmi. È in grado di esporre correttamente le tecniche apprese durante il corso, dimostrando una comprensione soddisfacente dei concetti fondamentali trattati nel corso.
26-27/30 (Buono): Lo studente mostra una buona padronanza della materia e precisione nel linguaggio tecnico. È capace di affrontare problemi articolati con sicurezza.
28-30/30 (Ottimo): Lo studente dimostra una spiccata capacità di analisi critica, muovendosi con disinvoltura tra gli aspetti teorici e applicativi e organizzando le conoscenze con rigore assoluto. La conoscenza degli algoritmi è approfondita ed espone correttamente anche i limiti di ogni tecnica.
30 e Lode: La lode è riservata agli studenti che dimostrano una particolare brillantezza nel ragionamento, manifestando assoluta autonomia di giudizio e una perfetta padronanza formale della disciplina in ogni sua sfumatura.
Questo insegnamento concorre alla realizzazione degli obiettivi ONU dell'Agenda 2030 per lo Sviluppo Sostenibile
Le slide e altro materiale didattico, anche suggerito per approfondimenti, sono disponibili sulla piattaforma e-learning del corso.
La frequenza sistematica alle lezioni è altamente raccomandata.
I contenuti dell’insegnamento riguardano le tecniche di machine learning e intelligenza artificiale per l’analisi dei dati. Verranno presentati i principali algoritmi di apprendimento non supervisionato, supervisionato, tra cui le deep neural networks e cenni di modelli per il processamento del linguaggio.
Il corso presenterà anche gli strumenti per valutare le prestazioni degli algoritmi e i metodi per utilizzarli correttamente.
Durante il corso, verranno presentate alcune librerie software basate sul linguaggio di programmazione Python, che implementano gli algoritmi illustrati e che possono essere usate per sviluppare nuovi algoritmi. Tali nozioni verranno impartite anche attraverso delle esercitazioni pratiche per facilitare la comprensione e l’utilizzo delle librerie.
Introduzione all’Intelligenza Artificiale e Machine Learning:
1) Cenni storici
2) Cenni generali sull’apprendimento
3) Cenni di algebra lineare, probabilità e ottimizzazione.
Apprendimento non supervisionato:
1) Algoritmi di clustering, k-means, clustering gerarchico, DBSCAN
2) Expectation Minimization, Gaussian mixture models, Hidden Markov Models non supervisionate
3) Manifold learning, Multidimensional Scaling, Principal Components Analysis (PCA), Independent Component Analysis (ICA).
Apprendimento supervisionato:
1) Algoritmi di classificazione: Logistic Regression, Gaussian Naive Bayes, SVM, Kernel SVM, Nearest Neighbor.
2) Regressione: Regressione Lineare, Ordinary Least Square, Regolarizzazioni.
3) Model selection: Cross-validation, Feature Selection, Metriche di valutazione del modello.
Deep Neural Networks
1) Reti neurali classiche: percettrone, feedforward neural networks, backpropagation.
2) Deep Neural networks: Convolutional Neural Networks, Recurrent Neural Networks, Autoencoders, Generative Adversarial Networks, Large Language Models.
SEDE DI CHIETI
Via dei Vestini,31
Centralino 0871.3551
SEDE DI PESCARA
Viale Pindaro,42
Centralino 085.45371
email: info@unich.it
PEC: ateneo@pec.unich.it
Partita IVA 01335970693