Salta al contenuto
Note per Studenti Introduzione al machine learning

Introduzione al machine learning

In questa pagina 6
In questa pagina 5

Questa nota è il punto di partenza del corso: 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 €.

Che cosa è la retta, in termini di funzioni e derivate. Il modello è una funzioneUna funzione associa a ogni elemento del dominio un solo valore: dominio naturale, grafico, immagine, antimmagine e metodo grafico.Funzioni - definizione, dominio e grafico → f:R→Rf:\mathbb R\to\mathbb R il cui grafico è una retta. Il peso ww è la pendenza, cioè la derivataLa derivata è il limite del rapporto incrementale; geometricamente è la pendenza della retta tangente. f è derivabile in x0 se e solo se f(x) = f(x0) + f'(x0)(x − x0) + o(x − x0); derivabile implica continua, non viceversa. Derivata destra e sinistra, punti angolosi, flessi a tangente verticale, cuspidi.Derivata - definizione e significato → f′(x)=wf'(x)=w, costante: ogni metro quadro in più aggiunge sempre ww euro alla predizione. Il bias bb è f(0)f(0), il valore a x=0x=0. Quando gli ingressi sono più di uno, xx diventa un vettore x=(x1,…,xp)\mathbf x=(x_1,\dots,x_p) di uno spazio vettorialeUno spazio vettoriale su un campo K è un insieme con una somma di vettori e un prodotto per scalari che rispettano 7 proprietà. Esempi fondamentali: K^n (somma componente per componente), le funzioni da R in R, i polinomi.Spazi vettoriali → Rp\mathbb R^p e il modello è y^=b+w⋅x\hat y=b+\mathbf w\cdot\mathbf x, con prodotto scalareIl prodotto scalare aggiunge a uno spazio vettoriale lunghezze e angoli: norma, disuguaglianza di Cauchy-Schwarz, angolo tra vettori in R^n, ortogonalità, proiezione su una retta, aree e volumi con il determinante della matrice dei prodotti scalari.Prodotto scalare, norma e angoli → tra pesi e ingressi (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 →).

Che cosa vuol dire «scegliere i parametri sui dati» (un esempio con i numeri). Si hanno tre appartamenti venduti: (50 m2, 160 mila euro)(50\ \text{m}^2,\,160\,\text{mila euro}), (80, 205)(80,\,205), (100, 260)(100,\,260) (migliaia di euro). Si provano due rette. Per ciascuna si calcola, per ogni punto, l'errore ei=yi−y^ie_i=y_i-\hat y_i (valore vero meno predizione) e lo si eleva al quadrato (così gli errori positivi e negativi non si cancellano e gli errori grandi pesano di più); la media dei quadrati è l'errore quadratico medio (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 →).

  1. Retta A: b=50b=50, w=2w=2 (k€). Predizioni 150, 210, 250150,\,210,\,250; errori 10, −5, 1010,\,-5,\,10; quadrati 100, 25, 100100,\,25,\,100; media 2253=75\frac{225}{3}=75.
  2. Retta B: b=0b=0, w=2,5w=2{,}5. Predizioni 125, 200, 250125,\,200,\,250; errori 35, 5, 1035,\,5,\,10; quadrati 1225, 25, 1001225,\,25,\,100; media 13503=450\frac{1350}{3}=450. La retta A «passa più vicino» ai punti (75 contro 450): addestrare significa cercare i valori di bb e ww che rendono questo numero il più piccolo possibile. È un problema di minimo di una funzione di (b,w)(b,w) (Massimi e minimi liberi in più variabiliSe f è differenziabile e ha un estremo relativo in un punto interno x0, allora ∇f(x0) = 0 (Fermat): gli estremi interni vanno cercati tra i punti critici. Se f è C², in un punto critico: hessiana definita positiva → minimo, definita negativa → massimo, indefinita → sella, semidefinita → il test non decide e si studia il segno di f(x) − f(x0). In due variabili: det H > 0 e fxx > 0 minimo, det H > 0 e fxx < 0 massimo, det H < 0 sella.Massimi e minimi liberi in più variabili →; per la retta ottima si arriva alla soluzione chiusa dei minimi quadratiQuando un sistema AX = b non ha soluzioni si cerca X che rende minima la norma di AX − b: AX è la proiezione ortogonale di b su Im A, e X si trova risolvendo le equazioni normali AᵀA X = Aᵀb; applicazione alla retta di regressione.Metodo dei minimi quadrati →: qui b=58,03b=58{,}03, w=1,9605w=1{,}9605, con errore quadratico medio 49,3449{,}34, inferiore a entrambe le prove).

Grafico interattivo: Tre appartamenti (metri quadri, prezzo in migliaia di euro) e due rette candidate: la retta A (b = 50, w = 2) ha errore quadratico medio 75, la retta B (b = 0, w = 2,5) ha 450

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. Quello che interessa è l'errore atteso su dati nuovi, cioè il valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso → dell'errore su un'osservazione estratta dalla stessa distribuzione dei dati. Non si conosce quella distribuzione, quindi lo si stima con la media degli errori su un insieme di osservazioni mai usate per addestrare: è lecito perché, per la legge dei grandi numeriSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo →, la media di nn errori indipendenti si avvicina al loro valore atteso al crescere di nn (la media sugli esempi di addestramento invece è troppo ottimista, perché i parametri sono stati scelti proprio per renderla piccola). 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 (machine learning). Il ML è 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. Gerarchia: AI ⊃\supset ML ⊃\supset deep learning (reti neurali). La Generative AI produce output non deterministici (testo, immagini) a partire da un prompt.

Esempio. Spam: una regola scritta a mano («se compare premio è spam») contro un modello addestrato su messaggi già etichettati (approccio guidato dai dati).

In un modello ML le regole sono parametri numerici che dipendono dai dati di addestramento: la qualità dei dati conta quanto l'algoritmo, e il comportamento fuori dai dati visti non è garantito.

Tre tipi di apprendimento

Definizione (supervisionato). Dati (x,y)(x,y), con yy l'etichetta (label). Compito: imparare la funzione x↦yx\mapsto y. È regressione se yy è un numero, classificazione se yy è una categoria.

Esempio. xx = metri quadri, yy = prezzo: si prevede il prezzo di un appartamento nuovo.

Definizione (non supervisionato). Dati solo xx, senza etichette. Compito: trovare struttura, per esempio gruppi di osservazioni simili (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 →).

Definizione (per rinforzo). Dati (stato, azione, ricompensa). Compito: imparare una politica che massimizzi la ricompensa totale. Non approfondito nel corso.

Il criterio per distinguerli è la presenza di etichette yy (o di ricompense).

Il modello minimo: la retta

Formula (regressione lineare con una variabile). y^=b+w x\hat y = b + w\,x, dove ww è il peso (pendenza, cioè la derivata f′(x)=wf'(x)=w costante), bb il bias (f(0)f(0)) e y^\hat y la predizione. Con più ingressi: y^=b+w⋅x\hat y=b+\mathbf w\cdot\mathbf x.

Esempio. b=50 000b=50\,000 €, w=2 000w=2\,000 € al m2^2: un appartamento di 80 m280\ \text{m}^2 ha y^=50 000+2 000⋅80=210 000\hat y=50\,000+2\,000\cdot80=210\,000 €.

Scegliere i parametri sui dati. Tre appartamenti: (50 m2, 160)(50\ \text{m}^2,\,160), (80, 205)(80,\,205), (100, 260)(100,\,260), in migliaia di euro. Per ogni retta si calcola l'errore ei=yi−y^ie_i=y_i-\hat y_i, se ne prende il quadrato e poi la media (errore quadratico medio, 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 →).

  1. Retta A (b=50b=50, w=2w=2): predizioni 150, 210, 250150,\,210,\,250; errori 10, −5, 1010,\,-5,\,10; media dei quadrati 100+25+1003=75\frac{100+25+100}{3}=75.
  2. Retta B (b=0b=0, w=2,5w=2{,}5): predizioni 125, 200, 250125,\,200,\,250; errori 35, 5, 1035,\,5,\,10; media dei quadrati 1225+25+1003=450\frac{1225+25+100}{3}=450.

Addestrare significa trovare bb e ww che minimizzano questa media. Con i minimi quadratiQuando un sistema AX = b non ha soluzioni si cerca X che rende minima la norma di AX − b: AX è la proiezione ortogonale di b su Im A, e X si trova risolvendo le equazioni normali AᵀA X = Aᵀb; applicazione alla retta di regressione.Metodo dei minimi quadrati → si ottiene b=58,03b=58{,}03, w=1,9605w=1{,}9605, con errore quadratico medio 49,3449{,}34 (sotto entrambe le prove). È un problema di minimo in due variabili (Massimi e minimi liberi in più variabiliSe f è differenziabile e ha un estremo relativo in un punto interno x0, allora ∇f(x0) = 0 (Fermat): gli estremi interni vanno cercati tra i punti critici. Se f è C², in un punto critico: hessiana definita positiva → minimo, definita negativa → massimo, indefinita → sella, semidefinita → il test non decide e si studia il segno di f(x) − f(x0). In due variabili: det H > 0 e fxx > 0 minimo, det H > 0 e fxx < 0 massimo, det H < 0 sella.Massimi e minimi liberi in più variabili →).

Il processo di sviluppo

Cinque fasi, con la metrica decisa subito:

  1. Problema: impatto atteso e metrica di valutazione (che cosa significa «funziona»).
  2. Raccolta: formati, parsing, allineamento di sorgenti diverse.
  3. Pulizia: dati mancanti, rumore, 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: estrazione di feature, modello, valutazione e confronto (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: messa in funzione e miglioramento continuo.

Spesso la soluzione migliore è ibrida: un modello basato sui dati più la fisica del fenomeno.

Generalizzazione

L'obiettivo è l'errore atteso su dati nuovi, cioè il valore attesoIl valore atteso E[X] = Σ x p_X(x) è la media dei valori di X pesata con le loro probabilità (esiste se la serie converge assolutamente); per una funzione g vale E[g(X)] = Σ g(x) p_X(x) senza trovare la legge di g(X), ed E è lineare: E[aX + bY + c] = aE[X] + bE[Y] + c.Valore atteso → dell'errore su un'osservazione della stessa distribuzione. Non conoscendo la distribuzione, lo si stima con la media degli errori su dati mai usati per addestrare: per la legge dei grandi numeriSe X₁, X₂, ... sono i.i.d. con media μ, la media campionaria X̄ₙ = (X₁ + ... + Xₙ)/n converge a μ: in probabilità (legge debole, dimostrata con Chebyshev se la varianza è finita: P(|X̄ₙ − μ| > ε) ≤ σ²/(nε²)) e quasi certamente (legge forte). Metodo Monte Carlo: ∫ g = E[g(U)] si stima con la media di g(U₁), ..., g(Uₙ) per uniformi indipendenti.Legge dei grandi numeri e metodo Monte Carlo → la media di nn errori indipendenti tende al valore atteso. La media sugli esempi di addestramento è invece troppo ottimista, perché i parametri sono stati scelti per renderla piccola.

Otto limiti

  1. Senza dati non c'è modello.
  2. Fenomeni imprevedibili: sull'andamento del COVID-19 modelli diversi, sugli stessi dati, hanno dato risultati molto lontani.
  3. Generalizzazione: un sistema che riconosce una mucca sul prato può sbagliare in spiaggia, perché ha appreso anche il contesto.
  4. Niente «plug and play»: servono processo e conoscenza del dominio.
  5. Prestazioni non note a priori: soprattutto con dati privati.
  6. Lavoro: alcune professioni cambiano.
  7. Deep fake: contenuti falsi ma verosimili.
  8. Equità: i modelli ereditano e amplificano i pregiudizi dei dati (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 →).

L'interpretabilità è un nono aspetto: un modello accurato ma opaco non basta se serve capire perché ha deciso (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) →).

Programma di Telecomunicazioni: supervisionato (regressione, 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 sono approfondimento.

Errori tipici:

  • pensare che più dati e un modello più complesso garantiscano un risultato migliore, senza curare qualità e coerenza dei dati;
  • confondere i tre tipi di apprendimento, guardando la presenza di etichette e ricompense;
  • valutare il modello sugli stessi dati usati per addestrarlo;
  • credere che un modello funzioni anche fuori dal dominio di addestramento.

Teoria collegata