Ratgeber · grundlagen
Machine Learning Grundlagen: wie Maschinen aus Daten lernen
Wie ein Modell aus Beispieldaten Muster ableitet: überwachtes, unüberwachtes und bestärkendes Lernen, Klassifikation und Regression, Features und Labels. Und warum die Datenqualität über den Erfolg entscheidet.
Wenn ich Freunden erklären soll, was ich eigentlich mache, komme ich früher oder später bei diesem einen Satz an: Machine Learning heisst, einer Maschine keine Regeln mehr vorzuschreiben, sondern sie die Regeln selbst aus Beispielen finden zu lassen. Das klingt nach einem kleinen Unterschied, ist aber ein Umdenken. Ich zeige Dir in diesem Ratgeber, wie das funktioniert, welche Grundbegriffe Du wirklich brauchst und warum am Ende fast immer die Daten den Ausschlag geben, nicht der Algorithmus. Und ja: Genau diese Begriffe fragt auch das Machine-Learning-Kapitel im Quiz auf ki-lernen.net ab, insofern lohnt sich das Mitlesen doppelt.
Was Machine Learning eigentlich ist
Stell Dir vor, Du sollst ein Programm schreiben, das auf einem Foto erkennt, ob eine Katze darauf ist. In der klassischen Programmierung müsstest Du jede Regel von Hand festlegen: spitze Ohren, Schnurrhaare, ein bestimmtes Fellmuster. Du würdest schnell merken, dass das unmöglich sauber gelingt. Was ist mit einer Katze von hinten? Mit einer haarlosen Katze? Mit schlechtem Licht? Für jede Ausnahme müsstest Du eine neue Regel nachschieben, und irgendwann bricht das ganze Regelwerk unter seinem eigenen Gewicht zusammen.
Machine Learning dreht diesen Ansatz um. Statt Regeln zu schreiben, zeige ich dem System tausende Beispielbilder, jeweils mit der Information “hier ist eine Katze” oder “hier ist keine”. Der Algorithmus sucht dann selbst nach den Mustern, die Katzenbilder von anderen unterscheiden. Das Ergebnis nennen wir ein Modell. Dieses Modell ist am Ende nichts anderes als eine Sammlung gelernter Zusammenhänge, mit denen es auch neue, nie gesehene Bilder einordnen kann.
Der Kern des Unterschieds lässt sich in einem Bild fassen: Bei der klassischen Programmierung gibst Du Regeln und Daten hinein und bekommst Antworten heraus. Beim maschinellen Lernen gibst Du Daten und Antworten hinein und bekommst die Regeln heraus. Genau diese Regeln stecken danach im trainierten Modell. Machine Learning ist übrigens ein Teilgebiet der künstlichen Intelligenz, nicht das Ganze. Wenn Du den größeren Rahmen sehen willst, lies vorher am besten Was ist künstliche Intelligenz?, dort ordne ich die Begriffe ein.
Die drei Paradigmen des Lernens
Nicht jedes Lernproblem sieht gleich aus, deshalb unterscheiden wir drei große Familien von Lernverfahren. Welche davon passt, hängt vor allem davon ab, was Du an Daten und an Feedback zur Verfügung hast.
Überwachtes Lernen
Das überwachte Lernen ist der Fall mit dem Katzenbeispiel von eben. Hier bekommt das Modell zu jedem Trainingsbeispiel die richtige Antwort mitgeliefert, die wir Label nennen. Das System lernt also aus Paaren von Eingabe und gewünschter Ausgabe. Es ist “überwacht”, weil während des Trainings jemand die korrekten Antworten kennt und dem Modell zeigt, wie richtig oder falsch es gerade liegt. Das ist der mit Abstand häufigste Fall in der Praxis, weil viele echte Aufgaben genau so aussehen: Spam oder kein Spam, kreditwürdig oder nicht, Preis eines Hauses. Voraussetzung ist allerdings, dass Du beschriftete Daten hast, und das Beschriften kostet oft viel Zeit und Geld.
Unüberwachtes Lernen
Beim unüberwachten Lernen gibt es keine Labels. Ich werfe dem Modell nur die rohen Daten hin und lasse es selbst Struktur darin finden. Ein typisches Beispiel ist das Clustering: Das System gruppiert ähnliche Datenpunkte, ohne dass ihm jemand gesagt hätte, welche Gruppen es überhaupt gibt. Ein Onlineshop könnte so automatisch Kundengruppen mit ähnlichem Kaufverhalten entdecken. Auch das Reduzieren vieler Merkmale auf wenige aussagekräftige gehört hierher. Der Reiz ist, dass Du keine mühsam beschrifteten Daten brauchst. Der Preis ist, dass die Ergebnisse schwerer zu bewerten sind, weil es keine “richtige” Antwort gibt, an der Du messen könntest.
Bestärkendes Lernen
Das bestärkende Lernen funktioniert noch einmal anders. Hier lernt ein sogenannter Agent durch Ausprobieren in einer Umgebung. Für gute Aktionen bekommt er eine Belohnung, für schlechte eine Bestrafung oder keine Belohnung. Über viele Versuche hinweg entwickelt der Agent eine Strategie, die die Belohnung auf lange Sicht maximiert. So haben Systeme gelernt, komplexe Brettspiele zu meistern oder Roboter zu steuern. Der Clou ist, dass niemand vorher die richtige Zugfolge kennt. Der Agent findet sie selbst, indem er die Konsequenzen seiner Handlungen erfährt. Bestärkendes Lernen ist mächtig, aber auch aufwendig, weil es sehr viele Durchläufe braucht.
| Paradigma | Was steckt in den Daten | Typische Aufgabe |
|---|---|---|
| Überwachtes Lernen | Eingaben mit passenden Labels | Spam-Erkennung, Preisvorhersage |
| Unüberwachtes Lernen | Nur Eingaben, keine Labels | Kundengruppen finden, Struktur entdecken |
| Bestärkendes Lernen | Belohnung statt Label | Spiele meistern, Roboter steuern |
Klassifikation und Regression
Innerhalb des überwachten Lernens begegnen Dir immer wieder zwei Aufgabentypen, die Du sauber auseinanderhalten solltest, weil das im Quiz gerne verwechselt wird. Der Unterschied liegt darin, was das Modell am Ende ausgibt.
Bei der Klassifikation ordnet das Modell einer Eingabe eine von mehreren festen Kategorien zu. Die Ausgabe ist diskret, also aus einer begrenzten Menge möglicher Klassen. Ist diese E-Mail Spam oder kein Spam? Zeigt das Röntgenbild einen Bruch oder keinen? Gehört diese Blüte zu Art A, B oder C? In allen Fällen fällt eine Entscheidung zwischen abgegrenzten Töpfen.
Bei der Regression sagt das Modell dagegen einen kontinuierlichen Zahlenwert voraus. Die Ausgabe kann prinzipiell jeden Wert in einem Bereich annehmen. Wie teuer wird dieses Haus? Wie viel Umsatz erwarten wir nächsten Monat? Wie warm wird es morgen? Es geht nicht mehr um “welche Schublade”, sondern um “welche Zahl”.
Die Faustregel, die ich mir gemerkt habe: Klassifikation beantwortet ein “welche Art”, Regression ein “wie viel”. Manchmal lassen sich Probleme sogar in beide Richtungen formulieren. Statt eine genaue Temperatur vorherzusagen (Regression) könntest Du auch nur in “kalt”, “mild” und “heiss” einteilen (Klassifikation). Welche Variante besser ist, hängt davon ab, was Du mit dem Ergebnis anfangen willst.
Die Grundbegriffe, die Du kennen musst
Bevor wir zum Ablauf kommen, brauchst Du ein kleines Vokabular. Diese vier Begriffe tauchen in jedem ML-Projekt auf, und wenn sie sitzen, verstehst Du die meisten Erklärungen mühelos.
Ein Feature, auf Deutsch Merkmal, ist eine einzelne messbare Eigenschaft eines Datenpunkts. Beim Hauspreis wären das etwa Wohnfläche, Baujahr, Zimmerzahl und Lage. Jedes Feature ist eine Spalte in Deiner Datentabelle und liefert dem Modell einen Hinweis.
Das Label ist die Zielgröße, die das Modell vorhersagen soll. Beim Hauspreis ist das Label der Preis. Beim Katzenbild ist es die Information “Katze” oder “keine Katze”. Labels gibt es nur beim überwachten Lernen, das ist genau der Unterschied, den wir oben schon gezogen haben.
Und dann teilen wir unsere Daten in drei Töpfe auf. Die Trainingsdaten sind der größte Teil, mit ihnen lernt das Modell. Die Validierungsdaten nutze ich während der Entwicklung, um verschiedene Einstellungen zu vergleichen und das beste Modell auszuwählen. Die Testdaten hebe ich mir ganz zum Schluss auf. Sie hat das Modell nie gesehen, und nur an ihnen messe ich ehrlich, wie gut es auf wirklich neuen Fällen abschneidet. Diese Trennung ist heilig. Wer mit Testdaten trainiert, betrügt sich selbst und bekommt Zahlen, die in der echten Anwendung nicht halten.
Wie ein ML-Projekt tatsächlich abläuft
In Vorträgen wirkt Machine Learning oft wie Magie, in der Praxis ist es vor allem Handwerk. Ein typisches Projekt durchläuft mehrere Schritte, und der größte Teil der Arbeit liegt nicht dort, wo die meisten es vermuten.
Zuerst sammle ich Daten. Ohne genug relevante Beispiele geht gar nichts, und schon hier entscheidet sich viel, denn was ich nicht erhebe, kann das Modell später nicht lernen.
Dann kommt die Aufbereitung, und die frisst in echten Projekten oft den größten Zeitanteil. Ich säubere fehlerhafte Einträge, ergänze oder entferne Lücken, bringe alles in ein einheitliches Format und wähle die Features aus, die überhaupt sinnvoll sind. Dieser unglamouröse Schritt ist meiner Erfahrung nach der wichtigste überhaupt.
Erst danach folgt das eigentliche Training. Hier lernt der Algorithmus aus den Trainingsdaten die Muster und stellt seine internen Parameter so ein, dass seine Vorhersagen möglichst gut zu den bekannten Labels passen.
Anschließend evaluiere ich das Modell auf den zurückgehaltenen Testdaten. Erst jetzt sehe ich, ob es wirklich etwas gelernt hat oder nur die Trainingsbeispiele auswendig kennt. Passt das Ergebnis nicht, gehe ich zurück, ändere Features, hole mehr Daten oder probiere ein anderes Verfahren. Diese Schleife dreht sich oft mehrfach.
Ist das Modell gut genug, setze ich es ein, also lasse es in einer Anwendung echte Vorhersagen treffen. Und selbst dann ist die Arbeit nicht vorbei: Die Welt verändert sich, neue Daten kommen hinzu, und ein Modell kann mit der Zeit veralten. Deshalb beobachte ich es weiter und trainiere es bei Bedarf neu.
Warum die Datenqualität über allem steht
Es gibt einen Spruch in meinem Fach, den ich für den wichtigsten überhaupt halte: “Garbage in, garbage out”. Übersetzt heisst das, dass ein Modell niemals besser sein kann als die Daten, aus denen es lernt. Der ausgefeilteste Algorithmus rettet keine schlechten Daten. Umgekehrt bringt Dich sauberes, repräsentatives Datenmaterial oft schon mit einem einfachen Verfahren weit.
Besonders heikel wird es beim Thema Bias, also Verzerrung. Wenn meine Trainingsdaten die Wirklichkeit einseitig abbilden, lernt das Modell diese Einseitigkeit mit und gibt sie weiter. Trainiere ich ein System zur Bewerberauswahl mit Daten aus einer Vergangenheit, in der bestimmte Gruppen benachteiligt wurden, dann übernimmt das Modell diese Benachteiligung, ohne dass ich es bemerke. Es rechnet ja nur nach, was in den Daten steckt. Deshalb gehört zu jedem ernsthaften Projekt die Frage: Wen oder was bilden meine Daten eigentlich ab, und wer fehlt darin?
Ein zweiter Fallstrick ist das sogenannte Overfitting, die Überanpassung. Dabei lernt das Modell die Trainingsdaten so genau auswendig, dass es auf neuen Daten schlecht abschneidet. Es hat quasi die Antworten gepaukt statt das Prinzip verstanden. Genau deshalb ist die Trennung von Trainings- und Testdaten so entscheidend, denn nur an den Testdaten fällt Overfitting auf. Die Details dazu, warum das gerade bei größeren Modellen so leicht passiert und wie man gegensteuert, hebe ich mir für den Ratgeber Wie neuronale Netze lernen auf, dort passt es besser hinein.
So festigst Du das Wissen
Wenn Du bis hierher gelesen hast, hast Du die Bausteine beisammen: Machine Learning leitet Regeln aus Daten ab statt sie fest zu programmieren. Es gibt überwachtes, unüberwachtes und bestärkendes Lernen. Klassifikation liefert Kategorien, Regression liefert Zahlen. Features sind die Eingaben, Labels das Ziel, und die Aufteilung in Trainings-, Validierungs- und Testdaten sorgt für ehrliche Ergebnisse. Über allem steht die Datenqualität.
Mein Tipp aus der Praxis: Diese Begriffe sitzen erst dann wirklich, wenn Du sie einmal aktiv abgerufen hast, nicht nur passiv gelesen. Genau dafür ist das Quiz auf ki-lernen.net gemacht. Die Fragen zum Machine Learning greifen exakt die Unterscheidungen auf, die ich Dir hier gezeigt habe: überwacht gegen unüberwacht, Klassifikation gegen Regression, Feature gegen Label. Probier es aus, und Du wirst schnell merken, welche Stellen schon fest sitzen und wo sich ein zweiter Blick lohnt. Genau so habe auch ich am Anfang gelernt.
Quellen
- https://developers.google.com/machine-learning/glossary
- https://developers.google.com/machine-learning/crash-course
- https://scikit-learn.org/stable/tutorial/basic/tutorial.html
Korrekturen oder bessere Quellen? Schreib an info@akara-solutions.de. Änderungen landen mit Datum auf /korrekturen.
