Einführung Lineare Regression vs. Logistische Regression

Einführung Lineare Regression vs. Logistische Regression
Obwohl maschinelles Lernen nicht neu ist, gibt es jetzt mehr Daten als je zuvor und tragen zu seiner jüngsten Popularität bei. Wir werden uns zwei beliebte Algorithmen für maschinelles Lernen ansehen: lineare Regression und logistische Regression mit Mathematik und Implementierung.

Was ist lineare Regression?

Lineare Regression ist ein einfacher, aber effektiver beaufsichtigter Algorithmus für maschinelles Lernen, um kontinuierliche Variablen vorherzusagen. Lineare Regression versucht zu bestimmen, wie die Eingabevariable (erklärende Variable) von der Ausgangsvariablen (Antwortvariable) variiert. Viele erweiterte überwachte Algorithmen für maschinelles Lernen basieren auf linearen Regressionskonzepten. Lineare Regression wird häufig bei Problemen mit maschinellem Lernen verwendet.

Im Folgenden finden Sie die Hauptkomponenten einer einfachen linearen Regression: kontinuierliche Eingabevariable, kontinuierliche Antwortvariable und die linearen Regressionsannahmen werden erfüllt.

Annahmen der linearen Regression:

  1. Eingabevariablen (x) haben eine lineare Beziehung zur Zielvariablen (y). Auch die Eingangsvariablenkoeffizienten sollten nicht miteinander korreliert werden.
  2. Der Fehlerterm ist gleich rund 0 verteilt, so dass der erwartete Wert des Fehlerbegriffs e (e) = 0 beträgt.

Wie lineare Regression funktioniert?

Ein lineares Regressionsmodell versucht, eine Linie anzupassen, die die bedeutendste Anzahl von Punkten durchläuft und gleichzeitig die quadratische Entfernung (Kostenfunktion) der Punkte zu den angepassten Linienwerten minimiert.

Infolgedessen wird die Kostenfunktion letztendlich minimiert. Die Kostenfunktion für die lineare Regression ist normalerweise Mittlere quadratische Fehler:

Die Regressionsgleichung ist geschrieben als y = β1x + βÖ.

Der Begriff C repräsentiert den Abschnitt, m repräsentiert die Steigung der Regressionslinie, x die Eingabevariable und y den vorhergesagten Wert der Antwortvariablen repräsentiert.

Wir wissen aus der grundlegenden Mathematik, dass eine gerade Linie durch zwei Parameter identifiziert wird: Steigung und Abschnitt. Der lineare Regressionsalgorithmus wählt einige anfängliche Parameter aus und aktualisiert sie kontinuierlich, um die Standardabweichung zu minimieren. Unten ist das Bild, das die Regressionslinie (blau), Abweichungen (grün) und die Datenpunkte (rot) zeigt.

Die lineare Regression kann auch auf mehrere Eingabevariablen ausgedehnt werden, und der Ansatz bleibt genau gleich. Die Gleichung der Linie für mehrere Variablen wird dargestellt durch:

Eine Demo zur linearen Regression

Lassen Sie uns eine Zielvariable mithilfe einer einzelnen Eingabevariablen vorhersagen. Das folgende Beispiel und der Datensatz stammen aus dem Scikit-Learn offizielle Dokumentation. Scikit-Learn ist eine weit verbreitete Bibliothek für die Entwicklung maschineller Lernmodelle.

Matplotlib importieren.Pyplot als PLT
Numph als NP importieren
aus sklearn importieren datensätze linear_model
von Sklearn.Metriken importieren Mean_Squared_error, R2_Score
# Laden Sie den Diabetes -Datensatz
Diabetes_x, Diabetes_y = Datensätze.load_diabetes (return_x_y = true)
# Verwenden Sie nur eine Funktion
Diabetes_x = Diabetes_x [:, np.Newaxis, 2]
# Teilen Sie die Daten in Trainings-/Testsätze auf
Diabetes_x_train = Diabetes_x [:-20]
Diabetes_x_test = Diabetes_x [-20:]
# Teilen Sie die Ziele in Trainings-/Testsätze auf
Diabetes_y_train = Diabetes_y [:-20]
Diabetes_y_test = Diabetes_y [-20:]
# Lineares Regressionsobjekt erstellen
regr = linear_model.Lineare Regression()
# Trainieren Sie das Modell mit den Trainingssätzen
Regr.fit (Diabetes_x_train, Diabetes_y_train)
# Vorhersagen mit dem Testsatz machen
Diabetes_y_pred = regr.Predict (Diabetes_x_test)
# Der mittlere quadratische Fehler
print ("mittlerer quadratischer Fehler: %.2f " % Mean_Squared_error (Diabetes_y_test, Diabetes_y_pred))

Ausgang

Mittlerer quadratischer Fehler: 2548.07

Was ist logistische Regression?

Logistische Regression ist ein Klassifizierungsalgorithmus. Es ist ein Entscheidungsalgorithmus, was bedeutet, dass er die Grenzen zwischen zwei Klassen sucht und die Wahrscheinlichkeiten einer einzelnen Klasse simuliert. Da die Eingabe diskret ist und zwei Werte annehmen kann, wird er normalerweise für die binäre Klassifizierung verwendet.

Die Zielvariable in der linearen Regression ist kontinuierlich, was bedeutet, dass sie jeden realen Zahlenwert annehmen kann, während in der logistischen Regression unsere Ausgabe Wahrscheinlichkeiten (zwischen 0 und 1) sein kann (zwischen 0 und 1). Die logistische Regression wird aus der linearen Regression abgeleitet, fügt jedoch eine zusätzliche Schicht Sigmoidfunktion hinzu, um sicherzustellen, dass die Ausgabe zwischen 0 und 1 bleibt.

Wie logistische Regression funktioniert?

Die logistische Regression ist ein einfacher und weit verbreiteter Algorithmus für maschinelles Lernen, insbesondere für Binärklassifizierungsprobleme. Diese Erweiterung des linearen Regressionsalgorithmus verwendet eine Sigmoidaktivierungsfunktion, um die Ausgangsvariable zwischen 0 und 1 zu begrenzen. Nehmen wir an, wir müssen ein maschinelles Lernmodell erstellen, dann ist jeder unabhängige variable Datenpunkt x1 * w1 + x2 * w2… us.50 als entscheidender Wert oder Schwelle. Dann jedes Ergebnis größer als 0.5 wird als 1 angesehen, und jedes Ergebnis weniger als dieses wird als 0 angesehen. Die Sigmoid -Aktivierungsfunktion wird dargestellt als:

Aus der Grafik können wir sehen, dass die Ausgangsvariable zwischen 0 und 1 eingeschränkt ist.

In Szenarien von mehr als zwei Klassen verwenden wir einen vs gegen. Alle Klassifizierungsansatz. Das Aufteilen des Datensatzes mit mehreren Klassen in mehrere Binärklassifizierungsprobleme ist das, was man gegen haben. Ruhe dreht sich alles um.

Bei jedem Binärklassifizierungsproblem wird ein binärer Klassifizierer geschult, und Vorhersagen werden unter Verwendung des Modells mit höchstem Vertrauen getroffen.

Implementierung der logistischen Regression

Im Folgenden finden Sie das Skript von Scikit-Learn Offizielle Dokumentation, um die Irisblume basierend auf verschiedenen Merkmalen zu klassifizieren.

>>> von Sklearn.Datensätze importieren load_iris
>>> von Sklearn.linear_model import logisticregression
>>> x, y = load_iris (return_x_y = true)
>>> clf = logistregression (random_state = 0).fit (x, y)
>>> clf.prognostizieren (x [: 2,:])
Array ([0, 0])
>>> clf.Predict_Proba (x [: 2,:])
Array ([[9).8… E-01, 1.8… E-02, 1.4… E-08],
[9.7… E-01, 2.8… E-02,… E-08]])
>>> clf.Punktzahl (x, y)
0.97…

Abschluss

Wir haben die Einführung der logistischen und linearen Regression durchlaufen, die zugrunde liegenden Mathematik erörtert und den Implementierungsteil jeder von ihnen durchgemacht. Wir können daraus schließen, dass eine lineare Regression bei diskreten Zielvariablen hilft, kontinuierliche Variablen vorherzusagen, während eine logistische Regression verwendet wird. Logistische Regression führt dies durch die Anwendung der Sigmoidaktivierungsfunktion auf die lineare Regressionsgleichung.