Apprendere a istruire un calcolatore a imparare dei concetti usando i dati, senza essere programmato esplicitamente. Acquisire la conoscenza dei principali metodi di apprendimento automatico con o senza supervisore e discuterne le proprietà e i criteri di applicabilità Acquisire la capacità di formulare correttamente il problema, scegliere l'algoritmo opportuno, e condurre l'analisi sperimentale per valutare i risultati ottenuti. Curare l'aspetto pratico dell'implementazione dei metodi introdotti presentando diversi esempi di impiego in diversi scenari applicativi.
Curriculum
scheda docente
materiale didattico
2. Ottimizzazione di modelli. Funzioni convesse. Discesa del gradiente. Discesa stocastica del gradiente.
3. Regressione. Regressione lineare. Basi di funzioni. Selezione dei predittori. Regolarizzazione.
4. Classificazione. Modelli generativi. Nearest neighbor. Regressione logistica. Support vector machines. Reti neurali.
5. Combinazione di modelli. Alberi di decisione. Boosting. Bagging.
6. Apprendimento non supervisionato. Clustering K-means. Clustering gerarchico. Analisi delle componenti principali.
7. Applicazione dei metodi nel linguaggio di programmazione Python. Esempi d'uso delle librerie NumPy, Pandas, SciKit-Learn, e TensorFlow.
Mutuazione: 20410432 IN550 – MACHINE LEARNING in Scienze Computazionali LM-40 BONIFACI VINCENZO
Programma
1. Apprendimento automatico. Tipi di apprendimento. Funzioni di costo. Minimizzazione del rischio empirico. Generalizzazione ed overfitting.2. Ottimizzazione di modelli. Funzioni convesse. Discesa del gradiente. Discesa stocastica del gradiente.
3. Regressione. Regressione lineare. Basi di funzioni. Selezione dei predittori. Regolarizzazione.
4. Classificazione. Modelli generativi. Nearest neighbor. Regressione logistica. Support vector machines. Reti neurali.
5. Combinazione di modelli. Alberi di decisione. Boosting. Bagging.
6. Apprendimento non supervisionato. Clustering K-means. Clustering gerarchico. Analisi delle componenti principali.
7. Applicazione dei metodi nel linguaggio di programmazione Python. Esempi d'uso delle librerie NumPy, Pandas, SciKit-Learn, e TensorFlow.
Testi Adottati
J. Watt, R. Borhani, A. Katsaggelos. Machine Learning Refined. Cambridge University Press, 2nd edition, 2020.Modalità Erogazione
Lezioni teoriche frontali ed esercitazioni di laboratorio nel linguaggio di programmazione Python. Per il diario delle lezioni si consulti il sito del docente: http://ricerca.mat.uniroma3.it/users/vbonifaci/in550.html Le lezioni saranno in presenza e verrano anche trasmesse e registrate.Modalità Valutazione
L'esame si compone di due parti: un progetto software ed un esame orale. Nella parte di progetto software, gli studenti identificheranno ed analizzeranno un dataset utilizzando le metodologie presentate durante le lezioni, preparando un quaderno Python interattivo (Jupyter) ed una presentazione. L'esame orale consisterà, oltre che nella discussione del progetto, in domande su tutto il programma del corso.
scheda docente
materiale didattico
2. Ottimizzazione di modelli. Funzioni convesse. Discesa del gradiente. Discesa stocastica del gradiente.
3. Regressione. Regressione lineare. Basi di funzioni. Selezione dei predittori. Regolarizzazione.
4. Classificazione. Modelli generativi. Nearest neighbor. Regressione logistica. Support vector machines. Reti neurali.
5. Combinazione di modelli. Alberi di decisione. Boosting. Bagging.
6. Apprendimento non supervisionato. Clustering K-means. Clustering gerarchico. Analisi delle componenti principali.
7. Applicazione dei metodi nel linguaggio di programmazione Python. Esempi d'uso delle librerie NumPy, Pandas, SciKit-Learn, e TensorFlow.
Mutuazione: 20410432 IN550 – MACHINE LEARNING in Scienze Computazionali LM-40 BONIFACI VINCENZO
Programma
1. Apprendimento automatico. Tipi di apprendimento. Funzioni di costo. Minimizzazione del rischio empirico. Generalizzazione ed overfitting.2. Ottimizzazione di modelli. Funzioni convesse. Discesa del gradiente. Discesa stocastica del gradiente.
3. Regressione. Regressione lineare. Basi di funzioni. Selezione dei predittori. Regolarizzazione.
4. Classificazione. Modelli generativi. Nearest neighbor. Regressione logistica. Support vector machines. Reti neurali.
5. Combinazione di modelli. Alberi di decisione. Boosting. Bagging.
6. Apprendimento non supervisionato. Clustering K-means. Clustering gerarchico. Analisi delle componenti principali.
7. Applicazione dei metodi nel linguaggio di programmazione Python. Esempi d'uso delle librerie NumPy, Pandas, SciKit-Learn, e TensorFlow.
Testi Adottati
J. Watt, R. Borhani, A. Katsaggelos. Machine Learning Refined. Cambridge University Press, 2nd edition, 2020.Modalità Erogazione
Lezioni teoriche frontali ed esercitazioni di laboratorio nel linguaggio di programmazione Python. Per il diario delle lezioni si consulti il sito del docente: http://ricerca.mat.uniroma3.it/users/vbonifaci/in550.html Le lezioni saranno in presenza e verrano anche trasmesse e registrate.Modalità Valutazione
L'esame si compone di due parti: un progetto software ed un esame orale. Nella parte di progetto software, gli studenti identificheranno ed analizzeranno un dataset utilizzando le metodologie presentate durante le lezioni, preparando un quaderno Python interattivo (Jupyter) ed una presentazione. L'esame orale consisterà, oltre che nella discussione del progetto, in domande su tutto il programma del corso.