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.
- Dati: la quantità di dati digitali disponibili è enormemente aumentata.
- Hardware: processori grafici e acceleratori rendono possibile addestrare modelli molto grandi.
- 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;varcon $n-1$ contronp.varcon $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 , cioè un ingresso e l'uscita desiderata (l'etichetta, label). Compito: imparare una funzione che dagli ingressi produca le uscite .
Esempio. = metri quadri di un appartamento, = 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 , 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 è :
Un modello minimo: la retta
Il modello più semplice è la regressione lineare con una sola variabile: dove è la proprietà (feature) di ingresso, il peso, il bias (intercetta) e 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). , con pendenza e valore in .
Esempio. Con € e € al metro quadro, un appartamento di ha predizione €.
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 → il cui grafico è una retta. Il peso è 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 → , costante: ogni metro quadro in più aggiunge sempre euro alla predizione. Il bias è , il valore a . Quando gli ingressi sono più di uno, diventa un vettore 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 → e il modello è , 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: , , (migliaia di euro). Si provano due rette. Per ciascuna si calcola, per ogni punto, l'errore (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 →).
- Retta A: , (k€). Predizioni ; errori ; quadrati ; media .
- Retta B: , . Predizioni ; errori ; quadrati ; media . La retta A «passa più vicino» ai punti (75 contro 450): addestrare significa cercare i valori di e che rendono questo numero il più piccolo possibile. È un problema di minimo di una funzione di (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 , , con errore quadratico medio , 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.
- Problema (problem): definizione del problema, impatto atteso, metrica di valutazione. Si decide qui che cosa significa «funziona».
- Raccolta (collection): conversione dei formati, parsing, aggregazione, allineamento di sorgenti diverse.
- 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 →).
- 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 →).
- 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.
- 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.
- 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.
- 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 errori indipendenti si avvicina al loro valore atteso al crescere di (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.
- Niente «plug and play». Serve un processo di sviluppo e la conoscenza del dominio.
- 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).
- Lavoro. L'AI sostituirà alcune professioni (secondo analisti come PwC o McKinsey), pur creandone altre.
- Deep fake. Contenuti falsi ma verosimili generati da modelli.
- 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
- Basi di statistica e visualizzazione dei dati (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 →, 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 →, Analisi delle componenti principali (PCA)Con $p>3$ variabili non si può disegnare il dataset. La PCA (analisi delle componenti principali) lo proietta su pochi assi ortogonali, le componenti principali: dopo aver centrato (e di solito standardizzato) i dati, le direzioni sono gli autovettori della matrice di covarianza $S=\frac1{n-1}X_c^TX_c$ ordinati per autovalore $\lambda_1\ge\lambda_2\ge\dots$; $\lambda_k$ è la varianza lungo la componente $k$ e $\lambda_k/\sum\lambda_j$ la frazione spiegata (scree plot). Trovare la retta che minimizza le distanze dai punti equivale a massimizzare la varianza delle proiezioni (Pitagora). È lineare e conserva la struttura globale, non quella locale; t-SNE e UMAP sono alternative non lineari solo per visualizzare. Approfondimento: non nel programma di Telecomunicazioni.Analisi delle componenti principali (PCA) →).
- Apprendimento supervisionato: regressione (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 →, 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 →, LASSO e discesa del gradienteIl LASSO è la regressione regolarizzata con penalità $L_1$: minimizza $\sum_i(y_i-x_i^T\beta)^2+\lambda\sum_{j\ge1}|\beta_j|$. A differenza della ridge, porta alcuni coefficienti esattamente a zero (soluzione sparsa, selezione delle feature): geometricamente le curve di livello dell'errore toccano il vincolo $\sum|\beta_j|\le s$ (un rombo) in uno spigolo. Non ha formula chiusa, quindi si minimizza con la discesa del gradiente $W\leftarrow W-\eta,\nabla J(W)$, usando il subgradiente $\operatorname{sign}(\beta_j)$ per il valore assoluto (nel punto 0 qualunque valore in $[-1,1]$). Il passo $\eta$ è critico: per l'errore quadratico converge se $\eta<1/\mu_{\max}(X^TX)$; si può usare $\eta_t=\eta_0/(1+\gamma t)$. L'Elastic Net combina le penalità $L_1$ e $L_2$ con $\lambda_1=\alpha\lambda$, $\lambda_2=(1-\alpha)\lambda$.LASSO e discesa del gradiente →) e classificazione (Classificazione e k-nearest neighborsNella classificazione l'uscita $y$ è una categoria (con $C$ classi; $C=2$ è il caso binario). Il classificatore più semplice è il k-nearest neighbors: una nuova osservazione prende la classe più frequente (voto di maggioranza) tra i suoi $k$ vicini più prossimi nel training, con distanza euclidea $\sqrt{\sum(A_i-B_i)^2}$ o di Manhattan $\sum|A_i-B_i|$ (per la regressione si fa la media dei vicini). $k$ è un iperparametro: $k$ piccolo dà bordi frastagliati e overfitting, $k$ grande underfitting. È un metodo basato su istanze e «pigro» (nessun addestramento, costo alla predizione), sensibile a scala e feature irrilevanti e alla maledizione della dimensionalità; gli ingressi categorici si codificano con one-hot. Approfondimento: non nel programma di Telecomunicazioni.Classificazione e k-nearest neighbors →, Regressione logistica e softmaxLa regressione lineare non è adatta alla classificazione (valori fuori da [0,1], retta tirata dai punti lontani). La regressione logistica passa il predittore lineare dalla sigmoide $\sigma(z)=1/(1+e^{-z})$ e interpreta $\hat y=\sigma(x^T\beta)$ come $P(y=1\mid x)$: si predice la classe 1 se $\hat y\ge0{,}5$, cioè $x^T\beta\ge0$ (bordo lineare). L'errore quadratico dà una funzione non convessa; si usa la log-verosimiglianza negativa $-\sum[y\log\hat y+(1-y)\log(1-\hat y)]$, convessa, con gradiente $X^T(\hat y-y)$ e nessuna formula chiusa (discesa del gradiente). Per più classi: one-vs-one ($C(C-1)/2$ classificatori, voto), one-vs-all ($C$ classificatori, massima probabilità), o la softmax $p_c=e^{z_c}/\sum_ke^{z_k}$ con cross-entropia. Si può regolarizzare (ridge, LASSO, Elastic Net) e la cross-validation si fa stratificata. Approfondimento: non nel programma di Telecomunicazioni.Regressione logistica e softmax →, Metriche di classificazioneIn classificazione binaria ogni previsione è vero positivo (TP), vero negativo (TN), falso positivo (FP, errore di tipo I) o falso negativo (FN, errore di tipo II). Da queste quattro quantità: accuracy $=\frac{TP+TN}{TP+TN+FP+FN}$, specificità $=\frac{TN}{TN+FP}$, precision $=\frac{TP}{TP+FP}$, recall $=\frac{TP}{TP+FN}$, e la loro media armonica $F_1=\frac{2PR}{P+R}$. Con dati sbilanciati l'accuracy inganna (un modello che predice sempre la classe maggioritaria ha 99%): si usano precision, recall, F1, ROC-AUC, la cross-validation stratificata e il riequilibrio con undersampling o oversampling (non SMOTE). Cambiando la soglia sulla probabilità si ottiene la curva ROC (TPR contro FPR) e l'area AUC. Approfondimento: non nel programma di Telecomunicazioni.Metriche di classificazione →, Halfspace e PerceptronUn halfspace (semispazio) classifica con un iperpiano: $h(x)=\operatorname{sign}(w^Tx+b)$, con $w$ normale al piano e $|w^Tx+b|/|w|$ distanza dal piano; aggiungendo una componente costante $1$ a $x$ si scrive $\operatorname{sign}(\tilde w^T\tilde x)$. Il Perceptron (Rosenblatt, 1958) è il neurone con attivazione a gradino e impara con una regola semplice: per ogni errore $y_i,w^Tx_i\le0$ si aggiorna $w\leftarrow w+y_ix_i$. Teorema di convergenza (Novikoff): se i dati sono linearmente separabili con margine $\gamma$ ($y_iw^{T}x_i\ge\gamma$, $|w^|=1$) e $|x_i|\le R$, il Perceptron fa al più $(R/\gamma)^2$ errori e si ferma. Non risolve problemi non separabili (XOR), non ha un criterio di margine ottimale (le SVM sì) e il suo analogo morbido è la regressione logistica. Programma di Telecomunicazioni: halfspace model, Perceptron.Halfspace e Perceptron →, Support vector machines e metodi kernelUna SVM cerca l'iperpiano $w\cdot x+b=0$ che separa due classi con il margine più largo possibile: normalizzando $y_i(w\cdot x_i+b)\ge1$ il margine totale vale $2/|w|$, quindi si risolve $\min\frac12|w|^2$ (problema convesso, nessun minimo locale). Con classi sovrapposte si ammettono errori con le variabili di scarto $\xi_i$ e il parametro $C$ (soft margin, equivalente alla hinge loss più una penalità su $|w|^2$); $C$ piccolo = margine largo e più bias, $C$ grande = margine stretto e più varianza, si sceglie per cross-validation. La soluzione dipende solo dai vettori di supporto ($w=\sum\alpha_iy_ix_i$) e solo tramite prodotti scalari, per questo si può sostituire $x_i\cdot x_j$ con un kernel $K(x_i,x_j)=\langle\phi(x_i),\phi(x_j)\rangle$ (polinomiale, RBF) senza calcolare $\phi$: così si ottengono bordi non lineari. La SVR usa lo stesso schema con un tubo di tolleranza $\varepsilon$. Nell'esame le SVM sono solo nella parte teorica.Support vector machines e metodi kernel →, Alberi di decisioneUn albero di decisione partiziona i dati con una sequenza di regole su una sola variabile alla volta (nodi interni = regole, foglie = predizioni: classe più frequente, oppure media del target in regressione). Si costruisce in modo ricorsivo scegliendo a ogni nodo la divisione che rende i figli più «puri»: con l'entropia $H=-\sum p_i\log_2p_i$ e il guadagno d'informazione $IG=H(S)-\sum\frac{|S_v|}{|S|}H(S_v)$ (ID3), oppure con l'indice di Gini $1-\sum p_i^2$ e soglie $x\le t$ su variabili numeriche (CART); in regressione con MSE o riduzione di varianza. Un albero pienamente sviluppato fa overfitting (varianza alta): si limita con la profondità massima (pre-potatura) o con la potatura a costo-complessità $R_\alpha(T)=R(T)+\alpha|T|$ (post-potatura). Pro: interpretabile, niente normalizzazione, predizione immediata; contro: varianza alta, da cui le foreste. Programma di Telecomunicazioni: Decision Trees e Random Forests.Alberi di decisione →, Metodi ensemble - bagging, random forest e boostingUn albero da solo ha varianza alta; un ensemble combina molti modelli deboli. Bagging: ogni albero è addestrato su un campione bootstrap (n estrazioni con rimpiazzo, circa il 63% di campioni distinti) e si vota o si fa la media: riduce la varianza, perché la media di $T$ stimatori con varianza $\sigma^2$ e correlazione $\rho$ ha varianza $\rho\sigma^2+(1-\rho)\sigma^2/T$. Random forest = bagging + a ogni split solo $\sqrt p$ feature casuali (alberi meno correlati); l'importanza di una feature è la somma delle riduzioni di Gini pesate sui nodi in cui è usata. Boosting: alberi in sequenza, ciascuno corregge gli errori dei precedenti, e si riduce il bias. Gradient boosting: $F\leftarrow F+\eta h$ con $h$ albero sui residui (gradiente negativo della perdita), $\eta$ piccolo; AdaBoost: stump e pesi sui campioni sbagliati; XGBoost: similarity score $\frac{(\sum r)^2}{N+\lambda}$, gain, potatura con $\gamma$, output $\frac{\sum r}{N+\lambda}$. Programma di Telecomunicazioni: Random Forests; boosting come approfondimento.Metodi ensemble - bagging, random forest e boosting →).
- Apprendimento non supervisionato: Anomaly detectionUn'anomalia (outlier) è un'osservazione che si discosta tanto dalle altre da far pensare che sia generata da un meccanismo diverso. Rilevarle serve come pulizia dei dati (solo se sono errori o rumore, non per migliorare artificialmente le metriche), come obiettivo finale (frodi, guasti, cybersicurezza) e per il monitoraggio di un modello in produzione. Metodi semplici: box plot (oltre $1{,}5,\mathrm{IQR}$), carte di controllo univariate ($\mu\pm3\sigma$) e la statistica multivariata di Hotelling $T^2=(x-\bar x)^TS^{-1}(x-\bar x)$ con soglia $\chi^2_{p,1-\alpha}$, valida per dati gaussiani e unimodali. Metodi non supervisionati multivariati danno un anomaly score: l'isolation forest isola ogni punto con split casuali (le anomalie hanno cammini corti) e calcola $s(x,n)=2^{-E(h(x))/c(n)}$, con soglia scelta dalla contaminazione. Senza etichette si valuta con esperti, eventi noti o anomalie sintetiche. Approfondimento: non nel programma di Telecomunicazioni.Anomaly detection → e 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 →.
- Reti neurali e deep learning (Reti neurali - neuroni e funzioni di attivazioneUn neurone calcola $\hat y=g(w_0+w^\top x)$: somma pesata degli ingressi più bias, poi una funzione di attivazione $g$ non lineare (Perceptron a soglia, sigmoide, tanh, ReLU e varianti). Senza non linearità ogni rete è equivalente a un solo modello lineare. Una rete feed-forward impila strati di neuroni: $a^{(k)}=g(W^{(k)}a^{(k-1)}+b^{(k)})$; con uno strato nascosto è già un approssimatore universale, ma più strati rappresentano funzioni complesse con molti meno neuroni e imparano feature gerarchiche (bordi, parti, oggetti). Lo strato di uscita e la loss si scelgono dal compito: lineare+MSE (regressione), sigmoide+cross-entropy binaria, softmax+cross-entropy (multiclasse). Il numero di parametri di uno strato denso è $n_{in}n_{out}+n_{out}$. Nel lab (Keras, MNIST) una rete 784-512-10 ha 407 050 parametri e supera il 98% di accuratezza.Reti neurali - neuroni e funzioni di attivazione →).
- Spiegabilità ed equità.
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
- Pensare che più dati e un modello più complesso garantiscano sempre un risultato migliore: conta anche la qualità dei dati e la coerenza con il compito.
- Confondere i tre tipi di apprendimento: il criterio è la presenza o meno di etichette (e, per il rinforzo, di ricompense).
- Valutare un modello sugli stessi dati usati per addestrarlo: la prestazione che conta è quella su dati nuovi (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 → e 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 →).
- Credere che un modello che funziona nel dominio di addestramento funzioni anche altrove.
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 ML 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 , con l'etichetta (label). Compito: imparare la funzione . È regressione se è un numero, classificazione se è una categoria.
Esempio. = metri quadri, = prezzo: si prevede il prezzo di un appartamento nuovo.
Definizione (non supervisionato). Dati solo , 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 (o di ricompense).
Il modello minimo: la retta
Formula (regressione lineare con una variabile). , dove è il peso (pendenza, cioè la derivata costante), il bias () e la predizione. Con più ingressi: .
Esempio. €, € al m: un appartamento di ha €.
Scegliere i parametri sui dati. Tre appartamenti: , , , in migliaia di euro. Per ogni retta si calcola l'errore , 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 →).
- Retta A (, ): predizioni ; errori ; media dei quadrati .
- Retta B (, ): predizioni ; errori ; media dei quadrati .
Addestrare significa trovare e 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 , , con errore quadratico medio (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:
- Problema: impatto atteso e metrica di valutazione (che cosa significa «funziona»).
- Raccolta: formati, parsing, allineamento di sorgenti diverse.
- 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 →).
- 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 →).
- 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 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
- Senza dati non c'è modello.
- Fenomeni imprevedibili: sull'andamento del COVID-19 modelli diversi, sugli stessi dati, hanno dato risultati molto lontani.
- Generalizzazione: un sistema che riconosce una mucca sul prato può sbagliare in spiaggia, perché ha appreso anche il contesto.
- Niente «plug and play»: servono processo e conoscenza del dominio.
- Prestazioni non note a priori: soprattutto con dati privati.
- Lavoro: alcune professioni cambiano.
- Deep fake: contenuti falsi ma verosimili.
- 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 →).
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.