Salta al contenuto
Note per Studenti Explainable AI (XAI)

Explainable AI (XAI)

In questa pagina 11

Un modello accurato che nessuno capisce può essere inaccettabile: la scelta dipende dall'applicazione.

Chirurgo umano o robot? Un chirurgo umano con 10%10\% di mortalità e pienamente interpretabile, o un robot con 1%1\% ma opaco, addestrato su esempi per un solo compito. Chi sceglie il robot cita l'accuratezza (i farmaci si testano così); chi sceglie l'umano chiede se il test era rappresentativo e non si fida di una scatola nera. La risposta dipende dall'applicazione e dall'accettazione della tecnologia: non è banale.

1. Concetti chiave

Definizione (interpretabilità). La scienza (o arte) di produrre descrizioni di un modello abbastanza semplici da essere comprese da un essere umano.

Definizione (spiegabilità). Interpretabilità più completezza: una spiegazione è completa quando permette di anticipare la previsione del modello.

L'interpretabilità si collega ai desiderata dei modelli (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 →):

  • Fiducia: garanzie di prestazione in uso reale, robustezza a perturbazioni di dati e parametri, confronto tra gli errori del modello e quelli umani.
  • Informatività: dare informazioni in più sul problema reale, di cui la formulazione ML è spesso solo un proxy.
  • Fairness: verificare che le previsioni non discriminino i gruppi protetti.

Tassonomia

asse prima opzione seconda opzione
origine intrinseca: il modello stesso produce la spiegazione (modelli interpretabili) post-hoc: un algoritmo esterno spiega un modello già addestrato
generalità agnostica (model-agnostic): applicabile in principio a ogni modello; vantaggi: portabilità, confronto tra modelli specifica (model-specific): su misura di un modello; vantaggi: accuratezza e velocità
ambito globale: spiega il modello nel suo insieme locale: spiega la singola previsione

Che cosa producono i metodi

  • Statistiche riassuntive delle feature: l'importanza di ciascuna feature o di coppie (interazioni).
  • Visualizzazioni: curve e grafici (PDP, ICE).
  • Data point: esempi controfattuali, punti simili ottenuti cambiando poco alcune feature e la cui previsione è molto diversa.

Buone spiegazioni: contrastive (rispondere a «perché non la classe B?» oltre che «perché A?»), brevi e intuitive (poche feature decisive), adatte al pubblico (tecnico o no).

2. Modelli intrinsecamente interpretabili

Regressione lineare

y=β0+β1x1+⋯+βpxp+ϵy=\beta_0+\beta_1x_1+\dots+\beta_px_p+\epsilon (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 →). I pesi stimati con i minimi quadrati, β^=arg⁡min⁡∑i(y(i)−β0−∑jβjxj(i))2\hat\beta=\arg\min\sum_i\big(y^{(i)}-\beta_0-\sum_j\beta_jx^{(i)}_j\big)^2 (Metodo 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 →), sono direttamente l'importanza: βj\beta_j è di quanto cambia la previsione per un'unità in più di xjx_j con tutte le altre feature ferme.

Esempio (noleggio di biciclette, giornaliero). Intercetta 2399,42399{,}4; stagione estate +899,3+899{,}3; inverno +425,6+425{,}6 (rispetto alla stagione di riferimento); festività −686,1-686{,}1; meteo pioggia/neve/temporale −1901,5-1901{,}5; temperatura +110,7+110{,}7 per grado; umidità −17,4-17{,}4 per punto percentuale; vento −42,5-42{,}5 per unità. Un giorno di pioggia ne perde circa 1 9001\,900 rispetto al sereno, ogni grado in più ne dà 111111.

Un intervallo di confidenza al 95%95\% per βj\beta_j è β^j±1,96 SE^j\hat\beta_j\pm1{,}96\,\widehat{SE}_j (distribuzione approssimativamente gaussiana, Distribuzione gaussiana (normale)N(μ, σ²) ha densità e^(−(x−μ)²/(2σ²)) / √(2πσ²), a campana centrata in μ con larghezza σ; media μ, varianza σ²; si standardizza con Z = (X − μ)/σ ~ N(0, 1) e si calcola P(X ≤ x) = Φ((x − μ)/σ), con Φ(−z) = 1 − Φ(z); aX + b è ancora gaussiana, N(aμ + b, a²σ²).Distribuzione gaussiana (normale) →) e copre il peso «vero» solo se il modello lineare è giusto per i dati. Se zero è dentro l'intervallo la feature può non contare.

LASSO. Per ottenere poche feature attive si penalizza ∑j∣βj∣\sum_j|\beta_j|: min⁡β∑i(yi−β0−∑jβjxij)2+α∑j∣βj∣\min_\beta\sum_i(y_i-\beta_0-\sum_j\beta_jx_{ij})^2+\alpha\sum_j|\beta_j| (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 →). Alcuni pesi diventano esattamente zero (selezione di feature, spiegazione più breve). Limiti: l'accuratezza cala al crescere di α\alpha (compromesso tra accuratezza e interpretabilità) e c'è il grouping effect: tra variabili molto correlate il LASSO ne sceglie una e le altre entrano e escono in modo instabile.

Regressione logistica

Nella classificazione binaria y=σ(z)y=\sigma(z) con z=β0+∑jβjxjz=\beta_0+\sum_j\beta_jx_j (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 →). Invertendo: da y=11+e−zy=\frac1{1+e^{-z}} si ha y1−y=ez\frac y{1-y}=e^{z} (dividendo yy per 1−y=e−z1+e−z1-y=\frac{e^{-z}}{1+e^{-z}}) e quindi

log⁡y1−y=β0+β1x1+β2x2+…\log\frac y{1-y}=\beta_0+\beta_1x_1+\beta_2x_2+\dots

Il primo membro è il log-odds. β1\beta_1 dice di quanto aumenta il log-odds per un'unità in più di x1x_1 (e moltiplica gli odds per eβ1e^{\beta_1}): per esempio β1=0,7\beta_1=0{,}7 moltiplica gli odds per e0,7=2,01e^{0{,}7}=2{,}01.

Attenzione alla scala. Se si riscala una feature, x1′=100x1x_1'=100x_1, il modello resta lo stesso con β1′=β1/100\beta_1'=\beta_1/100: le previsioni e il bordo di decisione non cambiano, cambia solo il valore numerico del coefficiente. Quindi i coefficienti sono confrontabili tra loro solo se le feature hanno la stessa scala (normalizzate).

Codifica delle variabili categoriche (laboratorio): one-hot trasforma una categoria in un vettore con un solo 11 (per ChestPain: tipica →[1,0,0,0]\to[1,0,0,0], asintomatica →[0,1,0,0]\to[0,1,0,0],...), adatta alle variabili nominali (nessun ordine) ma aumenta il numero di feature; label encoding assegna un intero a ogni categoria, adatto alle variabili ordinali (giovane << adulto << anziano).

Alberi di decisione

Un albero (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 →) si spiega da solo: il percorso radice-foglia è una regola «se... allora...». L'albero dell'Iris (n=150n=150 campioni, p=4p=4 variabili, L=3L=3 classi) ne usa 1919 split, già tanti da leggere. Un singolo albero ha però alta varianza: si passa alle foreste, che sono più accurate ma non leggibili.

3. Importanza delle feature in foreste e alberi

Impurità di Gini e riduzione di impurità

Formula (Gini e Information Gain). Per un nodo con classi di probabilità p1,…,pcp_1,\dots,p_c: Gini=1−∑ipi2Gini=1-\sum_ip_i^2; entropia −∑ipilog⁡2pi-\sum_ip_i\log_2p_i. Lo split in due figli ha Ginisplit=nleftnGini(left)+nrightnGini(right)Gini_{split}=\frac{n_{left}}{n}Gini(left)+\frac{n_{right}}{n}Gini(right). La riduzione di impurità (Mean Decrease in Impurity, MDI) di uno split è ΔGini=Gini(parent)−(nleftnpGini(left)+nrightnpGini(right)).\Delta Gini=Gini(parent)-\Big(\frac{n_{left}}{n_p}Gini(left)+\frac{n_{right}}{n_p}Gini(right)\Big).

Grafico interattivo: Impurità di un nodo a due classi in funzione della frazione p di una classe: massima in p = 1/2 (nodo più misto), zero per nodi puri

Esempio. Nodo con 1010 campioni, 66 di classe A e 44 di B: Gini=1−0,62−0,42=0,48Gini=1-0{,}6^2-0{,}4^2=0{,}48. Uno split manda 55 campioni (tutti A) a sinistra, impurità 00, e 55 (1 A e 4 B) a destra, Gini=1−0,22−0,82=0,32Gini=1-0{,}2^2-0{,}8^2=0{,}32. Pesata: 510⋅0+510⋅0,32=0,16\frac5{10}\cdot0+\frac5{10}\cdot0{,}32=0{,}16 e ΔGini=0,48−0,16=0,32\Delta Gini=0{,}48-0{,}16=0{,}32.

Formula (importanza MDI, Gini importance). L'importanza di una feature è la somma delle riduzioni di impurità di tutti i nodi in cui essa è usata per lo split, pesate per la quota di campioni del nodo: Imp(f)=∑nodi che usano fnpnTOT ΔGini,normalizzata: Imp(f)∑gImp(g).\text{Imp}(f)=\sum_{\text{nodi che usano }f}\frac{n_p}{n_{TOT}}\,\Delta Gini,\qquad\text{normalizzata: }\frac{\text{Imp}(f)}{\sum_g\text{Imp}(g)}.

Nelle random forest (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 →; bagging, campionamento con rimpiazzo, e feature bagging, scelta a caso di p\sqrt p feature per split) si media sugli alberi. Nell'esempio, se lo split è la radice, il contributo è 1010⋅0,32=0,32\frac{10}{10}\cdot0{,}32=0{,}32.

Difetto: feature selection bias. L'MDI può dare valori alti a feature poco legate al target, in particolare variabili con molti valori distinti (più occasioni di fare uno split che per caso riduce l'impurità). Rimedi: MDI corretto (debiased), alberi iterativi, e metodi basati sulla permutazione come Boruta: si permutano a caso le feature e si affiancano le copie rimescolate alle originali; una feature è utile solo se batte le sue copie casuali.

4. Metodi agnostici: importanza per permutazione

Definizione (permutation importance). Metodo post-hoc, agnostico, globale. Si valuta il modello (errore su un insieme di dati); poi si mescola a caso una feature su tutti i punti, rompendo il suo legame con il target, e si rivaluta. L'importanza è l'aumento dell'errore.

Procedura: (1) allenare il modello e ottenere le predizioni originali; (2) valutare le prestazioni; (3) scegliere una feature e mescolarne i valori; (4) ottenere le predizioni sui nuovi punti e rivalutare; (5) ripetere per ogni feature.

Esempio (slide). Cinque dati con x1=(3,4; 2,7; 3,5; 1,5; 1,8)x_1=(3{,}4;\ 2{,}7;\ 3{,}5;\ 1{,}5;\ 1{,}8), x2=(7,5; 7,7; 6,9; 6,3; 6,4)x_2=(7{,}5;\ 7{,}7;\ 6{,}9;\ 6{,}3;\ 6{,}4), etichette vere (0,1,1,0,1)(0,1,1,0,1), predizioni originali (1,1,1,0,1)(1,1,1,0,1): un errore su cinque, errore 20%20\%. Dopo aver mescolato x1x_1 le predizioni sono (1,1,0,0,1)(1,1,0,0,1): differiscono dalle etichette in posizione 11 e 33, errore 40%40\%. Dopo aver mescolato x2x_2 sono (1,0,1,1,0)(1,0,1,1,0): sbagliate in posizione 1,2,4,51,2,4,5, errore 80%80\%. Importanza x1=40%−20%=20x_1=40\%-20\%=20 punti, x2=80%−20%=60x_2=80\%-20\%=60 punti: x2x_2 conta molto di più.

Idea intuitiva: se la feature serviva, rimescolarla fa precipitare le prestazioni. Limiti: ipotizza feature indipendenti (se sono correlate, rimescolando se ne creano combinazioni irrealistiche su cui il modello non è mai stato addestrato, e la correlata «copre» la mescolata) e richiede le etichette.

5. Grafici di dipendenza parziale (PDP) e ICE

Per i modelli non lineari (alberi, foreste) l'effetto di una feature non è costante: può far aumentare la previsione per alcuni campioni e diminuirla per altri, e dipende da interazioni con le altre. Con più di due feature non si può disegnare la superficie; si studia allora come cambia la previsione variando una (o due) feature e tenendo ferme le altre.

ICE (individual conditional expectation): per un campione, la previsione al variare di una feature tra il minimo e il massimo osservati (nel laboratorio, 100100 valori tra 00 e 11 dopo la normalizzazione).

Definizione (PDP, grafico di dipendenza parziale). Effetto marginale medio di un sottoinsieme SS di feature (di solito una o due) sulla previsione, ottenuto marginalizzando le altre feature CC: f^S(xS)=ExC[f^(xS,xC)]≈1n∑i=1nf^(xS, xC(i)).\hat f_S(x_S)=E_{x_C}\big[\hat f(x_S,x_C)\big]\approx\frac1n\sum_{i=1}^n\hat f\big(x_S,\,x_C^{(i)}\big). Il PDP è la media delle curve ICE (valore atteso come media sui dati, 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 →).

Perché non fissare le altre feature a un valore qualsiasi: si creerebbero combinazioni mai osservate; neanche la media delle feature è una buona scelta. In pratica: (1) si prendono punti del dataset; (2) per ciascuno si fa variare la feature di interesse lasciando le altre ai valori di quel punto; (3) si calcolano le previsioni; (4) si fa la media.

Grafico interattivo: ICE e PDP per il modello f = x1 + x1·x2 con x2 ∈ {0,1,2}: le tre curve ICE (pendenze 1, 2, 3) hanno medie diverse, il PDP (pendenza 2) le riassume e nasconde l'eterogeneità

Esempio. f(x1,x2)=x1+x1x2=x1(1+x2)f(x_1,x_2)=x_1+x_1x_2=x_1(1+x_2) e tre dati con x2=0,1,2x_2=0,1,2. Per un valore x1x_1 fissato le tre ICE valgono x1, 2x1, 3x1x_1,\ 2x_1,\ 3x_1 e il PDP =13(x1+2x1+3x1)=2x1=\frac13(x_1+2x_1+3x_1)=2x_1: la media nasconde che per un campione la pendenza è 11 e per un altro 33. Il PDP si legge per capire se il legame è lineare, monotono o più complesso; con due feature si disegna una mappa di contorno (laboratorio: età e frequenza cardiaca massima).

6. Modelli surrogati locali: LIME

Definizione (LIME, Local Interpretable Model-agnostic Explanations). Spiega una singola previsione con un modello semplice che approssima il black-box vicino a quel punto.

Procedura: (1) si generano punti artificiali xa,xb,…x^a,x^b,\dots con piccole perturbazioni di xx; (2) si ottengono le previsioni del black-box ypreda,ypredb,…y^a_{pred},y^b_{pred},\dots; (3) si allena un modello interpretabile (per esempio un albero o un modello lineare) sulle coppie (xa,ypreda),…(x^a,y^a_{pred}),\dots, pesando ogni punto per la vicinanza a xx (più è vicino, più conta); (4) si legge il modello semplice per capire «cosa succede» attorno a xx. È locale: lo stesso black-box può avere spiegazioni diverse in punti diversi. Difficoltà: la scelta dell'intorno e la stabilità.

7. SHAP e valori di Shapley

Definizione (valore di Shapley, SHAP). Dalla teoria dei giochi cooperativi: la previsione è un «pagamento» da distribuire tra le feature («giocatrici»). Il valore di Shapley φi\varphi_i della feature ii è la media del suo contributo marginale su tutti gli ordini in cui le feature possono essere aggiunte: φi=∑S⊆F∖{i}∣S∣! (∣F∣−∣S∣−1)!∣F∣![v(S∪{i})−v(S)],\varphi_i=\sum_{S\subseteq F\setminus\{i\}}\frac{|S|!\,(|F|-|S|-1)!}{|F|!}\Big[v(S\cup\{i\})-v(S)\Big], con v(S)v(S) la previsione quando solo le feature in SS hanno il valore osservato e le altre un valore di riferimento (la media sul dataset di sfondo).

Il peso ∣S∣!(∣F∣−∣S∣−1)!∣F∣!\frac{|S|!(|F|-|S|-1)!}{|F|!} è la frazione degli ordinamenti in cui l'insieme esatto SS precede ii (Calcolo combinatorio per la probabilitàNegli spazi uniformi bisogna contare: principio di moltiplicazione, disposizioni con ripetizione n^k, disposizioni semplici n!/(n−k)!, permutazioni n!, combinazioni (n su k); estrazioni con e senza reinserimento e distribuzione ipergeometrica.Calcolo combinatorio per la probabilità →). Proprietà: la somma dei contributi è esattamente la differenza tra la previsione e quella di riferimento (efficienza: ∑iφi=f(x)−f(rif)\sum_i\varphi_i=f(x)-f(\text{rif})); feature identiche ricevono contributi uguali; una feature irrilevante riceve 00.

Esempio. f(x)=2x1+x1x2+x3f(x)=2x_1+x_1x_2+x_3, riferimento (0,0,0)(0,0,0), istanza x=(1,2,3)x=(1,2,3), f(x)=2+2+3=7f(x)=2+2+3=7. Valori di vv: v(∅)=0v(\emptyset)=0, v(1)=2v(1)=2, v(2)=0v(2)=0, v(3)=3v(3)=3, v(12)=2+2=4v(12)=2+2=4, v(13)=5v(13)=5, v(23)=3v(23)=3, v(123)=7v(123)=7. Per x1x_1: 13(2−0)+16(4−0)+16(5−3)+13(7−3)=23+23+13+43=3\frac13(2-0)+\frac16(4-0)+\frac16(5-3)+\frac13(7-3)=\frac23+\frac23+\frac13+\frac43=3. Per x2x_2: 13(0)+16(4−2)+16(3−3)+13(7−5)=13+23=1\frac13(0)+\frac16(4-2)+\frac16(3-3)+\frac13(7-5)=\frac13+\frac23=1. Per x3x_3: 33. Somma 3+1+3=7=f(x)−f(0)3+1+3=7=f(x)-f(0). Si noti che il prodotto x1x2=2x_1x_2=2 è diviso a metà tra x1x_1 e x2x_2 (ma x2x_2 ottiene solo 11 perché da solo non vale nulla, v(2)=0v(2)=0).

Il calcolo esatto richiede 2∣F∣2^{|F|} valutazioni: le librerie usano approssimazioni (nel laboratorio shap.Explainer). Spiegazione globale: il summary plot mostra i valori SHAP di tutto il training (importanza e verso dell'effetto). Spiegazione locale: il waterfall plot di un campione mostra come ogni feature sposta la previsione dal valore atteso a quella finale.

AcME (Accelerated Model Explanations): metodo ispirato a SHAP ma pensato per costare molto meno e con una visualizzazione più semplice.

8. Reti neurali profonde

Per le DNN (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 →) si distinguono:

9. Valutare l'interpretabilità

  • Livello applicativo: esperti del dominio provano la spiegazione su un compito reale (la stima più veritiera, la più costosa).
  • Livello umano: non esperti su compiti semplificati (più facile trovare soggetti).
  • Livello funzionale: nessun umano, si misurano quantità proxy del modello (profondità dell'albero, sparsità). Sfida: trovare proxy davvero legati all'interpretabilità umana.

10. Il laboratorio: cardiopatia (AHD)

Il dataset Heart descrive pazienti con 13 feature (età, sesso, tipo di dolore al petto, pressione a riposo, colesterolo, glicemia, ECG, frequenza massima, angina da sforzo, ecc.); si predice se hanno la cardiopatia AHD.

  1. Preparazione. Il target è AHD == "Yes". Le colonne categoriche (ChestPain, Ca, Thal) si codificano one-hot. Si divide in training e test (test_size=0.33) e si normalizza con min-max usando minimo e massimo del training: x′=x−min⁡trainmax⁡train−min⁡trainx'=\frac{x-\min_{train}}{\max_{train}-\min_{train}}, applicato anche al test con gli stessi valori.
  2. Regressione logistica: accuratezza di training 0,8570{,}857, di test 0,850{,}85. Importanza = ∣βj∣|\beta_j| (sensata perché le feature sono normalizzate).
  3. LASSO con α\alpha crescente (da 0,0010{,}001 a 0,130{,}13): ChestPain_asymptomatic, Ca_0.0 e Thal_normal sono le ultime a essere azzerate, e l'ordine di importanza cambia con la penalità.
  4. Random forest (max_depth=5): modello non lineare, spiegato con ICE (funzione che fa variare una feature in [0,1][0,1] tenendo fisso il resto e calcola predict_proba[:,1]), PDP (media delle ICE sul test) e mappa a due feature.
  5. SHAP: shap.Explainer(clf, X_train, feature_names=...), shap.summary_plot (globale) e shap.waterfall_plot (locale).
python
def ice_curve(model, sample, idx):
    valori = np.linspace(0, 1, 100)           # feature normalizzata in [0, 1]
    probs = []
    for v in valori:
        sample[0, idx] = v                    # cambia SOLO la feature idx
        probs.append(model.predict_proba(sample)[0, 1])
    return valori, probs
# PDP = media di ice_curve su tutti i campioni; permutation importance:
# sklearn.inspection.permutation_importance(model, X_test, y_test)

Esercizio: Esercizio - XAI su cardiopatia e calcolo a mano di permutation importance, PDP e Shapley.

11. Errori tipici

  • Leggere i coefficienti di un modello lineare senza normalizzare le feature.
  • Usare l'MDI dei random forest come verità: soffre di feature selection bias.
  • Credere che il PDP mostri l'effetto per ogni individuo: è una media (guardare le ICE).
  • Permutation importance con feature molto correlate: genera punti irrealistici e sottostima.
  • Confondere spiegazione globale e locale, o spiegare con un metodo agnostico come se rivelasse il «vero» meccanismo del modello.
  • Confondere correlazione e causalità: l'importanza di una feature non dice cosa succederebbe intervenendo su di essa.

Versione ripasso

Esercizi su questo argomento

Lezioni in cui compare

Teoria collegata