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.
M. Mohri, A. Rostamizadeh, A. Talwalkar. Foundations of Machine Learning. MIT Press, 2nd edition, 2018.
S. Shalev-Shwartz, S. Ben-David. Understanding Machine Learning. Cambridge University Press, 2014. G. James, D. Witten, T. Hastie, R. Tibshirani. An Introduction to Statistical Learning. Springer, 2nd edition, 2013. K.P. Murphy. Probabilistic Machine Learning. MIT Press, 2022. T. Hastie, R. Tibshirani, J. Friedman. The Elements of Statistical Learning. Springer, 2nd edition, 2008. C.M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
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.Bibliografia Di Riferimento
A. Géron. Hands-On Machine Learning with SciKit-Learn, Keras, and Tensorflow. O'Reilly, 3rd edition, 2022.M. Mohri, A. Rostamizadeh, A. Talwalkar. Foundations of Machine Learning. MIT Press, 2nd edition, 2018.
S. Shalev-Shwartz, S. Ben-David. Understanding Machine Learning. Cambridge University Press, 2014. G. James, D. Witten, T. Hastie, R. Tibshirani. An Introduction to Statistical Learning. Springer, 2nd edition, 2013. K.P. Murphy. Probabilistic Machine Learning. MIT Press, 2022. T. Hastie, R. Tibshirani, J. Friedman. The Elements of Statistical Learning. Springer, 2nd edition, 2008. C.M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
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.
M. Mohri, A. Rostamizadeh, A. Talwalkar. Foundations of Machine Learning. MIT Press, 2nd edition, 2018.
S. Shalev-Shwartz, S. Ben-David. Understanding Machine Learning. Cambridge University Press, 2014. G. James, D. Witten, T. Hastie, R. Tibshirani. An Introduction to Statistical Learning. Springer, 2nd edition, 2013. K.P. Murphy. Probabilistic Machine Learning. MIT Press, 2022. T. Hastie, R. Tibshirani, J. Friedman. The Elements of Statistical Learning. Springer, 2nd edition, 2008. C.M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
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.Bibliografia Di Riferimento
A. Géron. Hands-On Machine Learning with SciKit-Learn, Keras, and Tensorflow. O'Reilly, 3rd edition, 2022.M. Mohri, A. Rostamizadeh, A. Talwalkar. Foundations of Machine Learning. MIT Press, 2nd edition, 2018.
S. Shalev-Shwartz, S. Ben-David. Understanding Machine Learning. Cambridge University Press, 2014. G. James, D. Witten, T. Hastie, R. Tibshirani. An Introduction to Statistical Learning. Springer, 2nd edition, 2013. K.P. Murphy. Probabilistic Machine Learning. MIT Press, 2022. T. Hastie, R. Tibshirani, J. Friedman. The Elements of Statistical Learning. Springer, 2nd edition, 2008. C.M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
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.
M. Mohri, A. Rostamizadeh, A. Talwalkar. Foundations of Machine Learning. MIT Press, 2nd edition, 2018.
S. Shalev-Shwartz, S. Ben-David. Understanding Machine Learning. Cambridge University Press, 2014. G. James, D. Witten, T. Hastie, R. Tibshirani. An Introduction to Statistical Learning. Springer, 2nd edition, 2013. K.P. Murphy. Probabilistic Machine Learning. MIT Press, 2022. T. Hastie, R. Tibshirani, J. Friedman. The Elements of Statistical Learning. Springer, 2nd edition, 2008. C.M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
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.Bibliografia Di Riferimento
A. Géron. Hands-On Machine Learning with SciKit-Learn, Keras, and Tensorflow. O'Reilly, 3rd edition, 2022.M. Mohri, A. Rostamizadeh, A. Talwalkar. Foundations of Machine Learning. MIT Press, 2nd edition, 2018.
S. Shalev-Shwartz, S. Ben-David. Understanding Machine Learning. Cambridge University Press, 2014. G. James, D. Witten, T. Hastie, R. Tibshirani. An Introduction to Statistical Learning. Springer, 2nd edition, 2013. K.P. Murphy. Probabilistic Machine Learning. MIT Press, 2022. T. Hastie, R. Tibshirani, J. Friedman. The Elements of Statistical Learning. Springer, 2nd edition, 2008. C.M. Bishop. Pattern Recognition and Machine Learning. Springer, 2006.
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.