© Der/die Autor(en), exklusiv lizenziert an APress Media, LLC, ein Teil von Springer Nature 2022
T. BärAlgorithmic Bias: Verzerrungen durch Algorithmen verstehen und verhindernhttps://doi.org/10.1007/978-3-662-66315-8_9

9. Die Anfälligkeit von Algorithmen für Stabilitätsverzerrungen

Tobias Bär1  
(1)
Taipei, Taiwan
 

Bei unserer Untersuchung menschlicher kognitiver Verzerrungen stachen die Stabilitätsverzerrungen ins Auge. Es stellt sich heraus, dass Menschen nicht allein sind: Auch Algorithmen weisen häufig Stabilitätsfehler auf. In diesem Kapitel gehen wir auf die wichtigsten davon ein und untersuchen, welche Art von Kontextattributen sie begünstigt.

Zunächst werden wir die grundlegende Ursache des Problems untersuchen, nämlich die Systeminstabilität – ohne sie gäbe es keine schädliche Stabilitätsverzerrung. Danach werden wir das konzeptionelle Dilemma erörtern, dass es nahezu unmöglich ist, einem Algorithmus Dinge beizubringen, die in den Daten nicht vorhanden sind, und wir werden untersuchen, wie eine langsame Reaktionsgeschwindigkeit die Fähigkeit von Algorithmen, Stabilitätsverzerrungen durch schnelles Lernen zu überwinden, entscheidend beeinträchtigen kann. Schließlich werden wir eine weitere Dimension der Stabilitätsverzerrung untersuchen, nämlich die Definition von Ergebnissen als gut oder schlecht.

Instabilität des Systems

Für jede beliebige Stichprobe sind Algorithmen von vornherein unvoreingenommen (Sie erinnern sich vielleicht an das Konzept von BLUE aus Kap. 1). Aber was passiert, wenn sich die Dinge ändern? Eine grundlegende Einschränkung von Algorithmen besteht in der impliziten Annahme, dass die in der Stichprobe bestehenden Beziehungen auch in Zukunft bestehen werden – so wie auch die Stabilitätsvoreingenommenheit von Menschen auf der subjektiven historischen Erfahrung jedes einzelnen Menschen beruht.

Die Realität verändert sich natürlich ständig. Während einige Veränderungen struktureller Natur sind (z. B. haben die Erfindung des Buchdrucks und der Elektrizität, die Industrialisierung und die durch das Internet und Smartphones ermöglichte Digitalisierung vieler Prozesse die Struktur der Wirtschaft, der Gesellschaft und unseres Lebens tiefgreifend verändert), sind andere eher zyklischer Natur. Zum Beispiel durchlaufen Volkswirtschaften immer wiederkehrende Zyklen von Expansion und Rezession.

Wenn wir untersuchen, inwieweit ein Algorithmus mit solchen Veränderungen im realen Kontext der von ihm getroffenen Entscheidungen umgehen und sie sogar vorhersehen kann, stellen wir manchmal fest, dass der Algorithmus eine Gelegenheit verpasst hat, etwas über die Auswirkungen solcher Veränderungen auf die Ergebnisse zu lernen, entweder weil in der Stichprobe bestimmte Arten von historischen Datenpunkten ausgelassen wurden (d. h. „Zeilen“ fehlten in unserer Datentabelle) oder weil die Prädiktoren (d. h. „Spalten“ in unserer Datentabelle) unzureichend waren.

Im Allgemeinen sollte die Stichprobe alle Arten von Umgebungen enthalten, die für den Algorithmus in der Zukunft relevant sein könnten. Bei zyklischen Phänomenen wie Konjunkturzyklen sollte die Stichprobe daher insbesondere sowohl expansive als auch rezessive Perioden abdecken. Dies bedeutet oft, dass die Stichprobe einen ziemlich langen Zeitraum abdecken sollte. Wenn man beispielsweise annimmt (oder besser, auf der Grundlage historischer BIP-Wachstumsdaten als Tatsache feststellt), dass der typische Konjunkturzyklus sieben Jahre lang ist, sollte man mindestens sieben Jahre an Daten für das Training des Algorithmus berücksichtigen (und idealerweise viel mehr, da ein Modell unter sonst gleichen Bedingungen stabiler ist, wenn es zwei oder drei vollständige Konjunkturzyklen erlebt hat).

Warum ist das wichtig? Wir stellen häufig fest, dass bestimmte Zusammenhänge je nachdem, wo wir uns in einem bestimmten Zyklus befinden, variieren. So haben Banken beispielsweise beobachtet, dass die Liquidität eines Unternehmens in Rezessionen besonders wichtig ist, um das Ausfallrisiko vorherzusagen. Wenn eine Bank die Bilanz eines Unternehmens analysiert, berechnet sie in der Regel mehrere Kennzahlen zur Messung der Liquidität (z. B. wird die Quick Ratio ermittelt, indem Barmittel und andere Vermögenswerte, die innerhalb von weniger als einem Jahr zu Barmitteln werden oder werden könnten (z. B. kurzfristige Anlagen und kurzfristige Forderungen), addiert und dann durch die gesamten kurzfristigen Verbindlichkeiten des Unternehmens geteilt werden).

Würde ein Algorithmus ausschließlich in einer expansiven Phase entwickelt (mit hohem Wachstum, sinkenden Ausfallquoten und Banken, die in der Regel aggressiv versuchen, die Kreditvergabe zu erhöhen), würde er diesen Liquiditätskennzahlen ein relativ geringes Gewicht zuweisen – tatsächlich könnten einige der Liquiditätskennzahlen sogar statistisch insignifikant werden und aus dem Algorithmus herausfallen. Ein solcher Algorithmus wäre während einer Rezession, in der die Einnahmen sinken und die Banken ihre Kreditvergabe häufig einschränken, stark verzerrt und unzureichend, da beide Effekte bei vielen Unternehmen zu Liquiditätsengpässen führen können. Ein Algorithmus, der auf der Grundlage von Rezessionsdaten entwickelt wurde, würde umgekehrt den Liquiditätskennzahlen im Allgemeinen ein hohes Gewicht zuweisen, und Kennzahlen, die während einer Expansion hoch signifikant und wichtig sind, wären unbedeutende Faktoren im Algorithmus.

Enthält die Stichprobe dagegen sowohl Rezessions- als auch Expansionsdaten, würde der Algorithmus nicht nur lernen, dass viele Liquiditätskennzahlen wichtig sein können, sondern er könnte auch herausfinden, wann dies der Fall ist – zum Beispiel könnte er die Gewichtung bestimmter Kennzahlen erhöhen oder sie „einschalten“, je nachdem, welches BIP-Wachstum im letzten Quartal beobachtet wurde.

Was passiert aber, wenn es einen Strukturbruch gibt und der Algorithmus in Zukunft mit Situationen konfrontiert wird, die in der Vergangenheit nie aufgetreten sind und daher nie in die Entwicklungsstichprobe aufgenommen werden können? Nun, das kommt darauf an. Insbesondere hängt es davon ab, ob die Vergangenheit dem Algorithmus zumindest erlaubt, relevante (d. h. richtungsweisende) Regeln für die Anpassung von Schätzungen an Veränderungen in der Umgebung zu lernen.

Nehmen wir als Analogie einen elektronischen Taschenrechner. Es ist möglich, dass niemand jemals die Quadratwurzel aus 8.368.703.007.682.335.001 gezogen hat. Dennoch ist es möglich, eine allgemeine Regel in den Rechner zu programmieren, um die Quadratwurzel aus dieser Zahl korrekt zu berechnen (z. B. das Newton-Raphson-Verfahren). Im Gegensatz dazu hatten die Menschen vor der Erfindung der negativen Zahlen kein solches Konzept und wären daher nicht in der Lage gewesen, eine Rechenmaschine für den Umgang mit negativen Zahlen zu programmieren, selbst wenn es in der Steinzeit Rechenmaschinen gegeben hätte.

Viele Veränderungen in der realen Welt sind schrittweise. Ein Beispiel: Ein Autoversicherer sieht sich ständig mit neuen Automodellen konfrontiert. Wenn die ersten Besitzer des neuen Modells um einen Kostenvoranschlag für eine Kfz-Versicherung bitten, liegen dem Versicherer keine historischen Daten vor, anhand derer er abschätzen könnte, wie unfallträchtig das neue Modell ist oder wie teuer typische Reparaturen sein würden. Dies wirft die Versicherer aus der Bahn, die ihre Preise für Versicherungspolicen auf der Grundlage historischer Daten zu einem bestimmten Automodell festsetzen – für ein neues Modell müssen sie das Angebot buchstäblich aus dem Nichts schöpfen, oder sie legen den Preis nach eigenem Ermessen auf der Grundlage eines „ähnlichen“ Automodells fest, das schon eine Weile auf dem Markt ist.

Ein umsichtiger Datenwissenschaftler kann dieses Problem jedoch überwinden, indem er technische und andere Attribute jedes Fahrzeugmodells erfasst, die das Schadenprofil erklären. Als ich beispielsweise ein Preismodell für Autoversicherungen in einem Schwellenland entwickelte, setzte ich mich mit einer Gruppe von Mechanikern zusammen, um zu verstehen, was die Reparaturkosten in diesem Land beeinflusst. Dabei stellte sich heraus, dass bei billigen Arbeitskräften der größte Einflussfaktor auf die Reparaturkosten darin bestand, ob der Autohersteller lokal produzierte und daher billige Ersatzteile zur Verfügung stellte oder ob die Ersatzteile importiert werden mussten (und daher extrem teuer waren). In ähnlicher Weise habe ich mich mit Autoingenieuren zusammengesetzt, um einige technische Variablen zu ermitteln, die die Unfallanfälligkeit des Fahrzeugs beeinflussen (z. B. beeinflusst die Position bestimmter besonders schwerer Teile des Fahrzeugs die Wahrscheinlichkeit, dass das Fahrzeug umkippt).

Indem ich meiner Stichprobe solche technischen Variablen und ein Kennzeichen für die Verfügbarkeit von im Inland hergestellten Ersatzteilen hinzufügte, konnte ich einen Algorithmus entwickeln, der selbst für ein Auto, das in dem Land noch nie verkauft worden war, einen angemessenen Versicherungspreis ermitteln konnte. Im Gegensatz dazu waren die Algorithmen konkurrierender Versicherer, die als Vorhersagevariablen nur die historischen Schadenquoten bestimmter Automodelle verwendeten, verzerrt (d. h. sie lagen systematisch daneben), wenn sich das Design eines neuen Automodells strukturell von früheren Modellen derselben Marke unterschied oder wenn der Hersteller ein Premium-Modell einführte, für das Ersatzteile importiert werden mussten, während er in der Vergangenheit nur Economy-Fahrzeuge verkauft hatte, für die lokal produzierte Ersatzteile verfügbar waren.

Natürlich ist dieser Ansatz begrenzt – wenn eine völlig neue Technologie auftaucht, fliegt man blind. Ich hatte keine Elektroautos in meiner Stichprobe, so dass mein Algorithmus voll auf Verbrennungsmotoren fixiert war, und ich bezweifle, dass er sehr genaue Vorhersagen für Elektroautos liefert. Es ist wichtig zu erkennen, dass bestimmte strukturelle Brüche einen Algorithmus so stark in die Vergangenheit verzerren, dass er unbrauchbar wird.

„Ich hab’s dir ja gesagt“

Eine grundlegende Herausforderung beim Umgang mit Strukturbrüchen besteht darin, dass Algorithmen sich weigern, etwas zu lernen, was nicht in den Daten enthalten ist. Stellen Sie sich vor, Sie wären ein besonders begabter Datenwissenschaftler und hätten ein Jahr vor der globalen Finanzkrise 2007–2008 vermutet, dass fallende Hauspreise zu einer Explosion der Hypothekenausfallraten führen würden. Natürlich hätten Sie versucht, den Stichprobenzeitraum zu erweitern, um einen Zeitraum mit fallenden Hauspreisen einzubeziehen. Die Bank, für die Sie arbeiteten, verfügte jedoch nur über Daten, die bis zum Jahr 2000 zurückreichten – und im Zeitraum von 2000 bis 2006 kannten die Hauspreise nur eine Richtung: nach oben.

Dies ist ein echtes Dilemma. Hätten Sie die Variable „jüngste Veränderung der Hauspreise“ in Ihr Modell aufgenommen, ohne Daten aus Perioden mit fallenden Hauspreisen in der Stichprobe zu haben, wäre diese Variable wahrscheinlich vom Algorithmus als nicht signifikant zurückgewiesen worden. Und selbst wenn die Variable in Ihre Gleichung aufgenommen worden wäre, würden Sie vernünftigerweise erwarten, dass es einige Nichtlinearitäten gibt und dass die Auswahl an Daten aus Jahren mit unterschiedlichen, aber allesamt positiven Wachstumsraten bei den Hauspreisen den Algorithmus nicht lehren würde, was er bei fallenden Hauspreisen korrekt vorhersagen soll.

Was könnten Sie tun? Sie würden sich in einer Zwickmühle befinden:
  • Man könnte noch weiter in der Geschichte zurückgehen. Sowohl in den frühen 1980er- als auch in den 1990er-Jahren fielen die Hauspreise in den USA. Doch selbst wenn Sie einige Daten über die in diesen Jahren ausstehenden Hypotheken aus den verstaubten Papierakten im Keller Ihres Arbeitgebers hätten finden können, wären viele der in den letzten Jahren verfügbaren Attribute, die in Ihrem Algorithmus eine wichtige Rolle spielen, nicht verfügbar und würden daher fehlen. Diese systematisch fehlenden Daten könnten Ihren Algorithmus ernsthaft durcheinander bringen.

  • In einer derart verzweifelten Notlage können Sie auch synthetische Daten erstellen. Sie könnten bestimmte Datenpunkte aus Ihrer Stichprobe zu kopieren, dann aber einige der Werte manuell überschreiben, um Daten aus einem hypothetischen Zeitraum mit fallenden Hauspreisen zu erzeugen. Dies wäre nicht nur ein höchst spekulativer Ansatz, der stark von Ihren eigenen Vorurteilen geprägt wäre, sondern Sie hätten auch Schwierigkeiten, andere Attribute (z. B. Kreditkartenrückstände, die in der Schufa des Hauseigentümers eingetragen sind) korrekt anzupassen.

Mit anderen Worten: Es gibt keine gute Lösung, um eine Stichprobe um erwartete Szenarien zu erweitern, die in der verfügbaren Geschichte einfach nicht eingetreten sind.

Reaktionsgeschwindigkeit

Wenn historische Daten, die für die Entwicklung des Algorithmus verwendet werden, nicht dabei helfen können, künftige zyklische oder strukturelle Veränderungen vorherzusehen, hat das maschinelle Lernen noch ein Ass im Ärmel: Es kann schnell lernen. Nehmen wir an, dass gestern zwei neue Bücher veröffentlicht wurden: dieses Buch und ein 500-seitiges Epos über 50 Generationen von Mäusen, die sich den Palast von Versailles mit Ludwig XIV. teilten. Die Empfehlungsmaschine Ihres bevorzugten Online-Buchhändlers muss nun entscheiden, welches der beiden Bücher sie den Käufern von Marcella Hazans Das klassische italienische Kochbuch (ein Bestseller seit 1976) empfehlen soll. Woher soll sie das wissen? Da es sich bei beiden Büchern um nie dagewesene literarische Leistungen handelt, ist es unmöglich vorherzusagen, welches Buch mit größerer Wahrscheinlichkeit gekauft werden wird.

Das maschinelle Lernen bietet eine einfache Lösung: Es ermöglicht Ihnen, schnell zu lernen. Heute, am ersten Tag, an dem beide Bücher verfügbar sind, können Sie einfach nach dem Zufallsprinzip Empfehlungen für eines der beiden Bücher anzeigen und Daten darüber sammeln, welche Kunden auf die Empfehlung klicken und es schließlich kaufen. Das maschinelle Lernen ist schnell genug, um den Empfehlungsalgorithmus über Nacht zu aktualisieren, so dass die Empfehlungsmaschine ab morgen korrekt vorhersagen wird, dass fast alle Leser mein Buch bevorzugen (mit Ausnahme der drei Personen, die wirklich eine Schwäche für Mäuse haben und bereits mehr als 30 Bücher mit Mäusen gekauft haben).

Diese Fähigkeit, schnell zu lernen, ist eine wichtige Innovation der Algorithmen und wurde durch das Aufkommen des maschinellen Lernens, flexibler IT-Systeme und digitaler Kanäle ermöglicht, die das Nutzerverhalten in Echtzeit aufzeichnen können. Dadurch können Stabilitätsverzerrungen erheblich reduziert werden, denn in dem Moment, in dem ein Strukturbruch auftritt, können Algorithmen lernen, wie sich die Ergebnisse ändern, und so die Vorhersagen anpassen.

Leider hängt diese Fähigkeit, Algorithmen schnell zu aktualisieren und damit zu entkräften, von einer Bedingung ab: Die Antworten müssen schnell sichtbar werden. Empfehlungsmaschinen für Webseiten sind extrem reaktionsschnell: Wenn eine Webseite jetzt eine Empfehlung anzeigt, wird sich in den nächsten Sekunden zeigen, ob Sie klicken oder nicht. Selbst im traditionelleren Marketing, bei dem physische Briefe über eine uralte Methode namens Post verschickt wurden, konnte man in der Regel innerhalb von 2 bis 4 Wochen mit Kaufantworten rechnen.

In anderen Situationen sind die Antwortzeiten jedoch sehr lang. Wenn Sie beispielsweise einen Score für Kreditanträge entwickeln, dauert es je nach Produkt (z. B. Kreditkarte vs. Privatkredit) und Markt in der Regel 9 bis 18 Monate, bis der Großteil der Zahlungsausfälle sichtbar wird. Das bedeutet, dass es mindestens 9 bis 18 Monate dauert, bis Ihr Algorithmus von strukturellen Brüchen erfährt (z. B. das plötzliche Auftreten fallender Immobilienpreise). Bei einigen Hypotheken sehen wir sogar, dass die Ausfälle erst 3–5 Jahre nach der Ausfertigung in die Höhe schnellen (dies ist oft darauf zurückzuführen, dass bestimmte Steuervorteile zu diesem Zeitpunkt auslaufen, so dass Änderungen der Steuersysteme die Ausfallmuster bei Hypotheken erheblich verändern können). Und wenn man untersuchen will, wie sich bestimmte Lebensmittel in der Ernährung eines Babys auf die Wahrscheinlichkeit auswirken, im Alter an Alzheimer zu erkranken, muss man 60 bis 90 Jahre warten, bis sich das zu modellierende Ergebnis offenbart.

Dies bedeutet, dass Algorithmen, die die Ergebnisse von Prozessen mit langsamer Reaktionsgeschwindigkeit vorhersagen, sich nicht leicht selbst korrigieren können und daher besonders anfällig für Stabilitätsverzerrungen sind, was eine besondere Herausforderung für den Umgang mit und die Vermeidung von algorithmischen Verzerrungen darstellt.

Stabilitätsvorurteile bei der Definition von „gut“

In der bisherigen Diskussion haben wir untersucht, wie sich die Beziehungen zwischen den Vorhersagevariablen (z. B. eine Reihe von Liquiditätskennzahlen, die aus der Bilanz eines Unternehmens abgeleitet werden) und dem Ergebnis (z. B. der Gut/Schlecht-Indikator, der den Ausfall der Bankschulden eines Unternehmens kennzeichnet) im Laufe der Zeit verändern. Ein weiterer Aspekt bei jedem Vorhersageproblem, der sich im Laufe der Zeit ändern kann, sind die Definitionen von „gut“ und „schlecht“.

Die Menschen neigen dazu, bei der Definition von gut und schlecht eine eher ganzheitliche und fließende Perspektive einzunehmen. Bei der Definition von „guten Lebensmitteln“ berücksichtigen die Menschen nicht nur mehrere Dimensionen wie Geschmack, Beschaffenheit, Temperatur und Präsentation, sondern aktualisieren auch die Art der Faktoren, die sie berücksichtigen, kontinuierlich (z. B. könnte in jüngster Zeit der Begriff „gesund“ ins Spiel kommen, wenn z. B. unmittelbar nach der Lektüre eines Artikels über Omega-3-Fettsäuren deren Vorhandensein in einem bestimmten Lebensmittel zumindest vorübergehend ebenfalls zu einer kritischen Anforderung erhoben wird).

Algorithmen hingegen wählen ein genau definiertes Ziel aus. Ein Algorithmus zur Suchoptimierung könnte beispielsweise als „gut“ definieren, dass der Nutzer auf einen bestimmten Link klickt, und es dabei bewenden lassen – selbst wenn einem Menschen schmerzlich klar ist, dass die Definition des Algorithmus von „gut“ unangemessen ist (wenn z. B. ein bestimmter Link viele Nutzer dazu veranlasst, darauf zu klicken, die meisten aber sofort wieder zurücknavigieren, ist es ziemlich klar, dass dieser Link die Nutzer nicht dorthin führt, wo sie hinwollen).

Als ein solcher Algorithmus ursprünglich entwickelt wurde, hat der Datenwissenschaftler möglicherweise mehrere potenzielle Messgrößen ausgewertet und festgestellt, dass die Klickrate in hohem Maße mit schwieriger zu messenden Ergebnissen korreliert (d. h. ein guter Näherungswert ist), z. B. wie lange sich ein Nutzer mit etwas beschäftigt oder wie er die Nützlichkeit des verlinkten Objekts subjektiv einschätzt. Sobald der Algorithmus jedoch beginnt, die Nutzerströme zu lenken, kann sich die Welt ändern. So könnten beispielsweise Marketingfachleute herausfinden, wie sie den Algorithmus dazu bringen können, ihre Links zu zu bevorzugen, und Spammer könnten herausfinden, wie sie das System mit irreführenden Titeln auf ihren Seiten austricksen können. Infolgedessen würden die Klickraten zu einem immer schlechteren Indikator für die Qualität der Inhalte – aber in einem klassischen Fall von Stabilitätsverzerrung wird der Algorithmus weiterhin die Klickraten optimieren, bis ein Datenwissenschaftler die Zielfunktion (d. h. die Definition von gut/schlecht) des Algorithmus selbst überarbeitet.

Zusammenfassung

In diesem Kapitel haben Sie sich mit der inhärenten Stabilitätsverzerrung von Algorithmen befasst. Die wichtigsten Erkenntnisse sind:
  • Algorithmen sind naturgemäß von einer Stabilitätsverzerrung geprägt. Sie sind darauf ausgelegt, Regeln für die Beziehungen zwischen den beobachteten Merkmalen der uns umgebenden Welt und einem bestimmten Ergebnis auf der Grundlage der Vergangenheit zu entwickeln und diese Regeln auf die Zukunft anzuwenden.

  • Die Algorithmen können daher aus dem Tritt geraten (und in ihren Schätzungen eine schädliche Verzerrung wiedergeben), wenn sich die Welt um uns herum entweder zyklisch oder strukturell verändert.

  • Zyklische Schwankungen führen dazu, dass ein Algorithmus verzerrt wird, wenn die Entwicklungsstichprobe eine zu kurze Zeitspanne abdeckt (und insbesondere nicht mindestens 1–2 volle Zyklen umfasst).

  • Strukturelle Veränderungen in der Welt können einen Algorithmus unbrauchbar machen, wenn die alten Regeln einfach nicht mehr gelten, aber sie können im Algorithmus verinnerlicht werden, wenn die Veränderungen allmählicher sind und an zugrunde liegende Faktoren (Metadaten) gebunden werden können, die stabile Beziehungen zu den Ergebnissen aufrechterhalten.

  • Immer dann, wenn eine künftige Situation erwartet wird, für die keine vergleichbaren historischen Daten vorliegen, ist es aufgrund der Mechanismen der statistischen Modellentwicklung äußerst schwierig – und in der Praxis oft unmöglich –, für die erwartete Zukunft plausible Annahmen in einen Algorithmus einzubetten.

  • Die rasche Aktualisierung von Algorithmen (die insbesondere durch maschinelles Lernen erreicht werden kann) ist ein wirksames Mittel zur Überwindung der Stabilitätsverzerrungen von Algorithmen, aber dies ist nur möglich, wenn die Reaktionen auf getroffene Entscheidungen ebenfalls rasch erfolgen (d. h. die Ergebnisse können innerhalb von Sekunden oder Tagen statt Monaten und Jahren beobachtet werden).

  • Wenn das vom Algorithmus vorhergesagte Ergebnis nur ein Stellvertreter für ein ganzheitlicheres und komplexeres Konzept ist (z. B. eine übergeordnete Definition von „gut“ und „schlecht“), kann sich die Beziehung zwischen diesem speziellen Stellvertreter und dem letztendlichen Ziel der Benutzer des Algorithmus ändern; infolgedessen können Algorithmen auch unter einer Stabilitätsverzerrung bei ihrer Definition von gut und schlecht leiden.

Bisher haben wir alle diskutierten algorithmischen Verzerrungen entweder auf Einschränkungen in den dem Algorithmus zur Verfügung gestellten Daten oder auf andere Entscheidungen des Datenwissenschaftlers zurückgeführt. Im nächsten Kapitel werden Sie die unangenehme Seite von Algorithmen entdecken: neue Verzerrungen, die Algorithmen selbst und aus heiterem Himmel erzeugen.