Rilevamento dei bias nei modelli ML
Attributi protetti, impatto differenziale, metriche fairlearn, equalized odds, parità demografica
Rilevamento dei bias nei modelli ML è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Che cos'è il bias algoritmico
Un modello è distorto quando le sue previsioni svantaggiano sistematicamente un gruppo definito da un attributo sensibile (genere, etnia, età). Il bias deriva spesso da dati di addestramento sbilanciati e può causare danni concreti nelle decisioni di assunzione, concessione di prestiti o assistenza sanitaria.
Caratteristiche sensibili
Una caratteristica sensibile è l'attributo rispetto al quale si misura l'equità, ad esempio il genere o l'etnia. Le metriche di equità confrontano il comportamento del modello tra i gruppi definiti da questa caratteristica, anche se la caratteristica non viene utilizzata come input del modello.
Parità demografica
La parità demografica richiede che il tasso di predizioni positive sia uguale tra i gruppi. Se un modello per i prestiti approva il 60% del gruppo A ma solo il 35% del gruppo B, la parità demografica è violata indipendentemente dall'effettivo merito creditizio dei richiedenti.
# P(prediction = 1 | group = A) == P(prediction = 1 | group = B)Odds equalizzate
Le odds equalizzate sono un criterio più stringente: richiedono che i tassi di veri positivi e falsi positivi siano uguali tra i gruppi. Poiché tengono conto dell'etichetta effettiva, consentono tassi di selezione diversi purché il modello sia altrettanto accurato per ciascun gruppo.
# TPR and FPR equal across groups
# P(pred=1 | y=1, A) == P(pred=1 | y=1, B)
# P(pred=1 | y=0, A) == P(pred=1 | y=0, B)Parità e odds
Queste metriche possono entrare in conflitto:
- La parità demografica ignora l'etichetta effettiva, quindi può imporre tassi uguali anche quando i tassi di base sono realmente diversi
- Le odds equalizzate rispettano l'etichetta effettiva, ma consentono tassi di selezione diversi
Nessuna metrica è universalmente corretta: la scelta dipende dal contesto e dalla normativa.
Introduzione a fairlearn
fairlearn è una libreria Python per misurare e mitigare l'iniquità. Il suo principale strumento di misurazione è MetricFrame, che calcola qualsiasi metrica suddividendola per gruppo sensibile.
import pandas as pd
from fairlearn.metrics import MetricFrame
from sklearn.metrics import accuracy_score, selection_rateCreazione di un MetricFrame
Si passa un dizionario di metriche, le etichette effettive, le predizioni e le sensitive_features. fairlearn valuta ogni metrica per ciascun gruppo.
mf = MetricFrame(
metrics={
"accuracy": accuracy_score,
"selection_rate": selection_rate,
},
y_true=y_test,
y_pred=y_pred,
sensitive_features=X_test["gender"],
)Risultati per gruppo
L'attributo by_group restituisce una tabella con ogni metrica per ciascun gruppo, rendendo immediatamente evidenti le disparità.
print(mf.by_group)
# accuracy selection_rate
# gender
# female 0.81 0.34
# male 0.83 0.59Valori complessivi e differenze
fairlearn fornisce anche viste aggregate: overall per l'intero dataset e metodi come difference() e ratio() che riassumono il divario tra il gruppo migliore e quello peggiore.
print(mf.overall)
print(mf.difference(method="between_groups"))
# selection_rate 0.25 -> 25 point gap between groupsVisualizzazione delle disparità
Un grafico a barre di by_group trasforma i numeri in un'immagine intuitiva. Un ampio divario tra le barre della stessa metrica è un chiaro segnale d'allarme: il modello tratta i gruppi in modo diverso.
mf.by_group.plot.bar(
subplots=True,
layout=[1, 2],
figsize=(10, 4),
title="Metrics by group",
)Dal rilevamento alla mitigazione
Dopo aver quantificato il bias, fairlearn offre algoritmi di mitigazione, come ExponentiatedGradient e il post-processing con ThresholdOptimizer, che riaddestrano il modello o modificano le soglie per rispettare un vincolo di equità. Il rilevamento viene sempre prima: non si può correggere ciò che non è stato misurato.
Verifica rapida
Metta alla prova le Sue conoscenze sull'equità.
Riepilogo
Ha imparato a rilevare il bias:
- La parità demografica rende uguali i tassi positivi tra i gruppi
- Le odds equalizzate rendono uguali TPR e FPR, tenendo conto dell'etichetta
- fairlearn MetricFrame calcola un dizionario di metriche per ogni gruppo di
sensitive_features - Visualizzi
by_groupper individuare le disparità, quindi applichi la mitigazione
Domande Frequenti
La lezione «Rilevamento dei bias nei modelli ML» è gratuita?
Sì — il testo completo di «Rilevamento dei bias nei modelli ML» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Rilevamento dei bias nei modelli ML»?
Attributi protetti, impatto differenziale, metriche fairlearn, equalized odds, parità demografica Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Rilevamento dei bias nei modelli ML»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Rilevamento dei bias nei modelli ML
- Valori SHAP per l'interpretabilità dei modelli
- LIME: spiegazioni locali interpretabili
- Etica dell'AI e framework di governance