Regression
Regressionsmodelle werden trainiert, um numerische Bezeichnungswerte basierend auf Trainingsdaten vorherzusagen, die sowohl Features als auch bekannte Bezeichnungen enthalten. Der Prozess zum Trainieren eines Regressionsmodells (oder eines überwachten Machine Learning-Modells) umfasst mehrere Iterationen, bei denen Sie einen geeigneten Algorithmus (in der Regel mit parametrisierten Einstellungen) verwenden, um ein Modell zu trainieren, die Vorhersagen des Modells auszuwerten und das Modell zu verfeinern, indem Sie den Trainingsprozess mit verschiedenen Algorithmen und Parametern wiederholen, bis Sie eine akzeptable Vorhersagegenauigkeit erreichen.
Das Diagramm zeigt vier Schlüsselelemente des Trainingsprozesses für überwachte Machine Learning-Modelle:
- Teilen Sie die Trainingsdaten (nach dem Zufallsprinzip) auf, um ein Dataset zu erstellen, mit dem das Modell trainiert werden soll, während Sie eine Teilmenge der Daten zurückhalten, die Sie zum Überprüfen des trainierten Modells verwenden.
- Verwenden Sie einen Algorithmus, um die Trainingsdaten an ein Modell anzupassen. Verwenden Sie im Fall eines Regressionsmodells einen Regressionsalgorithmus, z. B. die lineare Regression.
- Verwenden Sie die Validierungsdaten, die Sie zurückgehalten haben, um das Modell zu testen, indem Sie Bezeichnungen für die Features vorhersagen.
- Vergleichen Sie die bekannten tatsächlichen Bezeichnungen im Validierungsdataset mit den Bezeichnungen, die das Modell vorhergesagt hat. Aggregieren Sie dann die Unterschiede zwischen den vorhergesagten und tatsächlichen Bezeichnungen, um eine Metrik zu berechnen, die angibt, wie genau das Modell Vorhersagen für die Validierungsdaten getroffen hat.
Nach jedem Trainieren, Überprüfen und Auswerten können Sie den Prozess mit verschiedenen Algorithmen und Parametern wiederholen, bis eine akzeptable Auswertungsmetrik erreicht ist.
Beispiel: Regression
Untersuchen wir die Regression anhand eines vereinfachten Beispiels, in dem wir ein Modell trainieren, um eine numerische Bezeichnung (y) basierend auf einem einzelnen Featurewert (x) vorherzusagen. Die meisten realen Szenarien umfassen mehrere Featurewerte, was zu einer gewissen Komplexität führt. Das Prinzip ist jedoch das gleiche.
In unserem Beispiel bleiben wir bei dem Verkauf von Eiscreme, was wir zuvor erläutert haben. Für unser Feature berücksichtigen wir die Temperatur (angenommen, der Wert entspricht der maximalen Temperatur an einem bestimmten Tag). Die Bezeichnung, für das wir ein Modell zur Vorhersage trainieren wollen, ist die Anzahl der an diesem Tag verkauften Eiscreme. Wir beginnen mit ein paar historischen Daten, die Datensätze zu Tagestemperaturen (x) und Eisverkäufen (y) enthalten:
Temperatur (x) | Eisverkäufe (y) |
51 | 1 |
52 | 0 |
67 | 14 |
65 | 14 |
70 | 23 |
69 | 20 |
72 | 23 |
75 | 26 |
73 | 22 |
81 | 30 |
78 | 26 |
83 | 36 |
Trainieren eines Regressionsmodells
Zunächst teilen wir die Daten auf und verwenden eine Teilmenge davon, um ein Modell zu trainieren. Hier ist das Trainingsdataset:
Temperatur (x) | Eisverkäufe (y) |
---|---|
51 | 1 |
65 | 14 |
69 | 20 |
72 | 23 |
75 | 26 |
81 | 30 |
Um einen Überblick darüber zu erhalten, wie die Werte x und y zueinander in Beziehung stehen, können wir sie wie folgt als Koordinaten entlang von zwei Achsen darstellen:
Jetzt können wir einen Algorithmus auf unsere Trainingsdaten anwenden und ihn an eine Funktion anpassen, die einen Vorgang auf x anwendet, um y zu berechnen. Dieser Algorithmus ist eine lineare Regression, bei der eine Funktion abgeleitet wird, die eine Gerade durch die Schnittmenge der Werte x und y erzeugt und dabei den durchschnittlichen Abstand zwischen der Geraden und den Punkten wie folgt minimiert:
Die Gerade ist eine visuelle Darstellung der Funktion, in der die Steigung der Linie beschreibt, wie der Wert von y für einen bestimmten Wert von x berechnet wird. Die Gerade schneidet die x-Achse bei 50. Wenn x also 50 ist, ist y gleich 0. Wie Sie an den Achsenmarkierungen im Diagramm sehen können, fällt die Gerade so ab, dass jede Erhöhung von 5 entlang der x-Achse zu einem Anstieg von 5 auf der y-Achse führt. Wenn x also 55 ist, ist y gleich 5; wenn x gleich 60 ist, y gleich 10 usw. Um einen Wert für y für einen bestimmten Wert von x zu berechnen, subtrahiert die Funktion einfach 50. Mit anderen Worten kann die Funktion wie folgt ausgedrückt werden:
f(x) = x-50
Sie können diese Funktion verwenden, um die Anzahl der verkauften Eiscreme an einem Tag mit einer bestimmten Temperatur vorherzusagen. Angenommen, die Wettervorhersage sagt uns, dass es morgen 77 Grad Fahrenheit sein wird. Wir können unser Modell anwenden, um 77-50 zu berechnen und vorherzusagen, dass wir morgen 27 Eiscremes verkaufen werden.
Aber wie genau ist unser Modell?
Auswerten eines Regressionsmodells
Um das Modell zu überprüfen und auszuwerten, wie gut es Vorhersagen trifft, haben wir einige Daten zurückgehalten, für die wir den Bezeichnungswert (y) kennen. Hier sind die Daten, die wir zurückgehalten haben:
Temperatur (x) | Eisverkäufe (y) |
---|---|
52 | 0 |
67 | 14 |
70 | 23 |
73 | 22 |
78 | 26 |
83 | 36 |
Wir können das Modell verwenden, um die Bezeichnung für jede der Beobachtungen in diesem Dataset basierend auf dem Featurewert (x) vorherzusagen. Danach vergleichen wir dann die vorhergesagte Bezeichnung (ŷ) mit dem bekannten tatsächlichen Bezeichnungswert (y).
Die Verwendung des zuvor trainierten Modells, das die Funktion f(x) = x-50 kapselt, ergibt die folgenden Vorhersagen:
Temperatur (x) | Tatsächliche Verkäufe (y) | Vorhergesagte Verkäufe (ŷ) |
---|---|---|
52 | 0 | 2 |
67 | 14 | 17 |
70 | 23 | 20 |
73 | 22 | 23 |
78 | 26 | 28 |
83 | 36 | 33 |
Wir können sowohl die vorhergesagten als auch die tatsächlichen Bezeichnungen mit den Featurewerten wie folgt darstellen:
Die vorhergesagten Bezeichnungen werden vom Modell berechnet, daher befinden sie sich in der Funktionszeile. Es gibt jedoch eine gewisse Varianz zwischen den ŷ-Werten, die von der Funktion berechnet werden, und den tatsächlichen y-Werten aus dem Validierungsdataset. Diese wird in dem Diagramm als Gerade zwischen den Werten ŷ und y angegeben, die angibt, wie weit die Vorhersage vom tatsächlichen Wert entfernt war.
Regressionsauswertungsmetriken
Basierend auf den Unterschieden zwischen den vorhergesagten und tatsächlichen Werten können Sie einige gängige Metriken berechnen, die zum Auswerten eines Regressionsmodells verwendet werden.
Mittlere absolute Abweichung (Mean Absolute Error, MAE)
Die Varianz in diesem Beispiel gibt an, um wie viele Eiscremes jede Vorhersage falsch war. Es spielt keine Rolle, ob die Vorhersage über oder unter dem tatsächlichen Wert lag (so zeigen z. B. -3 und +3 beide eine Varianz von 3 an). Diese Metrik wird als absolute Abweichung für jede Vorhersage bezeichnet und kann für den gesamten Validierungssatz als mittlere absolute Abweichung (Mean Absolute Error, MAE) zusammengefasst werden.
Im Beispiel mit der Eiscreme beträgt der Mittelwert (Durchschnitt) der absoluten Abweichungen (2, 3, 3, 1, 2 und 3) 2,33.
Mittlere quadratische Abweichung (MQA)
Die Metrik der mittleren absoluten Abweichung berücksichtigt alle Abweichungen zwischen vorhergesagten und tatsächlichen Bezeichnungen gleichermaßen. Es kann jedoch besser sein, ein Modell zu haben, das durchweg um einen kleinen Betrag falsch ist, als eines, das weniger, aber Abweichungen ergibt. Eine Möglichkeit, eine Metrik zu erzeugen, die größere Abweichungen „verstärkt“, besteht darin, die einzelnen Abweichungen zu quadrieren und den Mittelwert der quadrierten Werte zu berechnen. Diese Metrik wird als mittlere quadratische Abweichung (MQA) bezeichnet.
In unserem Beispiel mit der Eiscreme ist der Mittelwert der quadratischen absoluten Werte (4, 9, 9, 1, 4 und 9) 6.
Mittlere quadratische Gesamtabweichung (Root Mean Squared Error, RMSE)
Die mittlere quadratische Abweichung hilft dabei, die Größe von Abweichungen zu berücksichtigen. Da die Abweichungen quadratisch dargestellt werden, stellt die resultierende Metrik nicht mehr die durch die Bezeichnung gemessene Menge dar. Mit anderen Worten: Wir können sagen, dass die MQA unseres Modells 6 ist, jedoch misst das nicht die Genauigkeit in Bezug auf die Anzahl von Eiscreme, die falsch vorhergesagt wurden. 6 ist nur ein numerischer Wert, der den Abweichungsgrad in den Validierungsvorhersagen angibt.
Wenn wir die Abweichung in Bezug auf die Anzahl der Eiscremes messen möchten, müssen wir die Quadratwurzel der MQA berechnen. Dadurch entsteht eine Metrik mit dem Namen Mittlere quadratische Gesamtabweichung. In diesem Fall ist das √6, was 2,45 entspricht (Eiscreme).
Bestimmtheitsmaß (R2)
Alle bisherigen Metriken vergleichen die Diskrepanz zwischen den vorhergesagten und tatsächlichen Werten, um das Modell auszuwerten. In der Realität gibt es jedoch eine natürliche zufällige Abweichung beim täglichen Verkauf von Eiscreme, die das Modell berücksichtigt. In einem linearen Regressionsmodell passt der Trainingsalgorithmus eine Gerade an, die die mittlere Varianz zwischen der Funktion und den bekannten Bezeichnungswerten minimiert. Das Bestimmtheitsmaß (häufiger als R2 oder R-Quadrat bezeichnet) ist eine Metrik, die den Anteil der Varianz in den Validierungsergebnissen misst, der durch das Modell erklärt werden kann, im Gegensatz zu einem anomalen Aspekt der Validierungsdaten (z. B. ein Tag mit einer höchst ungewöhnlichen Anzahl von Eisverkäufen aufgrund eines lokalen Festes).
Die Berechnung für R2 ist komplexer als bei den vorherigen Metriken. Sie vergleicht die Summe der quadratischen Unterschiede zwischen vorhergesagten und tatsächlichen Bezeichnungen mit der Summe der quadratischen Unterschiede zwischen den tatsächlichen Bezeichnungswerten und dem Mittelwert der tatsächlichen Bezeichnungswerte, wie folgt:
R2 = 1- ∑(y-ŷ)2 ÷ ∑(y-ȳ)2
Dies sieht zunächst sehr kompliziert aus. Die meisten Machine Learning-Tools können die Metrik jedoch für Sie berechnen. Wichtig ist, dass das Ergebnis ein Wert zwischen 0 und 1 ist, der den vom Modell erklärten Varianzanteil beschreibt. Vereinfacht ausgedrückt: Je näher dieser Wert bei 1 liegt, desto besser passt das Modell zu den Validierungsdaten. Im Fall des Regressionsmodells für Eiscreme ist die aus den Validierungsdaten berechneteR20,95.
Iteratives Training
Die oben beschriebenen Metriken werden häufig zum Auswerten eines Regressionsmodells verwendet. In den meisten realen Szenarien verwendet ein Datenwissenschaftler einen iterativen Prozess, um ein Modell wiederholt zu trainieren und auszuwerten, wobei folgendes variiert:
- Featureauswahl und Vorbereitung (Auswahl der Features, die in das Modell einbezogen werden sollen, und die auf sie angewendeten Berechnungen, um eine bessere Anpassung sicherzustellen).
- Algorithmusauswahl (wir haben die lineare Regression im vorherigen Beispiel untersucht, aber es gibt viele andere Regressionsalgorithmen)
- Algorithmusparameter (numerische Einstellungen zum Steuern des Algorithmusverhaltens, genauer als Hyperparameter bezeichnet, um sie von den Parametern x und y zu unterscheiden).
Nach mehreren Iterationen wird das Modell ausgewählt, das zu der besten Auswertungsmetrik führt, die für das jeweilige Szenario akzeptabel ist.