algorithmic_bias_and_fairness

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
algorithmic_bias_and_fairness [2022/10/13 16:09] – [Umsetzung] josef_pelzalgorithmic_bias_and_fairness [2022/10/14 16:14] (aktuell) josef_pelz
Zeile 1: Zeile 1:
-=====Algorithmic Bias and Fairness=====+=====Algorithmic Fairness=====
  
 SS 22 SS 22
Zeile 22: Zeile 22:
 Auf einer zweidimensionalen Fläche sind Datenpunkte einer Datenbank abgebildet, angeordnet nach zwei Eigenschaften/Features. Jeder Datenpunkt ist entweder als Kreis (positiv) oder als Kreuz (negativ) markiert. Dies könnte beispielsweise die Kreditwürdigkeit darstellen. Nutzer:innen werden aufgefordert, eine Linie durch die Datenmenge zu ziehen, die so gut wie möglich Kreuze von Kreisen trennt. Aufgrund der Datenlage ist dies nicht fehlerfrei möglich. Das ist zwar zu erwarten, die Frage ist jedoch auf Kosten vom wem die Fehler gemacht werden. Im nächsten Schritt wird ein weiteres, soweit unbekanntes Feature durch Farbgebung sichtbar. Datenpunkte gehören nicht nur zur Klasse Kreuz oder Kreis, sondern zusätzlich auch entweder zu Gelb oder Blau. Es wird ersichtlich, dass die meisten Fehler bei Datenpunkten der Gruppe Gelb gemacht wurden. Es wird dadurch klar, dass wir unabsichtlich und unwissend diskriminieren können. Auf einer zweidimensionalen Fläche sind Datenpunkte einer Datenbank abgebildet, angeordnet nach zwei Eigenschaften/Features. Jeder Datenpunkt ist entweder als Kreis (positiv) oder als Kreuz (negativ) markiert. Dies könnte beispielsweise die Kreditwürdigkeit darstellen. Nutzer:innen werden aufgefordert, eine Linie durch die Datenmenge zu ziehen, die so gut wie möglich Kreuze von Kreisen trennt. Aufgrund der Datenlage ist dies nicht fehlerfrei möglich. Das ist zwar zu erwarten, die Frage ist jedoch auf Kosten vom wem die Fehler gemacht werden. Im nächsten Schritt wird ein weiteres, soweit unbekanntes Feature durch Farbgebung sichtbar. Datenpunkte gehören nicht nur zur Klasse Kreuz oder Kreis, sondern zusätzlich auch entweder zu Gelb oder Blau. Es wird ersichtlich, dass die meisten Fehler bei Datenpunkten der Gruppe Gelb gemacht wurden. Es wird dadurch klar, dass wir unabsichtlich und unwissend diskriminieren können.
  
-====Aufbau====+Wir nutzen hierfür ausschließlich die [[https://www.khronos.org/webgl/| JavaScript WebGL API]], keine bestehenden Bibliotheken/Frameworks. Für jeden Datenpunkt wird ein Punkt gerendert, der einem Quadrat aus mehreren Pixeln entspricht. Informationen über dessen Position, Zugehörigkeit zu verschiedenen Klassen etc., werden in einem JavaScript Array festgelegt und mithilfe von einem gl.ARRAY_BUFFER an den Vertex-Shader und von diesem an den Fragment-Shader übergeben. Die Position und Größe des Datenpunktes werden im Vertex-Shader ausgelesen und angewendet, während der Fragement-Shader die entsprechenden Pixel in Form eines Kreises oder eines Kreuzes einfärbt.
  
-Die Webseite basiert auf einem [[https://www.w3schools.com/w3css/default.asp|W3.css]] Template. Auf der scroll-baren Startseite sind Blöcke vertikal angeordnet, die portionsweise Informationen beinhalten. So wird beispielsweise zuallererst grundlegendes Wissen zu den Themen Algorithmen, Ungerechtigkeit und Diskriminierung angeboten. Nutzer:innen können, je nach Wissensstand, Links folgen um sich weiter in die Thematik einzulesen, oder dem linearen Aufbau der Seite folgen.  
  
 +===Resultat===
 +
 +Das Ergebnis des Projektes "Algorithmic Fairness" ist hier erlebbar: [[https://algorithmicfairness.project-sci.com/| Webseite]]
  
-Der zentrale Teil der Seite ist ein WebGL Canvas. Dieser beinhaltet die oben beschriebene interaktive Komponente. Wir nutzen hierfür ausschließlich die [[https://www.khronos.org/webgl/| JavaScript WebGL API]], keine bestehenden Bibliotheken/Frameworks. Für jeden Datenpunkt wird ein Punkt gerendert, der einem Quadrat aus mehreren Pixeln entspricht. Informationen über dessen Position, Zugehörigkeit zu verschiedenen Klassen etc., werden in einem JavaScript Array festgelegt und mithilfe von einem gl.ARRAY_BUFFER an den Vertex-Shader und von diesem an den Fragment-Shader übergeben. Die Position und Größe des Datenpunktes werden im Vertex-Shader ausgelesen und angewendet, während der Fragement-Shader die entsprechenden Pixel in Form eines Kreises oder eines Kreuzes einfärbt. 
  • algorithmic_bias_and_fairness.1665670176.txt.gz
  • Zuletzt geändert: 2022/10/13 16:09
  • von josef_pelz