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 ( significa «concesso»). Sui dati di test, per due gruppi di un attributo sensibile ( avvantaggiato, svantaggiato), si osservano le matrici di confusione:
| gruppo | ||||
| gruppo |
- Si calcolino per i due gruppi, la Demographic Parity , il tasso di veri positivi per gruppo e l'Equality of Opportunity . Si calcolino anche tassi di falsi positivi e accuratezza per gruppo.
- Un secondo modello dà punteggi (con vera etichetta tra parentesi) — gruppo : ; gruppo : . Con soglia ( se punteggio ) per tutti, si calcolino ed . Si trovi una soglia per il gruppo che le azzera e si verifichi il tasso di falsi positivi.
- Nel caso COMPAS i falsi positivi sono per afroamericani e per bianchi, i falsi negativi e . Cosa dicono sul trattamento dei due gruppi? Quale metrica sarebbe violata?
- Perché togliere dal modello la colonna
racenon 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 persone.
Quota di previsioni positive : gruppo : ; gruppo : .
Demographic Parity: (ideale ).
Tasso di veri positivi : : ; : .
Equality of Opportunity: .
Tasso di falsi positivi : : ; : . Accuratezza : : ; : .
Lettura: il gruppo riceve il beneficio molto meno spesso ( contro ) e, tra chi ne ha diritto (), viene riconosciuto molto meno ( contro ). L'accuratezza è quasi uguale ( e ): l'accuratezza globale nasconde la disparità. Il gruppo ha anche meno falsi positivi: il modello è più prudente con .
2. Soglie per gruppo
Soglia per tutti.
- Gruppo : previsti positivi i punteggi , cioè su : . Positivi veri: , tutti previsti positivi: .
- Gruppo : previsti positivi , cioè su : . Positivi veri: ; previsti positivi due su tre: .
e .
Soglia più bassa per . Per includere il positivo vero a si abbassa la soglia di a : ora sono previsti positivi , quindi su : e ; i tre positivi veri sono tutti riconosciuti: e .
Falsi positivi. Gruppo (soglia ): i negativi veri sono e solo supera la soglia: . Gruppo (soglia ): negativi veri e solo supera: . 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 ( contro ): più spesso etichettati ad alto rischio senza recidiva. I falsi negativi sono invece molto più alti per i bianchi ( contro ): più spesso etichettati a basso rischio pur ricadendo. Il modello è severo con un gruppo e clemente con l'altro. Prendendo = «alto rischio» (come nell'analisi originale), per gli afroamericani e ; per i bianchi e . Quindi né i tassi di falsi positivi né quelli di veri positivi sono uguali tra i gruppi: l'Equality of Opportunity (, da calcolare dichiarando prima quale classe è e quale gruppo è «avvantaggiato») è violata, e lo è anche l'uguaglianza dei falsi positivi. Il segno di ed 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 dalle altre feature: un'accuratezza alta indica che l'informazione è ancora presente. Nel caso sintetico della lezione zip_code e race hanno correlazione . Togliendo entrambe il divario si riduce, a scapito di accuratezza (): compromesso accuratezza-fairness.
Codice
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