Salta al contenuto
Note per Studenti Introduzione al machine learning

Introduzione al machine learning

In questa pagina 6

Questa nota è il punto di partenza del corso (Lezione 1 · Organizzazione e introduzione al machine learning): chiarisce che cosa è il machine learning, quali problemi risolve, come è organizzato il lavoro di chi lo usa e perché un modello può sbagliare anche se «funziona». Le note successive sviluppano i singoli strumenti: Statistica per il machine learningI dati di un problema ML si organizzano nella matrice di progetto $X$ ($n$ osservazioni, $p$ variabili). La statistica serve a capirli, ripulirli e prepararli: i momenti (media $\mu$, varianza $\sigma^2$, asimmetria, curtosi), i quartili con lo scarto interquartile $\mathrm{IQR}=Q_3-Q_1$ (all'esame senza interpolazione), la moda per i dati categorici. Con queste quantità si imputano i dati mancanti (media o mediana), si eliminano le variabili costanti e si standardizza con lo z-score $z=(x-\mu)/\sigma$, usando sempre media e deviazione standard del solo training set.Statistica per il machine learning → e Correlazione e visualizzazione dei datiLa correlazione di Pearson $r=\sum(X_i-\bar X)(Y_i-\bar Y)/\big(\sqrt{\sum(X_i-\bar X)^2}\sqrt{\sum(Y_i-\bar Y)^2}\big)\in[-1,1]$ misura la relazione lineare tra due variabili (covarianza divisa per le deviazioni standard); correlazione non implica causalità. Serve a capire quali variabili contano per il target e a eliminare quelle quasi duplicate (|r| molto alto). Gli indicatori di sintesi non bastano (quartetto di Anscombe, Datasaurus): vanno affiancati ai grafici: istogramma, KDE, box plot, violin plot, heatmap di correlazione, scatter plot e matrice di scatter plot.Correlazione e visualizzazione dei dati → per capire i dati, Regressione lineareNell'apprendimento supervisionato si impara una funzione $F(x)$ dagli esempi $(x,y)$: regressione se $y$ è continua, classificazione se è categorica. Il modello lineare è $F_\beta(x)=\beta_0+\beta_1x_1+\dots+\beta_px_p=X\beta$ (con una colonna di uni per $\beta_0$) e i parametri si scelgono minimizzando l'errore quadratico medio $\mathrm{MSE}=\frac1n\sum_i(y_i-F_\beta(x_i))^2$, funzione convessa dei parametri. Annullando il gradiente di $J(\beta)=|y-X\beta|^2$ si ottengono le equazioni normali $X^TX\beta=X^Ty$ e la soluzione dei minimi quadrati ordinari $\beta=(X^TX)^{-1}X^Ty$. Il coefficiente di determinazione $R^2=1-SS_{res}/SS_{tot}$ misura la qualità del fit (0 = come la media, negativo = peggio della media). Un modello va valutato su un test set mai usato per addestrare: l'errore sul training è ottimistico e un polinomio di grado alto lo azzera senza generalizzare.Regressione lineare → per il primo modello supervisionato.

Intelligenza artificiale, machine learning, deep learning

Le quattro parole chiave del corso sono contenitori incastrati uno dentro l'altro.

Termine Che cosa indica
Intelligenza artificiale (Artificial Intelligence, AI) «macchine» capaci di imitare il comportamento umano
Machine learning (ML, in italiano apprendimento automatico) macchine che imitano il comportamento umano grazie ai dati: la parte dell'AI che sviluppa soluzioni basate sui dati e non strettamente su regole
Deep learning (DL) un tipo particolare di ML basato sulle reti neurali profonde
Intelligenza artificiale generativa (Generative AI) modelli «creativi» il cui output non è deterministico: testo, immagini, video prodotti a partire da una richiesta (prompt)

Definizione (machine learning). Il machine learning è l'insieme dei metodi con cui un programma ricava dai dati la regola che collega ingressi e uscite, invece di riceverla scritta da un programmatore.

Esempio. Per riconoscere lo spam si potrebbe scrivere a mano la regola «se compare la parola premio allora è spam» (approccio basato su regole) oppure mostrare al modello migliaia di messaggi già etichettati e lasciare che sia lui a trovare quali parole e combinazioni contano (approccio guidato dai dati, cioè ML). Oggi quasi tutte le tecnologie di AI importanti sono di questo secondo tipo.

Perché un modello imparato è diverso da un programma. In un programma tradizionale le regole sono scritte da chi lo costruisce e si possono leggere. In un modello ML le «regole» sono numeri (i parametri) il cui valore dipende dai dati usati per l'addestramento: cambiando i dati cambiano le regole. Questo spiega due fatti che ritornano in tutto il corso: la qualità dei dati conta quanto l'algoritmo, e il comportamento del modello fuori dai dati visti non è garantito.

Che cosa sa fare un algoritmo di ML

  • definire la relazione tra ingresso e uscita e fare previsioni;
  • trovare anomalie (dati «strani»);
  • fare previsioni su serie temporali;
  • trovare gruppi nei dati e, più in generale, strutture (pattern);
  • estrarre informazione da qualunque tipo di dato: tabelle, immagini, video, testo.

Perché proprio adesso

Il ML non è nato con i grandi modelli linguistici: le sue basi risalgono a decenni fa. Il suo sviluppo recente dipende da tre fattori.

  1. Dati: la quantità di dati digitali disponibili è enormemente aumentata.
  2. Hardware: processori grafici e acceleratori rendono possibile addestrare modelli molto grandi.
  3. Software e comunità: librerie aperte (come quelle usate in laboratorio, Python per il machine learning - NumPy, pandas e MatplotlibIl corso usa Python in Jupyter/Colab. Servono: variabili e tipi, if/for/while, funzioni (i tipi immutabili si passano per valore: per cambiare un numero la funzione deve restituirlo), classi, e le strutture list, tuple, set, dict. NumPy gestisce array e algebra lineare (assi, broadcasting, @, hstack, np.cov(rowvar=False)), pandas le tabelle (read_csv, filtri, value_counts, statistiche; var con $n-1$ contro np.var con $n$), Matplotlib e seaborn i grafici (istogrammi, box plot, heatmap, pair plot). Trappole tipiche: forma $(n,)$ contro $(n,1)$, asse sbagliato, statistiche calcolate sul dataset intero.Python per il machine learning - NumPy, pandas e Matplotlib →) e comunità attive diffondono subito ogni novità.

Questo spiega anche perché l'AI è «ovunque»: le tecnologie di AI funzionano molto bene su compiti specifici (anche se alcuni strumenti, come i chatbot, sono molto generali), e di compiti specifici ce ne sono moltissimi.

I tre tipi di apprendimento

La differenza sta in che dati si hanno e che cosa si vuole imparare.

Definizione (apprendimento supervisionato). Setup: osservazione dell'ambiente. Dati: coppie (x,y)(x,y), cioè un ingresso xx e l'uscita desiderata yy (l'etichetta, label). Compito: imparare una funzione che dagli ingressi xx produca le uscite yy.

Esempio. xx = metri quadri di un appartamento, yy = prezzo. I dati sono coppie (metri quadri, prezzo) di appartamenti venduti; il compito è prevedere il prezzo di un appartamento nuovo.

Definizione (apprendimento non supervisionato). Dati: solo gli ingressi xx, senza etichette. Compito: imparare strutture (pattern) nei dati di ingresso, per esempio gruppi di osservazioni simili.

Esempio. Si hanno gli acquisti di 10 000 clienti, senza alcuna etichetta. Un algoritmo di clustering (Clustering e k-meansIl clustering raggruppa osservazioni simili senza etichette, come preprocessing (un modello per ogni cluster) o come obiettivo (segmentazione clienti, organizzazione di documenti). K-means: si sceglie $K$, si inizializzano $K$ centroidi, si alterna assegnazione di ogni punto al centroide più vicino e aggiornamento di ogni centroide alla media dei suoi punti, fino a convergenza; minimizza $\mathrm{MSE}{\text{within}}=\frac1N\sum_k\sum{x_i\in C_k}|x_i-\mu_k|^2$ ma solo fino a un minimo locale, quindi dipende dall'inizializzazione. Il numero di cluster si sceglie col metodo del gomito (la dispersione cala sempre, si cerca dove rallenta) o con la gap statistic $\mathrm{Gap}(K)=E[\log W_K^{ref}]-\log W_K$ (si prende il più piccolo $K$ con $\mathrm{Gap}(K)\ge\mathrm{Gap}(K+1)-s_{K+1}$). Il clustering gerarchico agglomerativo parte da un cluster per punto e fonde i due più vicini (linkage single, complete, average, Ward) costruendo un dendrogramma; quello divisivo parte da un solo cluster. Programma di Telecomunicazioni: clustering.Clustering e k-means →) può dividerli in gruppi con abitudini simili, senza che nessuno abbia detto quali gruppi esistano.

Definizione (apprendimento per rinforzo). Setup: interazione con l'ambiente. Dati: triplette (stato, azione, ricompensa). Compito: imparare una politica (policy) che massimizzi la ricompensa totale.

Esempio. Un robot che impara a camminare: lo stato è la posizione dei suoi giunti, l'azione è il movimento, la ricompensa è la distanza percorsa senza cadere. Il rinforzo non si approfondisce in questo corso.

Dentro l'apprendimento supervisionato si distinguono due tipi di problema, a seconda di che cosa è yy:

Un modello minimo: la retta

Il modello più semplice è la regressione lineare con una sola variabile: y=b+w x,y = b + w\,x, dove xx è la proprietà (feature) di ingresso, ww il peso, bb il bias (intercetta) e yy la predizione. Il peso e il bias sono i parametri: addestrare il modello significa scegliere i loro valori in modo che la retta passi «vicino» agli esempi. Gli altri modelli del corso (alberi, SVM, reti neurali) sono famiglie di funzioni più ricche, ma l'idea resta questa: una funzione con parametri liberi, scelti sui dati.

Formula (regressione lineare con una variabile). y^=b+w x\hat y = b + w\,x, con ww pendenza e bb valore in x=0x=0.

Esempio. Con b=50 000b=50\,000 € e w=2 000w=2\,000 € al metro quadro, un appartamento di 80 m280\ \text{m}^2 ha predizione y^=50 000+2 000⋅80=210 000\hat y = 50\,000 + 2\,000\cdot 80 = 210\,000 €.

Il processo di sviluppo di una soluzione ML

Un progetto di ML non è «collegare un modello ai dati»: richiede un percorso con cinque fasi.

  1. Problema (problem): definizione del problema, impatto atteso, metrica di valutazione. Si decide qui che cosa significa «funziona».
  2. Raccolta (collection): conversione dei formati, parsing, aggregazione, allineamento di sorgenti diverse.
  3. Pulizia (cleaning): qualità e riconciliazione dei dati, gestione dei dati mancanti, eliminazione del rumore (denoising), rilevamento di outlier (Statistica per il machine learningI dati di un problema ML si organizzano nella matrice di progetto $X$ ($n$ osservazioni, $p$ variabili). La statistica serve a capirli, ripulirli e prepararli: i momenti (media $\mu$, varianza $\sigma^2$, asimmetria, curtosi), i quartili con lo scarto interquartile $\mathrm{IQR}=Q_3-Q_1$ (all'esame senza interpolazione), la moda per i dati categorici. Con queste quantità si imputano i dati mancanti (media o mediana), si eliminano le variabili costanti e si standardizza con lo z-score $z=(x-\mu)/\sigma$, usando sempre media e deviazione standard del solo training set.Statistica per il machine learning →).
  4. Modellazione (modelling): estrazione di feature, costruzione del modello, valutazione e confronto tra alternative (Overfitting, ridge regression e cross-validationUna buona prestazione sul training non basta: serve stimare quella su dati nuovi. La cross-validation (K-fold: $k$ parti, ciascuna a turno come test, errore medio; Monte Carlo: $k$ divisioni casuali con quota di test $q$; leave-one-out se $k=n$) evita di dipendere da una sola divisione casuale. L'errore atteso si scompone in $\text{bias}^2+\text{varianza}+\sigma^2$: i modelli semplici fanno underfitting (bias alto), quelli complessi overfitting (varianza alta). La regolarizzazione aggiunge alla perdita una penalità: la ridge regression minimizza $|y-X\beta|^2+\lambda\sum_{j\ge1}\beta_j^2$ e ha soluzione $\beta=(X^TX+\lambda\tilde I)^{-1}X^Ty$ (l'intercetta non si penalizza, le feature si standardizzano): riduce i coefficienti, rende l'inversa stabile con feature collineari, e $\lambda$ è un iperparametro scelto con la validazione (cross-validation annidata per non contaminare il test).Overfitting, ridge regression e cross-validation →).
  5. Rilascio (roll-out): messa in funzione, risultato sul business, miglioramento continuo.

Le competenze di dominio sono fondamentali in quasi tutti i campi: spesso la soluzione migliore è ibrida, che unisce un modello basato sui dati e uno basato sulla fisica del fenomeno.

Otto limiti e aspetti critici

Il corso insiste su due atteggiamenti sbagliati: lo scetticismo («è roba per grandi aziende, non fa per me» oppure «l'AI farà male all'umanità») e l'entusiasmo eccessivo («colleghiamo l'AI al prodotto e il problema è risolto»). Entrambi ignorano che servono competenza e giudizio. Gli otto punti critici sono questi.

  1. Senza dati non c'è modello. Il ML non è magia nera, è una scienza che si basa sulla disponibilità di dati. Senza dati (o senza una strategia sui dati) non si può realizzare nessuna soluzione.
  2. Alcuni fenomeni sono imprevedibili. Le previsioni sull'andamento del COVID-19 mostrano come modelli diversi, sugli stessi dati, abbiano dato risultati molto lontani tra loro.
  3. Generalizzazione. Un modello capisce solo ciò che ha visto: un sistema che riconosce una mucca su un prato può sbagliare, o dare probabilità molto più basse, se la stessa mucca è in spiaggia o ha macchie rosa, perché ha appreso il contesto oltre che l'animale.
  4. Niente «plug and play». Serve un processo di sviluppo e la conoscenza del dominio.
  5. Nessuna conoscenza a priori sulle prestazioni. Prima di addestrare e validare non si può sapere quanto bene funzionerà un modello, soprattutto con dati «privati» (specifici dell'azienda).
  6. Lavoro. L'AI sostituirà alcune professioni (secondo analisti come PwC o McKinsey), pur creandone altre.
  7. Deep fake. Contenuti falsi ma verosimili generati da modelli.
  8. Equità (fairness). I modelli possono ereditare e amplificare i pregiudizi presenti nei dati: per esempio, è stato mostrato che alle donne venivano mostrati meno annunci di lavori ben pagati, e che software di valutazione del rischio criminale assegnavano punteggi sbilanciati a sfavore delle minoranze. Si vedrà in Fairness nel machine learningapprofondimento: non nel programma di Telecomunicazioni. Un sistema di ML è fair se le sue decisioni non producono esiti ingiusti rispetto agli attributi sensibili $A$ (razza, genere, età, religione...). Il bias nasce dai dati storici (problema dell'inerzia) e non esiste una definizione unica di equità (problema della definizione). Togliere $A$ dagli ingressi (fairness through unawareness, $\hat Y=f(X)$ con $A\notin X$) spesso non basta per le variabili proxy (es. CAP correlato alla razza, $\rho=-0{,}80$) e costa accuratezza. Metriche: Demographic Parity $DP=P(\hat Y=1|A=a)-P(\hat Y=1|A=d)$ (stesso tasso di esiti positivi nei gruppi) ed Equality of Opportunity $EO=P(\hat Y=1|A=a,Y=1)-P(\hat Y=1|A=d,Y=1)$ (stesso tasso di veri positivi). Interventi: soglie diverse per gruppo, vincoli di fairness nella loss, pre-processing dei dati; ogni intervento ha un compromesso con l'accuratezza. Casi: COMPAS (falsi positivi 44,9% contro 23,5%), riconoscimento facciale, RCA auto, consegne Amazon; GDPR e AI Act richiedono garanzie di non discriminazione.Fairness nel machine learning →.

Un nono aspetto, l'interpretabilità, si aggiunge guardando oltre l'accuratezza: un modello molto accurato ma «scatola nera» non basta se serve capire perché ha deciso. Se ne parla in Explainable AI (XAI)approfondimento: non nel programma di Telecomunicazioni. L'interpretabilità è l'arte di produrre descrizioni di un modello abbastanza semplici da essere capite da un umano; la spiegabilità aggiunge la completezza (permettere di anticipare la previsione). I metodi si classificano in intrinseci o post-hoc, agnostici o specifici del modello, globali o locali. Modelli intrinsecamente interpretabili: regressione lineare (pesi $\beta_j$, intervalli di confidenza, LASSO per la sparsità), regressione logistica ($\log\frac y{1-y}=\beta_0+\sum\beta_jx_j$), alberi. Importanza nelle foreste: MDI $=\sum_{\text{nodi}}\frac{n_p}{n_{TOT}}\Delta Gini$ (con feature selection bias). Metodi agnostici: permutation importance (aumento dell'errore dopo aver mescolato una feature), PDP $\hat f_S(x_S)=\frac1n\sum_if(x_S,x_C^{(i)})$ (media delle curve ICE), LIME (modello semplice locale pesato sui punti perturbati), SHAP (valori di Shapley: media dei contributi marginali su tutti gli ordini, somma $=f(x)-f(\text{base})$). Per le reti profonde: mappe di salienza, Grad-CAM, occlusione. Valutazione: livello applicativo, umano, funzionale. Lab: cardiopatia AHD con logistica, LASSO, random forest, ICE, PDP, SHAP.Explainable AI (XAI) →.

Quali argomenti tratta il corso

Nota sul programma: il programma ufficiale di Machine Learning di Telecomunicazioni comprende supervisionato (regressione e regolarizzazione, halfspace e Perceptron, SVM e kernel, alberi e foreste), validazione, reti neurali e clustering. PCA, kNN, regressione logistica, ensemble, anomaly detection, CNN, autoencoder, fairness e XAI vengono dal corso di Ingegneria dell'Automazione e sono approfondimento: non nel programma di Telecomunicazioni.

Errori tipici

Versione ripasso

Definizione. Il machine learning è la parte dell'AI che ricava dai dati la regola ingresso-uscita invece di riceverla scritta. Gerarchia: AI ⊃\supset ML ⊃\supset deep learning (reti neurali); la Generative AI produce output non deterministici.

Esempio. Spam: regola scritta a mano (basata su regole) contro modello addestrato su messaggi etichettati (guidato dai dati).

Definizione. Supervisionato: dati (x,y)(x,y), si impara x↦yx\mapsto y (regressione se yy è un numero, classificazione se è una categoria). Non supervisionato: solo xx, si cercano pattern e gruppi. Per rinforzo: dati (stato, azione, ricompensa), si impara una politica.

Formula. Modello minimo: y^=b+w x\hat y = b + w\,x (bb bias, ww peso). Addestrare = scegliere i parametri sui dati.

Esempio. b=50 000b=50\,000, w=2 000w=2\,000: y^(80)=210 000\hat y(80)=210\,000.

Processo: problema (metrica) →\to raccolta →\to pulizia (mancanti, outlier) →\to modellazione (feature, modello, valutazione) →\to rilascio. Soluzioni spesso ibride (dati + fisica).

Otto limiti: senza dati nessun modello; fenomeni imprevedibili (COVID); generalizzazione fuori dominio (mucca in spiaggia); non è plug and play; prestazioni non note a priori; effetti sul lavoro; deep fake; fairness. In più l'interpretabilità.

Programma Telecom: supervisionato, regolarizzazione, halfspace e Perceptron, SVM e kernel, alberi e foreste, reti neurali, clustering. PCA, kNN, logistica, ensemble, anomaly detection, CNN, autoencoder, fairness e XAI: approfondimento.

Errori tipici: valutare sui dati di addestramento; scambiare i tipi di apprendimento; aspettarsi generalizzazione fuori dominio.

Lezioni in cui compare

Teoria collegata