10 // Maschinelles Lernen I (überwachtes Lernen)
Trockenübungen
- Was ist “KI”?
- Warum stellt “KI” ein Buzzword dar und was ist der Unterschied zu “maschinellem Lernen”?
- Welche sechs Schritte gehören üblicherweise zum überwachten Lernen?
- Worauf ist bei Training-Test-Split zu achten?
- Nennen Sie drei algorithmische Verfahrensfamilien des überwachten Lernens.
- In welchem Verhältnis stehen P(recision) und R(ecall)?
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 überwachte Lernen von Textdaten bietet etwa spaCy.
- Umfangreicher (und etwas objektiver) bietet das Keh-Soon Yong.
- Und genereller, also nicht auf Textdaten beschränkt, finden sich zahlreiche Einstiegserklärungen und -beispiele bei van Atteveldt, Trilling und Arcila, Mark Scott oder Jake VanderPlas.
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 überwachte Lernen von Textdaten bietet Julian Unkel.
- Umfangreicher gehen Emil Hvitfeldt und Julia Silge darauf ein.
- Und genereller, also nicht auf Textdaten beschränkt, finden sich zahlreiche Einstiegserklärungen und -beispiele bei van Atteveldt, Trilling und Arcila.
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.
![Winkende weiße Katze als GIF](https://media.giphy.com/media/vFKqnCdLPNOKc/giphy.gif)
Trockenübungen
- Teilgebiet der Informatik zur Lösung Menschen vorbehaltener Probleme
- keine spezifische Definition (auch nicht von “Intelligenz”), ML ist das informatische Prinzip “hinter” KI
- (1) Goldstandard erstellen, (2) Pre-Processing und Feature Engineering, (3) Training-Test-Split, (4) Lernprozess mit ausgewähltem Algorithmus, (5) Validierung, (6) Anwendung/Deployment
- Verzerrungsfreiheit (zufallsbasiert bei gleichzeitiger Repräsentation des Ursprungsverhältnisses)
- (1) probabilistische Verfahren (zB Naive Bayes), (2) Entscheidungsbaumverfahren (zB Decision Tree), (3) Vektorverfahren (zB Support Vector Machine SVM), (4) neuronale Netze
- P beschreibt die Genauigkeit, also wie viele der vom Modell für richtig gehaltenen Fälle sind wirklich richtig; R beschreibt die Trefferquote, also wie viele der richtigen Fälle vom Modell für richtig gehalten wurden