11 // Maschinelles Lernen 2 (unüberwachtes Lernen)
Trockenübungen
- Benennen Sie die zentralen Unterschiede zwischen überwachtem und unüberwachtem Lernen.
- In welche (zwei) Arten der Mustererkennung lassen sich unüberwachte Verfahren einteilen?
- Erklären Sie das Konzept der Konvergenz.
- Wie lassen sich unüberwacht gelernte Modelle evaluieren?
- Beschreiben Sie die zentrale Funktionsweise eines Themenmodells (topic modeling).
- Was sind zentrale ethische Aspekte des maschinellen Lernens?
Praxisübungen
Maschinelles Lernen mit Python und R befindet sich derzeit in ständigem Umbruch. Während viele jüngste Entwicklungen, etwa im Bereich der Transformer-Modelle, zunächst mit Python Verbreitung finden, sind die Anwendungen in R zunehmend einfacher und direkter in sozialwissenschaftliche Arbeitsprozesse integrierbar. Wir sehen hier deshalb von Schritt-für-Schritt-Anleitungen ab, weil sich diese Anleitungen ständig selbst überleben würden; stattdessen werden hier einige Begrifflichkeiten vermittelt, die “im Internet” Verwendung finden, und zahlreiche Links zu Lernumgebungen und Anleitungen gesammelt.
Begriffsübersicht
Begriff aus dem Lehrbuch |
informatische Synonyme |
statistische Synonyme |
(weitere) englische Synonyme |
Goldstandard |
ground truth |
abhängige Variable |
label, outcome |
Codierung |
Annotation |
Codierung |
code, rate, annotate |
Feature |
Feature |
unabhängige Variable |
term, word, uni/bi-/tri-/n-gram |
Trainings-/Testpaket |
Trainings-/Testdaten |
Kalibrierung/Validierung |
split |
Lernprozess |
trainieren |
schätzen |
train, estimate |
Validierung |
Inspektion |
Güte |
validation, verification |
Anwendung |
Klassifizierung |
Prognose |
classifier, prediction, deployment |
Links für Python
- sklearn (auch:
scikit-learn
) ist eine/die zentrale Python-Bibliothek für das maschinelle Lernen
- TensorFlow (auch als
tf
abgekürzt) stellt eine verallgemeinernde Sprache für die Definition und Berechnung von neuronalen Netzen dar. Sie wurde einst von Google ins Leben gerufen, ist mittlerweile aber davon weitestgehend unabhängig, und für viele Programmiersprachen verfügbar. Im Kern aber ist sie eine Python-Bibliothek, die große Modelle effizient zu verarbeiten weiß.
- Auch Keras ist eine verallgemeinernde Sprache für die Definition und Berechnung von neuronalen Netzen, die primär als Python-Bibliothek verfügbar ist. Sie ist von TensorFlow unabhängig, kann aber darauf aufbauen – und dasselbe gilt umgekehrt. Der Fokus von Keras liegt in der einfachen Lesbarkeit. Für allzu große Modelle und deren effiziente Verarbeitung weicht Keras deshalb auf andere Bibliotheken (z.B. TensorFlow) aus.
- PyTorch ist eine weitere Alternative für die verallgemeinernde Sprache von neuronalen Netzen, dieses Mal von Meta/Facebook. Sie ist recht neu, gilt aber als gute Kombination aus Effizienz und Lesbarkeit. Auch sie ist in erster Linie eine einfach zu nutzende Python-Bibliothek.
- Einen angenehmen Einstieg in das unüberwachte Lernen bietet etwa sklearn selbst.
- Auf Topic Modeling gehen etwa James Fulton und Beverly Tan oder van Atteveldt, Trilling und Arcila ein.
Links für R
- tidymodels stellt die passende Erweiterung zum tidyverse dar, um in R einfach lesbare und kompatible maschinelle Lernverfahren zu formulieren.
- caret galt lange Zeit als das nutzungsfreundlichste und umfangreichste R-Paket für den Umgang mit überwachtem maschinellem Lernen. Noch immer erfreut sich das Paket großer Beliebtheit, wenngleich es mitunter eine etwas eigene Syntax erfordert.
- Für Textdaten gilt quanteda und für das maschinelle Lernen insbesondere quanteda.textmodels als De-facto-Standard in den Sozialwissenschaften.
- Einen angenehmen Einstieg in das unüberwachte Lernen bieten etwa Laurent Gatto.
- Auf Topic Modeling gehen etwa Valerie Hase, Julian Unkel oder van Atteveldt, Trilling und Arcila ein.
Lösungsansätze
Ab hier folgen nun verschiedene Lösungswege zu den oben vorgestellten Übungen. Damit Sie die nicht “versehentlich” überscrollen und so Ihrer Übungsmöglichkeiten beraubt werden, folgt hier zunächst ein visueller Bruch.

Trockenübungen
- Überwachtes Lernen benötigt einen Goldstandard (sog. “ground truth”), an der es sich im Lernprozess orientieren kann. Unüberwachtes Lernen hingegen iteriert so lange über einen nicht näher annotierten Datensatz, bis es mithilfe einer Kostenfunktion “das Gefühl hat”, mehr Lernen lohnt sich nicht (sog. Konvergenz).
- In die Erkennung von trennenden Strukturen (diskriminierende Verfahren) und die Erkennung von Zusammenhängen (generierende Verfahren).
- Konvergenz beschreibt das Bemühen des Computers, den idealen Punkt zum Beenden des Trainingsprozesses zu identifizieren. Dafür wird eine Kostenfunktion über die Anzahl der Iterationen und eine Fehlergröße berechnet. Üblich ist die Suche nach einem (grafisch als 2D verstandenem, in der Realität aber multidimensionalem Koordinatensystem) Abstieg und einem anschließenden Minimum in dieser Kostenfunktion. Eine zentrale Gefahr besteht allerdings darin, dass dieses Minimum nicht das beste Minimum für die vorliegenden Daten darstellt, da möglicherweise der Startpunkt der Iterationen (zufällig) schlecht gewählt wurde.
- Sie lassen sich untereinander vergleichen. Mitunter liegen außerdem extern messbare oder a-priori festgelegte und messbare Rahmenbedingungen vor. Für prominente Probleme gibt es außerdem sogenannte “Tasks”, die als De-facto-Qualitätsmaßstab (insbes. für Übersetzungs- und Sprachmodelle) fungieren.
- Daten (Texte) werden mithilfe eines generativen Modells in k (a-priori festgelegte Anzahl) Cluster (sogenannte “Themen”) eingeteilt. Evaluiert wird für die Konvergenz dabei die cluster-interne Kohäsion bei gleichzeitiger cluster-externer Distinktion. Trainiert werden einerseits eine Matrix der Themen zu den Features/Wörtern und andererseits eine Matrix der Themen zu den Dokumenten.
- Die probabilistische Zuschreibung (vs. deterministisch; es sind immer “Fehler” enthalten), die potenzielle Diskriminierung/algorithmische Verzerrung, die schwierige Nachvollziehbarkeit, die benötigten Ressourcen …