Skip to content

Commit 45396c5

Browse files
authored
Merge pull request #281 from NGO-Algorithm-Audit/feature/structural_edits
uitkomstlabel veranderd in bias variabele
2 parents 1c6dbb3 + 383a568 commit 45396c5

File tree

1 file changed

+10
-10
lines changed
  • content/nederlands/technical-tools

1 file changed

+10
-10
lines changed

content/nederlands/technical-tools/BDT.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -77,17 +77,17 @@ team:
7777
<br>
7878

7979
#### Wat doet de tool?
80-
De tool detecteert groepen waarvoor een algoritme of AI-systeem afwijkend presteert, wat kan duidelijk op ongelijke behandeling. Naar deze vorm van monitoring wordt verwezen als *anomaliedetectie*. Voor het detecteren van afwijkende partonen maakt de tool gebruik van <a href="https://en.wikipedia.org/wiki/Cluster_analysis" target="_blank">clustering</a> om datapunten te groeperen (in clusters). Dit tool heeft geen beschermde kenmerken nodig van gebruikers, zoals geslacht, nationaliteit of etniciteit, om afwijkingen te detecteren. De metriek aan de hand waarvan onderscheid wordt bepaald kan handmatig worden gekozen en wordt naar verwezen als de `uitkomstlabel`.
80+
De tool detecteert groepen waarvoor een algoritme of AI-systeem afwijkend presteert, wat kan duidelijk op ongelijke behandeling. Naar deze vorm van monitoring wordt verwezen als *anomaliedetectie*. Voor het detecteren van afwijkende partonen maakt de tool gebruik van <a href="https://en.wikipedia.org/wiki/Cluster_analysis" target="_blank">clustering</a> om datapunten te groeperen (in clusters). Dit tool heeft geen beschermde kenmerken nodig van gebruikers, zoals geslacht, nationaliteit of etniciteit, om afwijkingen te detecteren. De metriek aan de hand waarvan onderscheid wordt bepaald kan handmatig worden gekozen en wordt naar verwezen als de `bias variabele`.
8181

8282
#### Wat zijn de uitkomsten van de tool?
83-
De tool identificeert groepen (clusters) waarvoor de prestaties van het algoritmisch systeem significant afwijken. Het cluster met de meest nadelinge uitkomstlabels wordt uitgelicht en er wordt een bias analyse-rapport gegenereerd dat als PDF kan worden gedownload. Ook kunnen alle geïdentificeerde groepen (clusters) als .json-bestand worden gedownload. Daarnaast biedt de tool visualisaties van de resultaten, zodat domeinexperts de gevonden afwijkingen nader kunnen onderzoeken. Een voorbeeld is hieronder te zien. {{< tooltip tooltip_content="Onderstaande figuur laat zien dat cluster 0, het cluster met systemtisch afwijkende uitkomstlabel, een hoger dan gemiddeld aandeel Afro-Amerikaanse en een lager dan gemiddeld aandeel 'Kaukasische' personen bevat. Voor andere demografische groepen bevat cluster 0 een gemiddelde verdeling. Meer details over dit voorbeeld zijn te vinden in de demo dataset." >}}
83+
De tool identificeert groepen (clusters) waarvoor de prestaties van het algoritmisch systeem significant afwijken. Het cluster met de meest nadelinge bias variabele wordt uitgelicht en er wordt een bias analyse-rapport gegenereerd dat als PDF kan worden gedownload. Ook kunnen alle geïdentificeerde groepen (clusters) als .json-bestand worden gedownload. Daarnaast biedt de tool visualisaties van de resultaten, zodat domeinexperts de gevonden afwijkingen nader kunnen onderzoeken. Een voorbeeld is hieronder te zien. {{< tooltip tooltip_content="Onderstaande figuur laat zien dat cluster 0, het cluster met systemtisch afwijkende bias variabele, een hoger dan gemiddeld aandeel Afro-Amerikaanse en een lager dan gemiddeld aandeel 'Kaukasische' personen bevat. Voor andere demografische groepen bevat cluster 0 een gemiddelde verdeling. Meer details over dit voorbeeld zijn te vinden in de demo dataset." >}}
8484

8585
<div style="margin-bottom:50px; display: flex; justify-content: center;">
8686
<img src="/images/BDT/example_COMPAS.png" alt="drawing" width="600px"/>
8787
</div>
8888

8989
#### Welke data kan worden verwerkt?
90-
De tool verwerkt data in tabel-formaat, dat enkel uit numerieke of categorische waarden bestaat. Eén kolom moet worden geselecteerd als `uitkomstlabel`. Deze kolom mag enkel uit numerieke waarden bestaan. De gebruiker dient aan te aangeven of een hoge of lage waarde van de `uitkomstscore` beter is. Voorbeeld: als je kijkt naar foutpercentages, zijn lagere waarden beter; voor nauwkeurigheid zijn hogere waarden beter. De tool bevat ook een demo dataset die je kunt gebruiken door op "Demo dataset" te klikken.
90+
De tool verwerkt data in tabel-formaat, dat enkel uit numerieke of categorische waarden bestaat. Eén kolom moet worden geselecteerd als `bias variabele`. Deze kolom mag enkel uit numerieke waarden bestaan. De gebruiker dient aan te aangeven of een hoge of lage waarde van de `uitkomstscore` beter is. Voorbeeld: als je kijkt naar foutpercentages, zijn lagere waarden beter; voor nauwkeurigheid zijn hogere waarden beter. De tool bevat ook een demo dataset die je kunt gebruiken door op "Demo dataset" te klikken.
9191

9292
<div>
9393
<p><u>Voorbeeld van numerieke dataset</u>:</p>
@@ -129,22 +129,22 @@ De unsupervised bias detectie tool voert de volgende stappen uit:
129129
##### Vereiste voorbereidingen door de gebruiker:
130130
<span style="color:#005AA7">Stap 1. Data:</span> de gebruiker dient de volgende aspecten van de te verwerken data voor te bereiden:
131131
- <span style="color:#005AA7">Dataset:</span> De data moet worden aangeleverd in tabelvorm. Eventuele ontbrekende waarden dienen te worden verwijderd of vervangen.
132-
- <span style="color:#005AA7">Type data:</span> Alle kolommen, behalve de uitkomstlabel-kolom, moeten hetzelfde datatype hebben, bijvoorbeeld allemaal numeriek of allemaal categorisch. De gebruiker geeft aan of numerieke of categorische data worden verwerkt.
133-
- <span style="color:#005AA7">Uitkomstlabel:</span> Er moet een kolom uit de dataset worden geselecteerd als `uitkomstlabel`, welke numeriek moet zijn. In stap 4 wordt op basis van deze numerieke waarden clustering uitgevoerd. Voorbeelden zijn: "aangewezen als hoog risico", "foutpercentage" of "geselecteerd voor controle".
132+
- <span style="color:#005AA7">Type data:</span> Alle kolommen, behalve de bias variabele-kolom, moeten hetzelfde datatype hebben, bijvoorbeeld allemaal numeriek of allemaal categorisch. De gebruiker geeft aan of numerieke of categorische data worden verwerkt.
133+
- <span style="color:#005AA7">Bias variabele:</span> Er moet een kolom uit de dataset worden geselecteerd als `bias variabele`, welke numeriek moet zijn. In stap 4 wordt op basis van deze numerieke waarden clustering uitgevoerd. Voorbeelden zijn: "aangewezen als hoog risico", "foutpercentage" of "geselecteerd voor controle".
134134

135135
<span style="color:#005AA7">Stap 2. Parameters:</span> de gebruiker kiest de volgende hyperparameters:
136136
- <span style="color:#005AA7">Iteraties:</span> Hoe vaak de data mogen worden gesplitst in kleinere clusters; standaard zijn 10 iteraties ingesteld.
137137
- <span style="color:#005AA7">Minimale clustergrootte:</span> Hoeveel datapunten de gevonden clusters minimaal moeten bevatten; standaard is dit 1% van het aantal rijen in de dataset. Meer uitleg over een geïnformeerde keuze voor de minimale clustergrootte is te vinden in sectie 3.3 van onze [wetenschappelijke paper](/technical-tools/bdt/#scientific-paper).
138-
- <span style="color:#005AA7">Interpretatie uitkomstlabel:</span> Hoe het uitkomstlabel geïnterpreteerd moet worden. Bijvoorbeeld: als foutpercentage of misclassificaties als uitkomstlabel worden gekozen, is een lagere waarde beter, omdat het doel is fouten te minimaliseren. Als nauwkeurigheid of precisie als uitkomstlabel wordt gekozen, is een hogere waarde beter, omdat het doel is de prestaties te maximaliseren.
138+
- <span style="color:#005AA7">Interpretatie bias variabele:</span> Hoe de bias variabele geïnterpreteerd moet worden. Bijvoorbeeld: als foutpercentage of misclassificaties als bias variabele worden gekozen, is een lagere waarde beter, omdat het doel is fouten te minimaliseren. Als nauwkeurigheid of precisie als bias variabele wordt gekozen, is een hogere waarde beter, omdat het doel is de prestaties te maximaliseren.
139139

140140
##### Uitgevoerd door de tool:
141141
<span style="color:#005AA7">Stap 3. Train-test data:</span> De dataset wordt opgesplitst in een train- en testsubset, volgens een 80-20 verhouding.
142142

143143
<span style="color:#005AA7">Stap 4. Hierarchisch Bias-Aware Clustering (HBAC):</span> Het HBAC-algoritme (hieronder toegelicht) wordt toegepast op de train dataset. De centra van de gevonden clusters worden opgeslagen en later gebruikt om clusterlabels toe te wijzen aan datapunten in de test dataset.
144144

145-
<span style="color:#005AA7">Stap 5. Toetsen van verschillen tussen clusters mbt. uitkomstlabels:</span> Statistische hypothesetoets wordt uitgevoerd om te bepalen of de uitkomstlabels significant verschillen in het meest afwijkende cluster ten opzichte van de rest van de dataset. Hiervoor wordt een t-toets gebruikt om de gemiddelden van de uitkomstlabels te vergelijken.
145+
<span style="color:#005AA7">Stap 5. Toetsen van verschillen tussen clusters mbt. bias variabele:</span> Statistische hypothesetoets wordt uitgevoerd om te bepalen of de bias variabele significant verschilt in het meest afwijkende cluster ten opzichte van de rest van de dataset. Hiervoor wordt een t-toets gebruikt om de gemiddelden van de bias variabelen te vergelijken.
146146

147-
<span style="color:#005AA7">Stap 6. Toetsen van verschillen tussen cluster mbt. eigenschappen:</span> Indien een statistisch significant verschil in uitkomstlabels wordt gevonden tussen het meest afwijkende cluster en de rest van de dataset, worden de verschillen in eigenschappen onderzocht. Ook hiervoor wordt statistische hypothesetoetsing gebruikt, namelijk een t-toets wanneer numerieke data en de Pearson 𝜒²-toets wanneer categorische data worden verwerkt. Bij het uitvoeren van meerdere hypothesetoetsen dient Bonferroni-correctie te worden toegepast. Meer informatie hierover kan worden gevonden in sectie 3.4 van onze [wetenschappelijke paper](/nl/technical-tools/bdt/#scientific-paper).
147+
<span style="color:#005AA7">Stap 6. Toetsen van verschillen tussen cluster mbt. eigenschappen:</span> Indien een statistisch significant verschil in bias variabele wordt gevonden tussen het meest afwijkende cluster en de rest van de dataset, worden de verschillen in eigenschappen onderzocht. Ook hiervoor wordt statistische hypothesetoetsing gebruikt, namelijk een t-toets wanneer numerieke data en de Pearson 𝜒²-toets wanneer categorische data worden verwerkt. Bij het uitvoeren van meerdere hypothesetoetsen dient Bonferroni-correctie te worden toegepast. Meer informatie hierover kan worden gevonden in sectie 3.4 van onze [wetenschappelijke paper](/nl/technical-tools/bdt/#scientific-paper).
148148

149149
Een schematisch overzicht van bovenstaande stappen wordt hieronder weergegeven.
150150

@@ -153,7 +153,7 @@ Een schematisch overzicht van bovenstaande stappen wordt hieronder weergegeven.
153153
</div>
154154

155155
#### Hoe werkt het clustering algoritme?
156-
Het *Hierarchisch Bias-Aware Clustering* (HBAC) algoritme identificeert clusters in de aangeleverde dataset op basis van een door de gebruiker gekozen `uitkomstlabel`. Het doel is om clusters te vinden met een lage variatie in uitkomstlabels binnen elk cluster, terwijl de variatie tussen clusters juist hoog is. HBAC vindt iteratief clusters in de data met behulp van k-means (voor numerieke data) of k-modes clustering (voor categorische data). Voor de eerste split neemt HBAC de volledige dataset en splitst deze in twee clusters. Cluster `C` – met de hoogste standaarddeviatie van het uitkomstlabel – wordt geselecteerd. Vervolgens wordt cluster `C` opgesplitst in twee kandidaat-clusters `C'` en `C''`. Als de gemiddelde uitkomstlabelscore in een van de kandidaat-clusters hoger is dan het gemiddelde in `C`, wordt het kandidaat-cluster met de hoogste uitkomstlabelscore geselecteerd als nieuw cluster. Dit proces herhaalt zich totdat het maximale aantal iteraties (`max_iteraties`) is bereikt of het resulterende cluster niet meer voldoet aan de minimale grootte (`n_min`). De pseudo-code van het HBAC-algoritme is hieronder weergegeven.
156+
Het *Hierarchisch Bias-Aware Clustering* (HBAC) algoritme identificeert clusters in de aangeleverde dataset op basis van een door de gebruiker gekozen `bias variabele`. Het doel is om clusters te vinden met een lage variatie in bias variabele binnen elk cluster, terwijl de variatie tussen clusters juist hoog is. HBAC vindt iteratief clusters in de data met behulp van k-means (voor numerieke data) of k-modes clustering (voor categorische data). Voor de eerste split neemt HBAC de volledige dataset en splitst deze in twee clusters. Cluster `C` – met de hoogste standaarddeviatie van de bias variabele – wordt geselecteerd. Vervolgens wordt cluster `C` opgesplitst in twee kandidaat-clusters `C'` en `C''`. Als het gemiddelde van de bias variabele in een van de kandidaat-clusters hoger is dan het gemiddelde in `C`, wordt het kandidaat-cluster met de hoogste bias variabele geselecteerd als nieuw cluster. Dit proces herhaalt zich totdat het maximale aantal iteraties (`max_iteraties`) is bereikt of het resulterende cluster niet meer voldoet aan de minimale grootte (`n_min`). De pseudo-code van het HBAC-algoritme is hieronder weergegeven.
157157

158158
<div style="display: flex; justify-content: center;">
159159
<img src="/images/BDT/pseudo_code_HBAC.png" alt="drawing" width="800px"/>
@@ -162,7 +162,7 @@ Het *Hierarchisch Bias-Aware Clustering* (HBAC) algoritme identificeert clusters
162162
Het HBAC-algoritme is geïntroduceerd door Misztal-Radecka en Indurkhya in een [wetenschappelijk artikel](https://www.sciencedirect.com/science/article/abs/pii/S0306457321000285) gepubliceerd in *Information Processing and Management* (2021). Onze implementatie van het HBAC-algoritme bouwt hierop voort door aanvullende methodologische checks toe te voegen om echte signalen van ruis te onderscheiden, zoals sample splitting, het statistisch toetsen van hypotheses en het meten van clusterstabiliteit. De implementatie van het algoritme door Algorithm Audit is te vinden in het <a href="https://github.com/NGO-Algorithm-Audit/unsupervised-bias-detection/blob/master/README.md" target="_blank">unsupervised-bias-detection</a> pip package.
163163

164164
#### Hoe moeten de resultaten van de tool worden geïnterpreteerd?
165-
Het HBAC-algoritme maximaliseert het verschil in uitkomstlabels tussen clusters. Om te voorkomen dat er ten onrechte wordt geconcludeerd dat er ongewenste afwijkingen zijn in het onderzochte besluitvormingsproces terwijl die er niet zijn, wordt de dataset gesplitst in train- en testdata en voorkomt hypothesetoetsing dat we (onterecht) concluderen dat er een verschil is in uitkomstlabels terwijl dat niet zo is. Als een statistisch significante afwijking wordt gedetecteerd, vormt de uitkomst van de tool een startpunt voor domeinexperts om de geïdentificeerde afwijkingen in het besluitvormingsproces te beoordelen.
165+
Het HBAC-algoritme maximaliseert het verschil in bias variabele tussen clusters. Om te voorkomen dat er ten onrechte wordt geconcludeerd dat er ongewenste afwijkingen zijn in het onderzochte besluitvormingsproces terwijl die er niet zijn, wordt de dataset gesplitst in train- en testdata en voorkomt hypothesetoetsing dat we (onterecht) concluderen dat er een verschil is in bias variabele terwijl dat niet zo is. Als een statistisch significante afwijking wordt gedetecteerd, vormt de uitkomst van de tool een startpunt voor domeinexperts om de geïdentificeerde afwijkingen in het besluitvormingsproces te beoordelen.
166166

167167
{{< container_close >}}
168168

0 commit comments

Comments
 (0)