In diesem Kapitel werden wir einen der einfachsten Algorithmen des maschinellen Lernens verstehen und ihn mithilfe von Numpy von Grund auf in Python erstellen.
- Regression: zur Vorhersage kontinuierlicher Variablen, z. B. Temperatur usw
- Klassifizierung: zur Vorhersage diskreter Variablen, z. B. Hund/Katze.
Bei der linearen Regression stellen wir eine lineare Beziehung zwischen den Eingabevariablen (X) und einer einzelnen Ausgabevariablen (Y) her. Wenn die Eingabe (X) eine einzelne Variable ist, wird dieses Modell als einfache lineare Regression bezeichnet, und wenn mehrere Eingabevariablen (X) vorhanden sind, wird es als a number of lineare Regression bezeichnet.
Eine lineare Gleichung ist immer ein Polynom vom Grad 1 (zum Beispiel x+2y+3=0). Im zweidimensionalen Fall bilden sie immer Linien; in anderen Dimensionen könnten sie auch Ebenen, Punkte oder Hyperebenen bilden. Die „Type“ ist immer vollkommen gerade, ohne jegliche Rundungen. Deshalb nennen wir sie lineare Gleichungen.
EINFACHE LINEARE REGRESSION
Modelldarstellung
In diesem Drawback haben wir eine Eingabevariable – X und eine Ausgabevariable – Y. Und wir wollen eine lineare Beziehung zwischen diesen Variablen aufbauen. Hier wird die Eingabevariable als unabhängige Variable und die Ausgabevariable als abhängige Variable bezeichnet. Wir können diese lineare Beziehung wie folgt definieren.
Y = β0 + β1 * X
β1 wird als Steigung oder Koeffizient bezeichnet und β0 wird als Achsenabschnitts-/Bias-Koeffizient bezeichnet. β0 verleiht diesem Modell einen höheren Freiheitsgrad. Dies ähnelt der Liniengleichung.
y = m * x + c
mit m = β1 (Steigung) und c = β0 (Achsenabschnitt). In diesem einfachen linearen Regressionsmodell möchten wir additionally die beste Anpassungslinie für unseren Datensatz finden, eine Linie zwischen X und Y, die die Beziehung zwischen X und Y schätzt.
Aber wie finden wir diese Koeffizienten? Das ist der Lernvorgang. Diese können wir mithilfe verschiedener Optimierungsansätze finden.
Unter Optimierung versteht man die Aufgabe der Minimierung/Maximierung einer durch
Arten von Optimierungsalgorithmen:
- Einstufiger Optimierungsalgorithmus. (z. B. gewöhnlicher Kleinste-Quadrat-Schätzer)
- Optimierungsalgorithmus, der iterativer Natur ist und unabhängig von den Initialisierungsparametern wie dem Gradientenabstieg zu einer akzeptablen Lösung konvergiert.
In unserem nächsten Kapitel zur multivariaten linearen Regression werden wir den gewöhnlichen Kleinste-Quadrat-Schätzer als einfache lineare Regression und den Gradientenabstiegsansatz verwenden.
Gewöhnliche Methode der kleinsten Quadrate
Zu Beginn dieses Beitrags haben wir besprochen, dass wir die Beziehung zwischen X (Temp) und Y (Eisverkauf) einer Linie annähern werden.
Lassen Sie uns ein paar zufällige Datenpunkte erstellen. Wenn wir diese Streupunkte im 2D-Raum darstellen, erhalten wir etwa das folgende Bild.
Hier beziehen wir uns auf SSr = Summe des quadrierten Restfehlers
Sie können 3 Linien im Bild beobachten. Die blaue Linie ist das beste Modell, da sie den Datenpunkten am nächsten liegt. Ein gutes Modell wird immer den geringsten Fehler aufweisen. Wir können diese Zeile finden, indem wir den Fehler reduzieren. Der Fehler jedes Punktes ist der Abstand zwischen der Linie und diesem Punkt. Dies wird wie folgt veranschaulicht.
Und der Gesamtfehler dieses Modells ist die Summe aller Fehler jedes Punktes. dh
Sie haben vielleicht bemerkt, dass wir alle Abstände quadrieren. Dies liegt daran, dass einige Punkte über der Linie und andere unter der Linie liegen. Wir können den Fehler im Modell minimieren, indem wir SSr minimieren. Und nach der Mathematik zur Fehlerminimierung erhalten wir:
x̄ ist der Mittelwert der Eingangsvariablen X und ȳ ist der Mittelwert der Ausgangsvariablen Y.
Jetzt haben wir das Modell. Die vollständige Ableitung des OLS Estimator finden Sie hier. Jetzt werden wir dieses Modell in Python implementieren.
Bewertung des Modells
Lassen Sie uns anhand von zwei Metriken überprüfen, wie intestine unser Modell warfare:
RMSE-Rating:
Der mittlere quadrierte Fehler ist die Quadratwurzel der Summe aller Fehler dividiert durch die Anzahl der Werte, oder mathematisch gesehen:
Hier ist ŷi der i-te vorhergesagte Ausgabewert. Jetzt werden wir RMSE finden.
R2-Punktzahl:
Jetzt finden wir den R2-Rating. R2 ist wie folgt definiert:
SSt ist die Gesamtsumme der Quadrate und SSr ist die Gesamtsumme der Quadrate der Residuen.
Der R2-Rating liegt normalerweise zwischen 0 und 1. Er wird auch negativ, wenn das Modell völlig falsch ist.
Angepasster R2-Rating:
Das angepasste R-Quadrat ist eine modifizierte Model des R-Quadrats, die an die Anzahl der Prädiktoren im Modell angepasst wurde. Das angepasste R-Quadrat erhöht sich nur, wenn der neue Time period das Modell stärker verbessert, als es zufällig zu erwarten wäre. Sie nimmt ab, wenn ein Prädiktor das Modell weniger verbessert als zufällig erwartet. Das angepasste R-Quadrat kann negativ sein, ist es aber normalerweise nicht. Es ist immer niedriger als das R-Quadrat.
Sklearn ist eine Sammlung verschiedener beliebter Klassifizierungs-, Regressions- und Clustering-Algorithmen, darunter Assist Vector Machines, Random Forests, Gradient Boosting, Okay-Means und DBSCAN.