Acquisire elementi di base, concetti e strumenti fondamentali, basati su metodi computazionali, per rappresentare l’apprendimento, la conoscenza e il ragionamento in condizioni di incertezza. Progettare e sviluppare strumenti software basati su tecniche di apprendimento automatico (machine learning) per risolvere problemi di analisi di dati, knowledge discovery e supporto alle decisioni in presenza di informazione incerta o incompleta.
scheda docente materiale didattico
sistema di IA classico, definizione di machine learning, approccio classico e ambiti applicativi.
Fondamenti di machine learning, tipi di apprendimento, metodi di addestramento, metodi
di
generalizzazione. Problematiche relative ad i dati, dati insufficienti, dati non
rappresentativi, dati di scarsa qualità. Problematiche nel machine learning relative alla
modellazione, selezione del modello, complessità e settaggio degli iper-parametri.
Apprendimento supervisionato per problemi di regressione. Modelli lineari, errore
quadratico medio, apprendimento come minimizzazione del MSE. Regression polinomiale.
Overfitting e underfitting. Ottimizzazione degli iper-parametri, validation set. Esempi di
programmazione in linguaggio Matlab e Python.
Apprendimento supervisionato per problemi di classificazione. Classificazione binatria,
regressione logistica. Metriche per problemi di classificazione binaria, accuratezza,
precisione e richiamo, matrice di confusione, F1-score, ROC e AuC. Iperpiani di separazione
per problemi di classificazione binaria, aspetti teorici e definizione di iperpiano, concetto di
margine, vettori di supporto e non separabilità lineare. Esempi di programmazione in
linguaggio Matlab e Python.
Algoritmi fondamentali per l’apprendimento supervisionato. Macchine a vettori di
supporto, iperpiani di separazione con vincoli soft-margin, kernel trick e linearità. Alberi
decisionali ad apprendimento automatico, scelta degli attributi e dei valori, entropia
dell’informazione. Ensemble learning, modelli in parallelo, random forest. Modelli di
ensemble in sequenza e boosting. Metodi di selezione del modello, validation set,
decomposizione dell’errore e bilanciamento, compromesso bias-varianza.
Algoritmi fondamentali per l’apprendimento non supervisionato. Algoritmi di
clustering. K-means e valore ottimo di k, applicazioni di clustering, approccio supervisionato,
semisupervisionato, con clustering. DBSCAN, regole pratiche vantaggi e svantaggi del
DBSCAN rispetto al k.means. Algoritmi per la riduzione della dimensionalità, PCA, esempio
di utilizzo della PCA per la riduzione della dimensionalità.
Apprendimento con reti neurali artificiali. Il percettrone. Le reti multi-layer perceptron
(MLP). Clustering con reti neurali. Learning vector quantization (LVQ). Il problema del
manifold learning e le reti SOM. Deep learning con reti neurali. Principi fondamentali. Le reti
convolutional neural network (CNN). Cenni alle architetture Deep-Learning avanzate. . Reti
neurali convoluzionali, layer di convoluzione, layer di attivazione, layer di pooling. Esempi di
programmazione in linguaggio Matlab e Python.
Analisi, selezione e trasformazione dei dati. Analisi di immagini, scomposizione negli
spazi di colore YUV/YCbCr. Analisi dei dati tempo/frequenza, trasformata di Fourier (cenni),
spettrogrammi. Esempi di programmazione in linguaggio Matlab e Python.
Elaborazione del linguaggio Naturale. Transfer learning e architetture dei modelli per la
classificazione del testo, il question-answering, la traduzione automatica e la generazione
del testo.
Libro: G. Barone, “Machine Learning e Intelligenza Artificiale: metodologie per lo sviluppo di sistemi automatici”, Dario Flaccovio Editore, 217 pp.
Programma
Intelligenza artificiale e fondamenti di machine learning. Tipi di intelligenza artificiale,sistema di IA classico, definizione di machine learning, approccio classico e ambiti applicativi.
Fondamenti di machine learning, tipi di apprendimento, metodi di addestramento, metodi
di
generalizzazione. Problematiche relative ad i dati, dati insufficienti, dati non
rappresentativi, dati di scarsa qualità. Problematiche nel machine learning relative alla
modellazione, selezione del modello, complessità e settaggio degli iper-parametri.
Apprendimento supervisionato per problemi di regressione. Modelli lineari, errore
quadratico medio, apprendimento come minimizzazione del MSE. Regression polinomiale.
Overfitting e underfitting. Ottimizzazione degli iper-parametri, validation set. Esempi di
programmazione in linguaggio Matlab e Python.
Apprendimento supervisionato per problemi di classificazione. Classificazione binatria,
regressione logistica. Metriche per problemi di classificazione binaria, accuratezza,
precisione e richiamo, matrice di confusione, F1-score, ROC e AuC. Iperpiani di separazione
per problemi di classificazione binaria, aspetti teorici e definizione di iperpiano, concetto di
margine, vettori di supporto e non separabilità lineare. Esempi di programmazione in
linguaggio Matlab e Python.
Algoritmi fondamentali per l’apprendimento supervisionato. Macchine a vettori di
supporto, iperpiani di separazione con vincoli soft-margin, kernel trick e linearità. Alberi
decisionali ad apprendimento automatico, scelta degli attributi e dei valori, entropia
dell’informazione. Ensemble learning, modelli in parallelo, random forest. Modelli di
ensemble in sequenza e boosting. Metodi di selezione del modello, validation set,
decomposizione dell’errore e bilanciamento, compromesso bias-varianza.
Algoritmi fondamentali per l’apprendimento non supervisionato. Algoritmi di
clustering. K-means e valore ottimo di k, applicazioni di clustering, approccio supervisionato,
semisupervisionato, con clustering. DBSCAN, regole pratiche vantaggi e svantaggi del
DBSCAN rispetto al k.means. Algoritmi per la riduzione della dimensionalità, PCA, esempio
di utilizzo della PCA per la riduzione della dimensionalità.
Apprendimento con reti neurali artificiali. Il percettrone. Le reti multi-layer perceptron
(MLP). Clustering con reti neurali. Learning vector quantization (LVQ). Il problema del
manifold learning e le reti SOM. Deep learning con reti neurali. Principi fondamentali. Le reti
convolutional neural network (CNN). Cenni alle architetture Deep-Learning avanzate. . Reti
neurali convoluzionali, layer di convoluzione, layer di attivazione, layer di pooling. Esempi di
programmazione in linguaggio Matlab e Python.
Analisi, selezione e trasformazione dei dati. Analisi di immagini, scomposizione negli
spazi di colore YUV/YCbCr. Analisi dei dati tempo/frequenza, trasformata di Fourier (cenni),
spettrogrammi. Esempi di programmazione in linguaggio Matlab e Python.
Elaborazione del linguaggio Naturale. Transfer learning e architetture dei modelli per la
classificazione del testo, il question-answering, la traduzione automatica e la generazione
del testo.
Testi Adottati
Dispense a cura del Docente sulla piattaforma Moodle e MS Teams di AteneoLibro: G. Barone, “Machine Learning e Intelligenza Artificiale: metodologie per lo sviluppo di sistemi automatici”, Dario Flaccovio Editore, 217 pp.
Modalità Frequenza
2 lezioni a settimana con frequenza non obbligatoriaModalità Valutazione
Prova scritta a risposta ,multipla in moodle Progetto di analisi ed implementazione di un metodo ML/DL su dataset di varia natura