Salta al contenuto
Note per Studenti Esercizio - Metriche di fairness e soglie per gruppo

Esercizio - Metriche di fairness e soglie per gruppo

Questa pagina non ha ancora la versione ripasso: qui sotto c'è il testo completo.

In questa pagina 5

Testo. Un classificatore decide se concedere un beneficio (Y^=1\hat Y=1 significa «concesso»). Sui dati di test, per due gruppi di un attributo sensibile AA (aa avvantaggiato, dd svantaggiato), si osservano le matrici di confusione:

TPTP FNFN FPFP TNTN
gruppo aa 4545 55 1515 3535
gruppo dd 2424 1616 66 5454
  1. Si calcolino P(Y^=1∣A)P(\hat Y=1\mid A) per i due gruppi, la Demographic Parity DPDP, il tasso di veri positivi per gruppo e l'Equality of Opportunity EOEO. Si calcolino anche tassi di falsi positivi e accuratezza per gruppo.
  2. Un secondo modello dà punteggi (con vera etichetta tra parentesi) — gruppo aa: 0,9(1), 0,8(1), 0,7(0), 0,5(1), 0,3(0), 0,2(0)0{,}9(1),\,0{,}8(1),\,0{,}7(0),\,0{,}5(1),\,0{,}3(0),\,0{,}2(0); gruppo dd: 0,8(1), 0,6(1), 0,55(0), 0,45(1), 0,35(0), 0,1(0)0{,}8(1),\,0{,}6(1),\,0{,}55(0),\,0{,}45(1),\,0{,}35(0),\,0{,}1(0). Con soglia 0,50{,}5 (Y^=1\hat Y=1 se punteggio ≥0,5\ge0{,}5) per tutti, si calcolino DPDP ed EOEO. Si trovi una soglia per il gruppo dd che le azzera e si verifichi il tasso di falsi positivi.
  3. Nel caso COMPAS i falsi positivi sono 44,9%44{,}9\% per afroamericani e 23,5%23{,}5\% per bianchi, i falsi negativi 28,0%28{,}0\% e 47,7%47{,}7\%. Cosa dicono sul trattamento dei due gruppi? Quale metrica sarebbe violata?
  4. Perché togliere dal modello la colonna race non basta? Come si individua una variabile proxy?

Teoria usata: 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 →, 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 →, Probabilità condizionataLa probabilità di A sapendo che si è verificato B è P(A ∣ B) = P(A ∩ B) / P(B), con P(B) > 0; è una nuova misura di probabilità, e da essa seguono la regola del prodotto e la regola della catena.Probabilità condizionata →, Covarianza e coefficiente di correlazioneCov(X, Y) = E[(X − E X)(Y − E Y)] = E[XY] − E[X]E[Y] misura quanto X e Y variano insieme; è bilineare, Cov(X, X) = Var(X), Var(X + Y) = Var X + Var Y + 2Cov(X, Y); ρ = Cov / (σ_X σ_Y) sta in [−1, 1] e vale ±1 solo per legami lineari. Indipendenti ⇒ non correlate, ma non viceversa (tranne per i vettori gaussiani).Covarianza e coefficiente di correlazione →.

1. Metriche dalle matrici di confusione

Per ciascun gruppo ci sono 100100 persone.

Quota di previsioni positive P(Y^=1∣A)=(TP+FP)/nP(\hat Y=1\mid A)=(TP+FP)/n: gruppo aa: (45+15)/100=0,60(45+15)/100=0{,}60; gruppo dd: (24+6)/100=0,30(24+6)/100=0{,}30.

Demographic Parity: DP=P(Y^=1∣a)−P(Y^=1∣d)=0,60−0,30=0,30DP=P(\hat Y=1|a)-P(\hat Y=1|d)=0{,}60-0{,}30=0{,}30 (ideale 00).

Tasso di veri positivi TPR=TP/(TP+FN)TPR=TP/(TP+FN): aa: 45/50=0,9045/50=0{,}90; dd: 24/40=0,6024/40=0{,}60.

Equality of Opportunity: EO=0,90−0,60=0,30EO=0{,}90-0{,}60=0{,}30.

Tasso di falsi positivi FPR=FP/(FP+TN)FPR=FP/(FP+TN): aa: 15/50=0,3015/50=0{,}30; dd: 6/60=0,106/60=0{,}10. Accuratezza (TP+TN)/n(TP+TN)/n: aa: 80/100=0,8080/100=0{,}80; dd: 78/100=0,7878/100=0{,}78.

Lettura: il gruppo dd riceve il beneficio molto meno spesso (30%30\% contro 60%60\%) e, tra chi ne ha diritto (Y=1Y=1), viene riconosciuto molto meno (60%60\% contro 90%90\%). L'accuratezza è quasi uguale (0,800{,}80 e 0,780{,}78): l'accuratezza globale nasconde la disparità. Il gruppo dd ha anche meno falsi positivi: il modello è più prudente con dd.

2. Soglie per gruppo

Soglia 0,50{,}5 per tutti.

  • Gruppo aa: previsti positivi i punteggi 0,9; 0,8; 0,7; 0,50{,}9;\,0{,}8;\,0{,}7;\,0{,}5, cioè 44 su 66: P(Y^=1∣a)=0,667P(\hat Y=1|a)=0{,}667. Positivi veri: 0,9; 0,8; 0,50{,}9;\,0{,}8;\,0{,}5, tutti previsti positivi: TPRa=3/3=1TPR_a=3/3=1.
  • Gruppo dd: previsti positivi 0,8; 0,6; 0,550{,}8;\,0{,}6;\,0{,}55, cioè 33 su 66: 0,50{,}5. Positivi veri: 0,8; 0,6; 0,450{,}8;\,0{,}6;\,0{,}45; previsti positivi due su tre: TPRd=2/3=0,667TPR_d=2/3=0{,}667.

DP=0,667−0,5=0,167DP=0{,}667-0{,}5=0{,}167 e EO=1−0,667=0,333EO=1-0{,}667=0{,}333.

Soglia più bassa per dd. Per includere il positivo vero a 0,450{,}45 si abbassa la soglia di dd a 0,450{,}45: ora sono previsti positivi 0,8; 0,6; 0,55; 0,450{,}8;\,0{,}6;\,0{,}55;\,0{,}45, quindi 44 su 66: P(Y^=1∣d)=0,667=P(Y^=1∣a)P(\hat Y=1|d)=0{,}667=P(\hat Y=1|a) e DP=0DP=0; i tre positivi veri sono tutti riconosciuti: TPRd=1=TPRaTPR_d=1=TPR_a e EO=0EO=0.

Falsi positivi. Gruppo dd (soglia 0,450{,}45): i negativi veri sono 0,55; 0,35; 0,10{,}55;\,0{,}35;\,0{,}1 e solo 0,550{,}55 supera la soglia: FPRd=1/3FPR_d=1/3. Gruppo aa (soglia 0,50{,}5): negativi veri 0,7; 0,3; 0,20{,}7;\,0{,}3;\,0{,}2 e solo 0,70{,}7 supera: FPRa=1/3FPR_a=1/3. Anche i tassi di falsi positivi coincidono: questo caso soddisfa tutto (DP, EO e uguaglianza degli FPR), ma è un esempio costruito; in generale le metriche non si possono soddisfare insieme e ogni correzione costa accuratezza.

3. Il caso COMPAS

I falsi positivi sono quasi il doppio per gli afroamericani (44,9%44{,}9\% contro 23,5%23{,}5\%): più spesso etichettati ad alto rischio senza recidiva. I falsi negativi sono invece molto più alti per i bianchi (47,7%47{,}7\% contro 28,0%28{,}0\%): più spesso etichettati a basso rischio pur ricadendo. Il modello è severo con un gruppo e clemente con l'altro. Prendendo Y^=1\hat Y=1 = «alto rischio» (come nell'analisi originale), per gli afroamericani FPR=0,449FPR=0{,}449 e TPR=1−0,280=0,720TPR=1-0{,}280=0{,}720; per i bianchi FPR=0,235FPR=0{,}235 e TPR=1−0,477=0,523TPR=1-0{,}477=0{,}523. Quindi né i tassi di falsi positivi né quelli di veri positivi sono uguali tra i gruppi: l'Equality of Opportunity (EO=TPRa−TPRdEO=TPR_a-TPR_d, da calcolare dichiarando prima quale classe è Y^=1\hat Y=1 e quale gruppo è «avvantaggiato») è violata, e lo è anche l'uguaglianza dei falsi positivi. Il segno di DPDP ed EOEO dipende da cosa si chiama esito positivo: per questo si dichiara sempre la convenzione prima del calcolo.

4. Proxy

Togliere race rispetta la fairness through unawareness ma il modello può ricostruirla da variabili correlate (proxy) come il CAP. Si individuano guardando la matrice di correlazione tra tutte le feature (incluso l'attributo sensibile) o addestrando un classificatore che prevede AA dalle altre feature: un'accuratezza alta indica che l'informazione è ancora presente. Nel caso sintetico della lezione zip_code e race hanno correlazione −0,80-0{,}80. Togliendo entrambe il divario si riduce, a scapito di accuratezza (≈0,70→0,66\approx0{,}70\to0{,}66): compromesso accuratezza-fairness.

Codice

python
import numpy as np
def tassi(y, yhat):
    tp = ((y == 1) & (yhat == 1)).sum(); fn = ((y == 1) & (yhat == 0)).sum()
    fp = ((y == 0) & (yhat == 1)).sum(); tn = ((y == 0) & (yhat == 0)).sum()
    return (tp + fp) / len(y), tp / (tp + fn), fp / (fp + tn)     # quota positivi, TPR, FPR
sa, tpr_a, fpr_a = tassi(ya, ya_hat); sd, tpr_d, fpr_d = tassi(yd, yd_hat)
DP, EO = sa - sd, tpr_a - tpr_d

Lezioni in cui compare

Teoria collegata