Detektion af bias i ML-modeller
Beskyttede attributter, disparate impact, fairlearn-metrikker, equalized odds, demographic parity.
Detektion af bias i ML-modeller er en gratis Lær AI med Python-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse alle 3 lektioner i dette læringsspor gratis i deres fulde længde — derefter låser CoddyKit PRO alle lektioner op samt praktiske øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Den er en del af læringsforløbet i Lær AI med Python, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad er algoritmisk bias
En model er forudindtaget, når dens forudsigelser systematisk stiller en gruppe, der er defineret af et følsomt kendetegn (køn, race, alder), dårligere. Bias skyldes ofte skæve træningsdata og kan forårsage reel skade i beslutninger om ansættelse, lån eller sundhedsbehandling.
Følsomme egenskaber
En følsom egenskab er det kendetegn, som vi måler retfærdighed på tværs af, f.eks. køn eller etnicitet. Retfærdighedsmetrikker sammenligner modellens adfærd på tværs af de grupper, som egenskaben definerer, selv hvis egenskaben ikke bruges som modelinddata.
Demografisk paritet
Demografisk paritet kræver, at andelen af positive forudsigelser er den samme på tværs af grupper. Hvis en lånemodel godkender 60 % i gruppe A, men kun 35 % i gruppe B, er den demografiske paritet overtrådt, uanset ansøgernes faktiske kreditværdighed.
# P(prediction = 1 | group = A) == P(prediction = 1 | group = B)Udjævnede odds
Udjævnede odds er strengere: Det kræver, at raterne for sande positive og falske positive er ens på tværs af grupper. Her tages der højde for den faktiske etiket, så forskellige udvælgelsesrater er tilladt, så længe modellen er lige præcis for hver gruppe.
# 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)Paritet kontra odds
Disse målinger kan være i konflikt:
- Demografisk paritet ignorerer den sande etiket, så den kan tvinge raterne til at være ens, selv når grundraterne reelt er forskellige
- Udjævnede odds tager højde for den sande etiket, men tillader forskellige udvælgelsesrater
Ingen enkelt måling er universelt korrekt; valget afhænger af konteksten og lovgivningen.
Introduktion til fairlearn
fairlearn er et Python-bibliotek til måling og afhjælpning af uretfærdighed. Det centrale måleværktøj er MetricFrame, som beregner enhver metrik opdelt efter følsom gruppe.
import pandas as pd
from fairlearn.metrics import MetricFrame
from sklearn.metrics import accuracy_score, selection_rateOprettelse af en MetricFrame
Du angiver en ordbog med metrikker, de sande etiketter, forudsigelserne og de sensitive_features. fairlearn evaluerer hver metrik for hver gruppe.
mf = MetricFrame(
metrics={
"accuracy": accuracy_score,
"selection_rate": selection_rate,
},
y_true=y_test,
y_pred=y_pred,
sensitive_features=X_test["gender"],
)Resultater pr. gruppe
Attributten by_group returnerer en tabel med hver metrik for hver gruppe, så forskelle bliver tydelige med det samme.
print(mf.by_group)
# accuracy selection_rate
# gender
# female 0.81 0.34
# male 0.83 0.59Samlede resultater og forskelle
fairlearn rapporterer også samlede visninger: overall for hele datasættet samt hjælpefunktioner som difference() og ratio(), der opsummerer forskellen mellem den bedste og den dårligste gruppe.
print(mf.overall)
print(mf.difference(method="between_groups"))
# selection_rate 0.25 -> 25 point gap between groupsVisualisering af forskelle
Et søjlediagram over by_group omsætter tal til et intuitivt billede. En stor afstand mellem søjlerne for den samme metrik er et tydeligt advarselssignal om, at modellen behandler grupper forskelligt.
mf.by_group.plot.bar(
subplots=True,
layout=[1, 2],
figsize=(10, 4),
title="Metrics by group",
)Fra registrering til afhjælpning
Når du har kvantificeret skævheden, tilbyder fairlearn algoritmer til afhjælpning, f.eks. ExponentiatedGradient og efterbehandling med ThresholdOptimizer, som træner modellen igen eller justerer tærskler for at opfylde et retfærdighedskrav. Registrering kommer altid først: Du kan ikke rette noget, du ikke har målt.
Hurtig kontrol
Test din viden om retfærdighed.
Opsummering
Du har lært at registrere skævhed:
- Demografisk paritet gør andelene af positive forudsigelser ens på tværs af grupper
- Udjævnede odds gør TPR og FPR ens med udgangspunkt i etiketten
- fairlearn MetricFrame beregner en metrikordbog for hver
sensitive_features-gruppe - Visualiser
by_groupfor at finde forskelle, og anvend derefter afhjælpning
Lær Python med en AI-underviser — gratis
Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.
- Kurser
- 53
- Lektioner
- 225
Ofte stillede spørgsmål
Er lektionen “Detektion af bias i ML-modeller” gratis?
Ja — alle 3 lektioner i læringssporet Lær AI med Python, inklusive “Detektion af bias i ML-modeller”, kan læses gratis i deres fulde længde her på webstedet. Derefter låser CoddyKit PRO alle lektioner op samt interaktive øvelser med en indbygget kodeeditor og en AI-underviser døgnet rundt. Lær AI med Python-kurset indeholder 4 lektioner i alt.
Hvad lærer jeg i “Detektion af bias i ML-modeller”?
Beskyttede attributter, disparate impact, fairlearn-metrikker, equalized odds, demographic parity. Du øver dig i Lær AI med Python med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.
Skal jeg have erfaring for at begynde på Lær AI med Python?
Der kræves ingen tidligere erfaring. Lær AI med Python på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.
Hvor lang tid tager lektionen “Detektion af bias i ML-modeller”?
De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.
Kan jeg skrive og køre kode i denne Lær AI med Python-lektion?
Ja. Alle Lær AI med Python-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.
Alle lektioner i dette kursus
- Detektion af bias i ML-modeller
- SHAP-værdier til model-forklarlighed
- LIME: lokalt fortolkelige forklaringer
- Etik og governance-rammer for AI