Lineare Regression im Machine Learning: Ein Einstieg für Anfänger
25.01.2024
Zusammenfassung
Eine Einführung in die lineare Regression: Modelldefinition, Kostenfunktion und Gradientenabstieg, erklärt am einfachen Beispiel von Schülern und ihren Lernstunden.
Was ist lineare Regression und warum sollten wir uns dafür interessieren?
Lineare Regression ist eine einfache Form des Supervised Learning aus dem Bereich Machine Learning und Datenverarbeitung. Das Ziel ist es, lineare Zusammenhänge zwischen Ein- und Ausgabe von Daten zu finden und auf Basis dieses linearen Modells die wahrscheinlichste Ausgabe für eine neue Eingabe vorherzusagen. Die einfache Regression zeigt einige der grundlegendsten Prinzipien im Machine Learning und ist ein guter Einstieg in dieses Gebiet.
Beispielproblem
Wir haben eine Schulklasse mit 7 Schülern, von denen jeder x Stunden für die letzte Klassenarbeit gelernt und dafür die Note y bekommen hat.
Die Frage ist jetzt: Welche Note wird Schüler 7 wahrscheinlich bekommen, wenn er 3 Stunden gelernt hat? Vorhersagen wie diese lassen sich mit linearer Regression treffen.
Formel und Training
Modelldefinition
Um unsere lineare Formel aufzubauen, brauchen wir etwas Mathe. Zuerst definieren wir die typische Formel einer Geraden: y = w·x + b. Dabei ist x die Eingabe, y die Ausgabe, w die Steigung bzw. das Gewicht und b der y-Achsenabschnitt bzw. der Bias. Diese Formel nennen wir Modell. Um mit der Optimierung des Modells zu starten, brauchen wir Startwerte für w und b. Üblicherweise nimmt man für beide den Wert 0.
Kostenfunktion
Anschließend definieren wir die Kostenfunktion J:
Die Kostenfunktion berechnet den Fehler des Modells. Der Fehler ist die Summe aller Abweichungen zwischen den vorhergesagten Noten des Modells und den tatsächlichen Noten der Schüler. In unserem Beispiel rechnen wir wie folgt:
Das Ergebnis (der Fehler) liegt bei 4,17, also recht hoch, da wir noch nicht optimiert haben.
Training und Optimierung
Für die Optimierung unseres Modells brauchen wir einen Algorithmus namens Gradientenabstieg. Mit diesem Algorithmus passen wir die Variablen w und b an. Das Training ist ein Prozess aus vielen Iterationen, und in jeder Iteration verbessert der Gradientenabstieg die Variablen ein Stück weit.
Auf den ersten Blick wirkt die Formel für den Gradientenabstieg kompliziert, wird aber klarer, sobald man sie zerlegt. Wichtig ist, dass wir zwei Werte suchen: die besten Werte für Gewicht (w) und Bias (b) im Modell. Beide Berechnungen sollten gleich behandelt werden, damit die Ergebnisse stimmen.
Schauen wir uns zuerst an, wie wir den besten Wert für das Gewicht (w) finden:
Mit dem aktuellen Gewicht starten: Wir beginnen mit unserer aktuellen Schätzung für das Gewicht, nennen wir sie „altes w".
Gewicht anpassen: Um ein besseres Gewicht zu finden, passen wir „altes w" leicht an, indem wir etwas davon abziehen. Dieses „Etwas" setzt sich aus zwei Faktoren zusammen: der Lernrate (α) und der Ableitung der Kostenfunktion.
Lernrate (α): Die Lernrate ist die Schrittweite. In unserem Beispiel liegt sie bei 0,01, wir machen also kleine Schritte. So bewegen wir uns vorsichtig und überspringen den besten Wert nicht.
Ableitung der Kostenfunktion: Dieser Teil zeigt uns die Richtung, in die wir gehen müssen, um den Fehler zu verringern. Ist die Ableitung positiv, müssen wir w verringern, um den Fehler zu reduzieren. Ist sie negativ, müssen wir w erhöhen.
Und der Bias (b)? Der Ablauf ist analog:
Bias anpassen: Wie beim Gewicht nehmen wir unsere aktuelle Schätzung „altes b" und ändern sie leicht.
Gleiche Lernrate verwenden: Wir nutzen dieselbe Lernrate (0,01 in unserem Beispiel), um die Schrittweite zu bestimmen.
Ableitung anwenden: Wir schauen wieder auf die Ableitung der Kostenfunktion, nutzen sie diesmal aber, um den Bias anzupassen.
Zusammengefasst: Wir passen Gewicht und Bias in kleinen Schritten an, wobei die Lernrate die Schrittgröße steuert und die Ableitung der Kostenfunktion die Richtung vorgibt. Dieser Vorgang wird wiederholt, bis wir die Werte für Gewicht und Bias gefunden haben, die unsere Vorhersagen so genau wie möglich machen. Diese Werte können wir dann in das Modell vom Anfang einsetzen, y = w·x + b, und mit den berechneten Werten von w und b eine Vorhersage für die Ausgabe y auf Basis der Eingabe x treffen.
Fazit
Das war einiges an Mathe. Zuerst haben wir unser Modell mit der Formel y = w·x + b definiert. Dann haben wir die Kostenfunktion aufgestellt und den Fehler berechnet. Danach sind wir zum Training übergegangen, haben die Lernrate festgelegt und die Formel zur Optimierung von w und b definiert.
Das ist mein allererster Blogpost. Ich hoffe, das Lesen hat dir Spaß gemacht.