In una società sempre più caratterizzata da piattaforme che prevedono i nostri comportamenti e
gusti, modelli machine learning e algoritmi di intelligenza artificiale, non possiamo solo limitarci ad
uno studio superficiale di questi sistemi predittivi. E’ necessario aprire queste “scatole nere” per
analizzare il loro contenuto, così da non essere solo utilizzatori passivi ma veri e propri progettisti
di applicazioni intelligenti.
Le attività proposte e sperimentate potranno essere replicate con studenti del triennio della scuola
secondaria di secondo grado.
Ecco un elenco indicativo dei temi che verranno affrontati:
- Intelligenza Artificiale, Machine Learning e Deep Learning: un mondo sconosciuto.
- Apprendimento supervisionato vs apprendimento non supervisionato.
- Classificazione vs regressione.
- Esplorare i dati: il primo step della pipeline del machine learning.
- Modelli error-based, information-based, probability-based.
- Dove (e come) scaricare dataset aperti.
- Gli approcci più semplici per la costruzione di un modello supervisionato: regressione lineare e regressione logistica.
- Approfondimento sulla discesa del gradiente (batch, stochastic, mini-batch).
- Misurare le performance di un modello predittivo (metriche per la regressione vs metriche per la classificazione).
- Un equilibrio sottile: bias vs variance, underfitting vs overfitting, costruire curve di apprendimento.
- Altri modelli supervisionati: Support Vector Machines (SVM), K-nearest neighbors, decision
trees (alberi decisionali), random forest, Naive-Bayes.
- Un esperimento non supervisionato: l’algoritmo k-means.
- Reti neurali artificiali: modello matematico e backpropagation.
- Progettare e addestrare una rete neurale in Python: esempi in Scikit-Learn e Tensorflow.
- Reti neurali per problemi di visione (come classificare immagini in Python).

CONOSCENZE PREGRESSE NECESSARIE: programmazione in Python.