Machine Learning erklärt - datenbasiert.de

Machine Learning

Was ist Machine Learning?

Machine Learning, auf Deutsch maschinelles Lernen, ist ein Teilgebiet der künstlichen Intelligenz, bei dem ein Algorithmus aus Beispieldaten ein Modell lernt und damit Vorhersagen für neue Fälle trifft. Ein Spamfilter kann so eine unerwünschte E-Mail erkennen, deren Absender und Wortlaut er im Training nie gesehen hat. Gelernt hat er, welche Merkmale früherer Nachrichten auf Spam hindeuten.

Eine echte Rechnung kann denselben Linktext enthalten wie eine gefälschte. Die Linkanzahl allein liefert also keine zuverlässige Entscheidungsregel. Liefert die Kombination aus Absenderdomain, Zieladresse und Betreff eine bessere Vorhersage? Das lässt sich mit gelabelten E-Mails prüfen, die im Training außen vor blieben.

Was unterscheidet maschinelles Lernen von klassischer Programmierung?

Ein regelbasierter Spamfilter prüft programmierte Bedingungen. Die Regel „Betreff enthält Gratisgewinn“ erkennt eine bestimmte Formulierung. Schon „Gewinn gratis abholen“ kann den Filter passieren. Bei einem lernenden Spamfilter markieren Menschen Beispiele als „Spam“ oder „erwünscht“. Der Lernalgorithmus schätzt aus diesen Labels, welche Wörter und Absendermerkmale die Klassifikation verbessern.

Algorithmus und Modell bezeichnen dabei unterschiedliche Dinge. Der Lernalgorithmus ist das Verfahren, das die Trainingsdaten auswertet. Das trainierte Modell enthält das Ergebnis, etwa eine Liste gelernter Gewichte. Derselbe Algorithmus kann unterschiedliche Modelle liefern: In einem Postfach gilt der tägliche Börsennewsletter als erwünscht, im anderen wird er konsequent als Spam markiert.

Was ist der Unterschied zwischen KI, Machine Learning und Deep Learning?

Künstliche Intelligenz (KI) ist der Oberbegriff. Dazu zählen unter anderem Systeme, die anhand ausdrücklich formulierter Regeln Schlussfolgerungen ziehen. Machine Learning umfasst die Verfahren, die Modellparameter oder Entscheidungsstrukturen aus Daten ableiten. Deep Learning ist der Teil des maschinellen Lernens, der mit tiefen neuronalen Netzen arbeitet. Mehrere Schichten bauen dabei auf den Ausgaben vorheriger Schichten auf.

Einordnung von Machine Learning und Deep LearningDrei ineinanderliegende Rechtecke zeigen künstliche Intelligenz als Oberbegriff, darin maschinelles Lernen und als Teil des maschinellen Lernens Deep Learning.Künstliche Intelligenz (KI)Machine Learning (ML)Deep Learning
WERBUNG

Wie funktioniert Machine Learning?

Was sind Trainingsdaten, Features und Labels?

Ein Trainingsbeispiel für überwachtes Lernen besteht aus Eingabedaten und einem bekannten Zielwert. Zwei mögliche Features einer E-Mail sind Linkanzahl und Adressbuchstatus des Absenders. Das Label hält die richtige Klasse fest. Im folgenden vereinfachten Datensatz stammt es von den Empfängern, die eine Nachricht als Spam oder erwünscht markiert haben.

E-Mail Links im Text Absender im Adressbuch Label
Terminbestätigung 1 Ja Erwünscht
Gewinnbenachrichtigung 4 Nein Spam
Bestellbestätigung 4 Nein Erwünscht
Angebliche Kontosperre 1 Nein Spam
Neue Nachricht 4 Nein Unbekannt

Gewinnbenachrichtigung und Bestellbestätigung haben identische Features, aber verschiedene Labels. Für den Filter sind ihre Merkmalsvektoren gleich. Er muss beiden E-Mails denselben Score geben. Die erste Tabellenspalte dient der Anschauung. Erst wenn der Betreff als zusätzliches Feature in die Eingabedaten gelangt, kann sein Wortlaut die Klassifikation verändern. Hier würde auch ein komplexeres Modell mit denselben zwei Features an dieselbe Grenze stoßen.

Wie lernt ein Modell aus Daten?

Eine logistische Regression kombiniert Features mit gelernten Gewichten. Das Vorzeichen eines Gewichts gibt an, in welche Richtung das Merkmal den Spam-Score verschiebt, wenn die übrigen Features gleich bleiben. Die Verlustfunktion vergleicht Vorhersage und Label. Die Log Loss bestraft eine sichere Fehlvorhersage stärker als eine knappe Fehlentscheidung.

Angenommen, das Label lautet „Spam“. Für eine vorhergesagte Spam-Wahrscheinlichkeit von 0,8 beträgt der Verlust rund 0,22. Bei einer Vorhersage von 0,1 steigt er auf rund 2,30. Die Rechnung lautet in diesem Fall −ln(p), wobei p die vom Modell geschätzte Wahrscheinlichkeit für Spam ist. Der Lernalgorithmus verändert die Gewichte so, dass der mittlere Verlust über die Trainingsbeispiele sinkt. Beim Gradientenabstieg bestimmt die Lernrate die Schrittgröße.

Ein Modellparameter wäre hier das gelernte Gewicht für die Linkanzahl. Die vor dem Training festgelegte Lernrate ist dagegen ein Hyperparameter. Auch die Stärke der Regularisierung lässt sich als Hyperparameter wählen. Eine Regularisierung kann große Gewichte bestrafen, damit ein seltenes Wort aus wenigen Trainingsbeispielen die Vorhersage für neue E-Mails weniger stark bestimmt.

Was unterscheidet Training und Inferenz?

Training verändert Modellparameter. Inferenz nutzt die gelernten Parameter für eine Vorhersage. Bei einem Spam-Score von 0,73 und einem Schwellenwert von 0,70 landet eine E-Mail im Spamordner. Steigt der Schwellenwert auf 0,80, bleibt dieselbe E-Mail im Posteingang. Diese Änderung der Entscheidungsregel erfordert kein neues Training. Ob ein Spam-Score als Wahrscheinlichkeit lesbar ist, zeigt die Kalibrierung: Unter 100 E-Mails mit einer geschätzten Spam-Wahrscheinlichkeit nahe 0,70 sollten bei guter Kalibrierung ungefähr 70 das Label „Spam“ haben.

Batch-Lernen und Online-Lernen unterscheiden sich im Zeitpunkt der Parameteranpassung. Beim Batch-Lernen trainiert der Anbieter den Spamfilter etwa wöchentlich auf gesammelten Trainingsdaten. Beim Online-Lernen aktualisieren neue Trainingsbeispiele die Modellparameter fortlaufend, einzeln oder in kleinen Gruppen. Ein wöchentlich trainierter Spamfilter kann jede neue E-Mail per Echtzeit-Inferenz sofort klassifizieren.

Welche Arten von Machine Learning gibt es?

Überwachtes Lernen: Klassifikation und Regression

Beim überwachten Lernen (Supervised Learning) liefern bekannte Zielwerte das Lernsignal. Eine Klassifikation sagt eine Kategorie voraus. Beim Spamfilter gibt es zwei Klassen. Eine Mehrklassen-Klassifikation könnte die Labels „Rechnung“, „Einladung“ und „private Nachricht“ unterscheiden. Dafür braucht der Trainingsdatensatz passende Beispiele für jede Zielklasse.

Eine Regression schätzt einen Zahlenwert. „Ist diese E-Mail Spam?“ ist eine Klassifikationsaufgabe, „Wie viele E-Mails gehen morgen ein?“ eine Mengenprognose. Bei einer Zeitreihenanalyse können Wochentag und Nachrichtenaufkommen der Vorwochen als Features dienen. Für eine Vorhersage von 120 bei tatsächlich 100 Nachrichten beträgt der absolute Prognosefehler 20 Nachrichten. Der Mittelwert solcher absoluten Fehler über mehrere Testtage heißt Mean Absolute Error (MAE).

Unüberwachtes Lernen: Wie entstehen Gruppen ohne Labels?

Unüberwachtes Lernen (Unsupervised Learning) sucht Strukturen in Daten ohne vorgegebene Zielwerte. Beim Clustering gruppiert ein Algorithmus E-Mails anhand messbarer Ähnlichkeiten. Ein Cluster könnte aus langen Nachrichten mit vielen Produktlinks bestehen, ein anderes aus kurzen Bestätigungen mit Bestellnummer. Erst bei der Sichtung zeigt sich, ob die Gruppen eine nützliche Bedeutung haben.

Welche Features du verwendest, verändert das Ergebnis. Ein Clustering nach Wortgebrauch kann Newsletter zum selben Thema zusammenfassen. Ein Clustering nach Versandzeit und Linkanzahl kann Newsletter verschiedener Themen derselben Versandkampagne zuordnen. Das Cluster erhält so eine fachliche Interpretation. Für eine Klassifikation als Spam fehlt weiterhin ein verlässliches Label.

Was unterscheidet teilüberwachtes und selbstüberwachtes Lernen?

Beim teilüberwachten Lernen (Semi-Supervised Learning) ergänzen ungelabelte Daten einen kleinen gelabelten Trainingsdatensatz. Zu 500 klassifizierten E-Mails kommen beispielsweise 50.000 ungelabelte Nachrichten. Beim Pseudolabeling vergibt ein erstes Modell Labels für besonders sichere Vorhersagen. Anschließend trainiert der Lernalgorithmus mit menschlich vergebenen Labels und ausgewählten Pseudolabels. Falsche Pseudolabels können Klassifikationsfehler im nächsten Modell verstärken.

Beim selbstüberwachten Lernen (Self-Supervised Learning) liefern die Eingabedaten das Lernsignal. Beim Sprachmodell dient eine Tokenfolge als Eingabe und das tatsächlich folgende Token als Zielwert. Für „Der Zug fährt in den …“ steht das nächste Token bereits im Trainingstext. Mit gelabelten E-Mails lässt sich ein vortrainiertes Sprachmodell später für die Spam-Klassifikation anpassen.

Wie funktioniert bestärkendes Lernen?

Beim bestärkenden Lernen (Reinforcement Learning) lernt ein Agent durch Aktionen und deren Folgen. Stell dir eine Spielfigur in einem Labyrinth vor. Ihr Zustand beschreibt ihre aktuelle Position. Eine Aktion bewegt sie ein Feld weiter. Am Ausgang erhält sie eine Belohnung, jeder Schritt kostet einen kleinen Teil davon. Die Lernaufgabe besteht darin, eine Strategie zu finden, die eine hohe Summe zukünftiger Belohnungen erwarten lässt.

Ein Label könnte für jeden Zustand die beste Aktion vorgeben. Die Belohnung am Ausgang bewertet dagegen die gesamte Aktionsfolge. Beim Reinforcement Learning erkundet der Agent die Umgebung und verbessert seine Strategie anhand beobachteter Belohnungen. Der Umweg in eine Sackgasse liefert dabei ebenfalls ein Lernsignal, weil er zusätzliche Schritte kostet.

Aktives Lernen: Welche E-Mail soll ein Mensch prüfen?
  • Beim Active Learning wählt ein Algorithmus gezielt ungelabelte Beispiele zur Beschriftung aus. Ein Kriterium kann die Unsicherheit des Modells sein.
  • Ein Spam-Score nahe der Entscheidungsgrenze kennzeichnet einen Grenzfall. Das vom Menschen vergebene Label ergänzt den Trainingsdatensatz.
  • Der Nutzen hängt auch von der Vielfalt der Stichprobe ab. Zehn fast identische Nachrichten derselben Kampagne beanspruchen Zeit und liefern oft ähnliche Lernsignale.

Quelle: datenbasiert.de

WERBUNG

Welche Machine-Learning-Algorithmen gibt es?

Die geeignete Modellfamilie hängt von der Lernaufgabe ab. Für eine Fahrtdauer brauchst du einen Regressionswert, für die Spam-Erkennung eine Klassifikation, für ähnliche Versandkampagnen ein Clustering. Einige Algorithmen lassen sich für mehrere Aufgaben trainieren. Ein Entscheidungsbaum kann im Blatt eine Klasse oder den mittleren Zielwert der zugehörigen Trainingsbeispiele ausgeben.

Verfahren Was der Algorithmus lernt Beispiel für die Ausgabe
Lineare Regression Gewichte für den Zusammenhang zwischen Merkmalen und einer numerischen Zielgröße Eine geschätzte Fahrtdauer von 24 Minuten
Logistische Regression Gewichte, aus denen sich die Wahrscheinlichkeit für eine Klasse schätzen lässt Ein Spam-Score von 0,73 für eine E-Mail
Entscheidungsbaum Eine Folge von Merkmalsprüfungen und Schwellenwerten, die Trainingsbeispiele in Teilgruppen aufteilen Eine Klasse am Ende eines nachvollziehbaren Entscheidungspfads
Random Forest Viele Entscheidungsbäume aus unterschiedlichen Stichproben und zufälligen Merkmalsauswahlen Eine über mehrere Bäume zusammengeführte Vorhersage
k-Means Clusterzentren, denen Datenpunkte nach ihrem Abstand zugeordnet werden Eine Clusteranalyse mit Gruppen ähnlicher Versandkampagnen
Neuronale Netze Gewichte zwischen Schichten, die aus Eingabedaten zunehmend komplexe Merkmale bilden können Die erkannte Ziffer auf einem fotografierten Briefumschlag

Bei k-Means beeinflusst die Skalierung die Clusterbildung. Misst du die Nachrichtenlänge in Zeichen und verwendest die Linkanzahl als zweites Feature, können Tausende Zeichen den Abstand stärker prägen als wenige Links. Eine Standardisierung beider Features verändert die Abstände zu den Clusterzentren. Ein Entscheidungsbaum prüft Merkmale einzeln: Derselbe Schwellenwert lässt sich von Zeichen in Tausend Zeichen umrechnen, ohne die Zuordnung der Trainingsbeispiele zu ändern.

Wie wird ein Machine-Learning-Modell bewertet?

Wozu dienen Trainingsdaten, Validierungsdaten und Testdaten?

Mit Trainingsdaten passt der Lernalgorithmus die Modellparameter an. Mit Validierungsdaten vergleichst du Modellvarianten und wählst beispielsweise die Baumtiefe oder den Spam-Schwellenwert. Die Testdaten bleiben bis zur abschließenden Bewertung unberührt. Wenn du nach jedem Testergebnis den Filter nachjustierst, verwendest du den Testsatz zur Modellauswahl. Für eine unabhängige Leistungsschätzung brauchst du dann neue Testdaten.

Ein Spamfilter soll künftige Nachrichten bewerten. Dafür kann eine zeitliche Aufteilung sinnvoll sein: Training mit früheren E-Mails, Validierung mit einem späteren Zeitraum, Test mit den jüngsten Nachrichten. Fast identische Kopien derselben Rundmail in Training und Test können das Ergebnis verzerren. Willst du die Erkennung neuer Kampagnen messen, halte vollständige Kampagnen für den Test zurück. Ein besonders klares Datenleck wäre ein Feature wie „vom Empfänger als Spam gemeldet“. Diese Information entsteht erst nach der Entscheidung, die das Modell treffen soll.

Sinkt der Trainingsverlust weiter, während der Validierungsverlust bei vergleichbaren Daten steigt, deutet das auf Overfitting hin. Ein tiefer Entscheidungsbaum könnte einzelne Absender aus den Trainingsdaten auswendig lernen. Eine geringere Baumtiefe begrenzt die Modellkomplexität. Ob das die Generalisierung auf unbekannte Spamkampagnen verbessert, zeigt der Vergleich auf Validierungsdaten.

Was bedeuten Accuracy, Precision und Recall?

In einem fiktiven Testsatz befinden sich 1.000 E-Mails, darunter 20 Spam-Nachrichten. Ein Filter, der jede E-Mail in den Posteingang legt, trifft bei 980 erwünschten Nachrichten die richtige Entscheidung. Seine Accuracy beträgt 98 Prozent. Da er alle 20 Spam-Nachrichten übersieht, beträgt sein Recall für Spam null. Als Baseline zeigt dieser einfache Vergleich, wie viel die häufigere Klasse zur Gesamtgenauigkeit beiträgt.

Ein zweiter Filter trifft 24 positive Vorhersagen. Sein Spamordner enthält 18 der 20 tatsächlichen Spam-Mails und sechs erwünschte E-Mails. Die Konfusionsmatrix vergleicht Vorhersage und Label. Spam ist die positive Klasse, erwünscht die negative Klasse.

Tatsächliches Label Als Spam aussortiert In den Posteingang gelegt Summe
Spam 18 richtig positiv 2 falsch negativ 20
Erwünscht 6 falsch positiv 974 richtig negativ 980
Summe 24 976 1.000
Drei Kennzahlen aus derselben Konfusionsmatrix
  • Accuracy (Genauigkeit): 992 richtige Vorhersagen geteilt durch 1.000 E-Mails ergeben 99,2 Prozent.
  • Precision (Präzision): 18 richtig erkannte Spam-Mails geteilt durch 24 als Spam klassifizierte E-Mails ergeben 75 Prozent.
  • Recall (Sensitivität): 18 richtig erkannte Spam-Mails geteilt durch 20 tatsächliche Spam-Mails ergeben 90 Prozent.

Quelle: datenbasiert.de

Der Unterschied steckt im Nenner: Die Precision bewertet den Spamordner, der Recall die Erkennung aller tatsächlichen Spam-Mails. Die 18 richtig positiven Vorhersagen gehören in beide Zähler. Für die Precision teilst du durch 24 positive Vorhersagen, für den Recall durch 20 positive Labels.

Wer Precision und Recall zu einer Kennzahl verbinden möchte, kann den F1-Score berechnen. Er ist das harmonische Mittel beider Kennzahlen. Für den zweiten Filter ergibt sich 2 × 0,75 × 0,90 / (0,75 + 0,90) ≈ 0,818. Die 974 richtig negativen Entscheidungen gehen in die Accuracy ein. Für den F1-Score spielen sie keine Rolle.

Auch die Falsch-Positiv-Rate lässt sich aus der Konfusionsmatrix ablesen: 6 Fehlalarme unter 980 erwünschten E-Mails ergeben rund 0,61 Prozent. Zugleich sind 25 Prozent des Spamordners Fehlalarme. Beide Kennzahlen stimmen. Die Falsch-Positiv-Rate bezieht sich auf die negative Klasse, der Fehlalarmanteil im Spamordner auf die positiven Vorhersagen.

Wie wählt man den richtigen Schwellenwert?

Ein niedrigerer Schwellenwert schickt mehr E-Mails in den Spamordner. Der Recall kann steigen, die Zahl der Fehlalarme ebenfalls. Ein höherer Schwellenwert lässt mehr E-Mails im Posteingang. Entscheidend für die Filterwahl ist, welche zusätzlichen Nachrichten zwischen den beiden Schwellenwerten liegen.

Eine Beispielrechnung mit niedrigerem Schwellenwert: Unter fünf zusätzlich aussortierten E-Mails steckt eine Spam-Mail. Der Recall steigt auf 19/20 = 95 Prozent. Die Precision sinkt auf 19/29 ≈ 66 Prozent. Vier zusätzliche Fehlalarme stehen einer zusätzlich erkannten Spam-Mail gegenüber. Bei einem übersehenen Werbeangebot und einer fälschlich aussortierten Bewerbung haben diese Fehler unterschiedliche Folgen. Für die Schwellenwertwahl nutzt man Validierungsdaten, für die abschließende Bewertung unangetastete Testdaten.

WERBUNG

Machine Learning: Beispiele und Anwendungen

Ein Empfehlungssystem liefert eine Rangfolge, ein Klassifikator eine Klasse, ein Regressionsmodell einen Zahlenwert. Beim Suchmaschinen-Ranking zählt die Position eines relevanten Treffers. Bei der Texterkennung zählt, ob die vorhergesagte Zeichenfolge mit der Vorlage übereinstimmt.

Anwendung Eingabedaten Ergebnis des Modells
Spamfilter Textmerkmale, Absenderinformationen, Linkziele Ein Spam-Score je Nachricht
Sprach- und Texterkennung Ein gesprochenes Wort für einen digitalen Assistenten oder Pixel eines gescannten Dokuments Eine Folge erkannter Wörter oder Schriftzeichen
Bild- und Gesichtserkennung Bildpunkte einer Aufnahme Eine Objektklasse oder ein Ähnlichkeitswert beim Vergleich zweier Gesichtsaufnahmen
Empfehlungssystem Bisher abgespielte Titel und Merkmale verfügbarer Musikstücke Eine nach geschätzter Relevanz sortierte Auswahl
Suchmaschinen-Ranking Suchanfrage und Merkmale möglicher Treffer Eine Rangfolge passender Webseiten
Bot-Erkennung Zeitabstände und Muster bei Seitenaufrufen Eine Schätzung, ob automatisierte Zugriffe vorliegen
Erkennung von Kreditkartenbetrug Betrag, Zeitpunkt und Kontext einer Transaktion Ein Risikowert zur Auswahl auffälliger Zahlungen für eine Prüfung
Braucht Machine Learning immer Big Data?

Der Datenbedarf hängt von der Lernaufgabe und der Datenqualität ab. 100.000 Kopien derselben Werbemail zeigen einem Spamfilter kaum etwas über neue Formulierungen. Ein kleinerer Trainingsdatensatz mit unterschiedlichen Kampagnen, Sprachen und erwünschten Newslettern kann für die Klassifikation informativer sein. Sind ausschließlich Spam-Nachrichten gelabelt, fehlen für eine herkömmliche überwachte Klassifikation Beispiele der Gegenklasse.

Zu den strukturierten Daten zählen Linkanzahl und Versandzeit in Datenbankspalten. Unstrukturierte Daten wie Nachrichtentext oder Bildanhänge benötigen eine geeignete Repräsentation, etwa Wortmerkmale oder numerische Einbettungen. Bei großen Datenbeständen können verteilte Rechner und Datenbanksysteme diese Aufbereitung und das Training beschleunigen. Eine einfache logistische Regression mit wenigen Features lässt sich dagegen häufig auf einem einzelnen Rechner trainieren.

Warum verändert sich die Qualität eines trainierten Modells?

Wenn sich die Verteilung der Eingabedaten ändert, spricht man von Data Drift. Vielleicht erhält ein Postfach zunehmend englischsprachige E-Mails, während die Trainingsdaten überwiegend deutsch waren. Das lässt sich an den Eingabedaten beobachten. Eine gelabelte Stichprobe zeigt, ob Accuracy oder Recall des Spamfilters sinken.

Bei Concept Drift verändert sich der Zusammenhang zwischen Merkmalen und Zielwert. Ein Beispiel wäre eine bislang zuverlässige Absenderdomain, über die zunehmend Spam verschickt wird. Dasselbe Absendermerkmal hat nun eine andere Aussagekraft. Für den Betrieb lohnt sich deshalb eine regelmäßige Stichprobe aus beiden Ordnern: Im Spamordner fallen falsch aussortierte E-Mails auf, im Posteingang übersehene Spam-Nachrichten. Erst zusammen zeigen diese Beobachtungen, ob ein neuer Schwellenwert genügt oder das Modell mit aktuellen Trainingsdaten neu lernen sollte.