KI‑Kompass
Kompass

Was maschinelles Lernen ist

Der Unterschied zwischen programmierten Regeln und gelernten Regeln, die drei Lernarten und die Frage, wann sich maschinelles Lernen überhaupt lohnt.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Um einem Programm beizubringen, eine Rechnung von einem Lieferschein zu unterscheiden, gibt es zwei Wege. Der klassische Weg: jemand schreibt Regeln. „Wenn das Wort Rechnungsnummer vorkommt, dann …". Der zweite Weg: man zeigt dem Programm zehntausend Rechnungen und zehntausend Lieferscheine und lässt es selbst herausfinden, woran der Unterschied hängt.

Der zweite Weg ist maschinelles Lernen. Er lohnt sich immer dann, wenn die Regeln zu viele Ausnahmen haben, um sie aufzuschreiben.

Die drei Lernarten

ArtWas vorliegtBeispiel
ÜberwachtBeispiele mit richtiger AntwortRechnung oder Lieferschein, mit Etikett
UnüberwachtBeispiele ohne AntwortKundengruppen finden, ohne zu wissen welche
BestärkendBelohnung für gute EntscheidungenRoboterarm, Spielstrategie, Regelung

Der Ablauf, der immer gleich ist

  1. 01

    Frage festlegen

    Was genau soll vorhergesagt werden, und woran erkennt man, dass die Antwort richtig war? Diese Frage vor den Daten zu klären spart die meiste Zeit.

  2. 02

    Daten aufteilen

    Training, Validierung, Test. Der Testsatz wird genau einmal angefasst, ganz am Ende. Siehe Kreuzvalidierung.

  3. 03

    Ausgangswert bestimmen

    Wie gut ist die einfachste denkbare Regel? Ohne diesen Vergleichswert lässt sich später kein Fortschritt behaupten.

  4. 04

    Modell anpassen und bewerten

    Erst danach folgen Modellwahl und Hyperparameter, und zwar in dieser Reihenfolge, nicht umgekehrt.

Wann klassische Programmierung besser ist

  • Die Regel ist bekannt und stabil, etwa eine gesetzliche Frist.
  • Es gibt weniger als ein paar hundert Beispiele.
  • Jeder Einzelfall muss begründbar sein, und eine Näherung genügt nicht.
  • Der Fehlerfall ist teuer und selten. Dann prüft man lieber alles.

Was ein Modell formal tut

Die Lernaufgabe

f* = argmin_f R(f), R(f) = E₍ₓ,ᵧ₎∼𝓓 [ L(f(x), y) ]

Gesucht ist die Funktion mit dem kleinsten mittleren Fehler auf Daten, die man nie gesehen hat.

𝓓
die unbekannte Verteilung, aus der die Daten stammen
f
die gesuchte Funktion aus einer Hypothesenklasse
L
die Verlustfunktion
R
das erwartete Risiko: der mittlere Fehler auf neuen Daten

Das Problem: 𝓓 ist unbekannt. Man minimiert stattdessen das empirische Risiko auf der Stichprobe, und der ganze Rest der Disziplin beschäftigt sich mit der Lücke zwischen beidem, siehe Überanpassung, Bias und Varianz.

Ein vollständiges Beispiel

from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import classification_report

X, y = load_breast_cancer(return_X_y=True)
Xtr, Xte, ytr, yte = train_test_split(X, y, test_size=0.25,
                                      stratify=y, random_state=0)

# stratify=y haelt die Klassenverteilung in beiden Teilen gleich;
# ohne das schwankt die gemessene Guete allein durch den Split.
model = LogisticRegression(max_iter=5000).fit(Xtr, ytr)
print(classification_report(yte, model.predict(Xte), digits=3))

Der Fehler, der am meisten kostet

Ein Modell zu bauen, bevor die Erfolgsmessung feststeht. Ohne vorher definierte Metrik und ohne Ausgangswert wird am Ende die Metrik gesucht, bei der das Modell gut aussieht. Das ist keine Bewertung mehr, sondern eine Erzählung.

Passende Kurse und Quellen

WerkzeugKostenlosEN

Jupyter

Notizbücher, in denen Text, Code und Ergebnis nebeneinander stehen. Das übliche Werkzeug, um Rechnungen nachvollziehbar festzuhalten.

Für die ersten eigenen Rechnungen; hält Text, Code und Ergebnis an einer Stelle nachvollziehbar.

KursKostenlos600 Min.EN

Kaggle Learn

Kurze Einheiten mit ausführbaren Notebooks, von Python über Pandas bis zu ersten Modellen. Ohne Installation, direkt im Browser.

Für den allerersten Einstieg ohne Installation, direkt im Browser.

KursTeilweise kostenlos5400 Min.EN

Machine Learning Specialization

Der Kurs von Andrew Ng in überarbeiteter Fassung. Regression, Klassifikation, neuronale Netze und die Fehler, die in der Praxis tatsächlich passieren. Rechnen inbegriffen.

Kostenlos anzusehen, das Zertifikat kostet. Wer nur verstehen will, braucht es nicht.

DeepLearning.AIZum Angebot
KursKostenlos3000 Min.EN

MIT 6.036 Einführung in Machine Learning

Formaler als die meisten Onlinekurse, mit Herleitungen statt Rezepten. Passt gut nach einem praktischen Kurs, wenn die Frage nach dem Warum offen bleibt.

Für alle, denen nach einem Praxiskurs die Frage nach dem Warum offen geblieben ist.

MIT OpenCourseWareZum Angebot
BuchKostenlosEN

Probabilistic Machine Learning

Kevin Murphys Bände, die maschinelles Lernen konsequent aus der Wahrscheinlichkeitsrechnung heraus aufbauen. Umfangreich und frei verfügbar.

Für alle, die maschinelles Lernen konsequent aus der Wahrscheinlichkeitsrechnung aufbauen wollen.

ArtikelKostenlosEN

scikit-learn Benutzerhandbuch

Kein Handbuch, sondern ein Lehrbuch mit Code. Zu jedem Verfahren steht dabei, wann es nicht passt, was in Lehrbüchern selten so deutlich steht.

Für alle, die klassische Verfahren einsetzen; nennt zu jedem auch, wann es nicht passt.

scikit-learnZum Angebot
War diese Seite hilfreich?
Was maschinelles Lernen ist