Die logistische Regression ist einer der beliebtesten Algorithmen für maschinelles Lernen, der zur Lösung von Klassifizierungsaufgaben verwendet wird. Dieser Algorithmus gehört zur Lernfamilie mit einem Lehrer, was bedeutet, dass er eine zuverlässige Datenmarkierung erfordert. Eines der Hauptmerkmale der logistischen Regression ist die Fähigkeit, binäre Klassifikationsprobleme zu lösen, bei denen klassifizierte Objekte nur zwei Klassen zugeordnet werden können.
Das Hauptprinzip der logistischen Regression ist die Anwendung einer logistischen Funktion, die es ermöglicht, das Regressionsmodell in eine probabilistische Darstellung umzuwandeln. Auf diese Weise können Sie die Wahrscheinlichkeit schätzen, dass ein Objekt einer bestimmten Klasse angehört. Das logistische Regressionstraining basiert auf der Minimierung der Verlustfunktion, dh dem Finden optimaler Modellparameter, die den Vorhersagefehler minimieren.
Im logistischen Regressionsunterricht wird die Gradienten-Abstiegsmethode verwendet. Das Modell wird zunächst mit zufälligen Parameterwerten initialisiert. Bei jeder Iteration des Algorithmus wird dann der Gradienten der Verlustfunktion anhand der Modellparameter berechnet und die Parameterwerte entsprechend der vom Gradienten angegebenen Richtung angepasst. Wenn der Wert der Verlustfunktion verringert wird, strebt das Modell nach den optimalen Werten der Parameter, um die beste Klassifizierungsqualität zu erzielen.
Mathematische Grundlagen
Die logistische Regression basiert auf dem mathematischen Konzept der Sigmoidfunktion, auch als logistische Funktion bekannt. Die Sigmoidfunktion wird normalerweise verwendet, um die Wahrscheinlichkeit eines binären Ereignisses zu schätzen und hat die Form:
wobei $$x$$ der Eingabewert ist.
Beim Trainieren der logistischen Regression auf einem Datensatz besteht die Herausforderung darin, die optimalen Gewichte $$w$$ für jedes Merkmal zu finden, die den Fehler des Modells minimieren und neue Daten korrekt klassifizieren.
Mathematisch kann die logistische Regression wie folgt dargestellt werden:
wobei $$h_w(x)$$ die vorhergesagte Klasse (Wahrscheinlichkeit) ist, $$w$$ die Gewichte ist, $$x$$ der Merkmalvektor ist.
Die Methode der maximalen Glaubwürdigkeit (MLE) wird verwendet, um das logistische Regressionsmodell zu trainieren, das das Prinzip der Maximierung der Wahrscheinlichkeit des Auftretens beobachtbarer Daten verwendet.
Die Optimierung der Waage $$w$$ erfolgt durch Minimierung der Kostenfunktion (cost function), die den Vorhersagefehler des Modells misst. Die Kostenfunktion logarithmischer Verlust (log loss), auch bekannt als binäre Entropie (binary cross-entropy), wird häufig verwendet:
wobei $$m$$ die Anzahl der Beobachtungen ist, $$y$$ die wahren Klassen sind, $$h_w(x)$$ die vorhergesagte Klasse ist.
Die Minimierung der Kostenfunktion kann mit verschiedenen Optimierungsalgorithmen wie Gradient descent oder Variationen davon erreicht werden.
Die mathematischen Grundlagen der logistischen Regression ermöglichen es daher, ein Modell zu erstellen, das binäre Datenklassen basierend auf probabilistischen Prinzipien qualitativ vorhersagt.
Aktivierungsfunktion
Die Sigmoidfunktion ist auf der reellen Achse definiert und nimmt Werte im Intervall (0, 1) an. Mathematisch wird es wie folgt geschrieben:
Die Sigmoidfunktion ist grafisch eine "S" -förmige Kurve. Die Funktionswerte liegen zwischen 0 und 1, sodass Sie sie als Wahrscheinlichkeiten interpretieren können. Große positive Werte der Funktion entsprechen einer Wahrscheinlichkeit nahe 1, während große negative Werte einer Wahrscheinlichkeit nahe 0 entsprechen.
Es ist mit Hilfe der Aktivierungsfunktion der Sigmoidregression, dass die binäre Klassifizierung erfolgt. Wenn die resultierende Wahrscheinlichkeit einen Schwellenwert überschreitet (normalerweise 0.5), dann gehört das Objekt zu einer Klasse, andernfalls zu einer anderen Klasse.
Neben der Sigmoidfunktion können auch andere Aktivierungsfunktionen verwendet werden, z. B. der hyperbolische Tangens (tanh) oder die ReLU.
Gradient-Abstiegsmethode
Der Gradienten-Abstieg funktioniert nach dem Prinzip der iterativen Aktualisierung der Modellparameter basierend auf dem Gradienten der Kostenfunktion. Der Gradienten der Kostenfunktion zeigt die Richtung des größten Anstiegs der Funktion an jedem Punkt im Modellparameterbereich an. Der Zweck der Gradientenabstiegsmethode besteht darin, sich in die Richtung zu bewegen, die dem Gradienten der Wertfunktion entgegengesetzt ist, um das Minimum der Funktion zu finden.
Der Gradienten-Abstiegsalgorithmus beginnt mit einer Initialisierung der Modellparameter. Es aktualisiert dann die Parameterwerte bei jeder Iteration nacheinander und bewegt sich in die entgegengesetzte Richtung zum Gradienten der Kostenfunktion.
Bei jeder Iteration werden die Parameterwerte wie folgt aktualisiert:
neuer Parameterwert = alter Parameterwert - Lerngeschwindigkeit * Gradient der Kostenfunktion
Die Lernrate bestimmt, wie stark die Parameterwerte bei jeder Iteration aktualisiert werden. Wenn Sie eine zu hohe Lerngeschwindigkeit auswählen, kann der Algorithmus abweichen und die optimalen Parameterwerte nicht erreichen. Wenn Sie eine zu geringe Lerngeschwindigkeit auswählen, kann der Algorithmus sehr langsam konvergieren.
Die Gradient-Down-Methode aktualisiert die Parameterwerte weiter, bis eine Stoppbedingung erreicht ist, z. B. eine bestimmte Anzahl von Iterationen oder eine geringfügige Änderung der Parameterwerte.
Das logistische Regressions-Training findet als Ergebnis der Arbeit der Gradientenabstiegsmethode optimale Parameterwerte, die die Kostenfunktion minimieren und es dem Modell ermöglichen, die Wahrscheinlichkeit von Klassen auf neuen Daten vorherzusagen.
Lernalgorithmus
Eine Reihe von Schritten ist erforderlich, um die logistische Regression zu trainieren:
1. Datenvorbereitung: Sie müssen die Daten für das Modelltraining vorverarbeiten und vorbereiten. Dieser Schritt umfasst das Bereinigen von Daten Ausreißern, das Auffüllen von fehlenden Werten, das Skalieren von Merkmalen und andere ähnliche Datenkonvertierungen.
2. Parameterinitialisierung: Die Anfangswerte der logistischen Regressionsparameter müssen initialisiert werden. Dies geschieht normalerweise zufällig oder unter Verwendung von Nullwerten.
3. Direkte Verteilung: Für jedes Beispiel wird eine direkte Verteilung durchgeführt, d. H. Eine lineare Kombination von Merkmalen wird unter Verwendung der aktuellen Modellparameter berechnet.
4. Berechnen der Aktivierungsfunktion: eine lineare Kombination wird durch eine Aktivierungsfunktion ausgeführt, die das Ergebnis in einen Wert zwischen 0 und 1 umwandelt. In der logistischen Regression wird häufig eine Polynomaktivierungsfunktion, die als logistische Funktion bekannt ist, verwendet.
5. Berechnung des Fehlers: nachdem die Aktivierungsfunktion angewendet wurde, wird der Modellfehler anhand der ausgewählten Verlustfunktion berechnet. Eine häufige Wahl ist die logarithmische Verlustfunktion, auch bekannt als Kreuzentropie.
6. Umgekehrte Verbreitung: fehler werden über das Modell verteilt, um die Parameter zu aktualisieren. Der Gradienten-Abstieg wird normalerweise verwendet, um die Gradienten von Parametern zu berechnen.
7. Parameter aktualisieren: Die Parameter werden in umgekehrter Richtung des Gradienten mit dem ausgewählten Lernschritt oder der Lerngeschwindigkeit aktualisiert.
8. Wiederholen der Schritte 3 bis 7: Der Vorwärts- und Rückwärtsprozess wird wiederholt, bis das Modell konvergiert oder die maximale Anzahl von Iterationen erreicht ist.
9. Modellbewertung: Nachdem Sie das Modell trainiert haben, müssen Sie die Leistung des Modells auf einem verzögerten Dataset bewerten. Dazu werden verschiedene Bewertungsmetriken wie Genauigkeit, Vollständigkeit, F-Maß usw. verwendet.
Nach Abschluss dieser Schritte wird ein geschultes logistisches Regressionsmodell erstellt, das zur Vorhersage von Klassen neuer Beispieldaten verwendet werden kann.
Datenaufbereitung
Bevor Sie mit dem logistischen Regressionstraining beginnen, müssen Sie die Daten vorbereiten. Dieser Schritt umfasst eine Reihe von Schritten und Transformationen, mit denen Sie die Daten in ein für das Lernen geeignetes Format umwandeln können.
Der erste Schritt besteht darin, die Daten herunterzuladen. Dazu können Sie verschiedene Quellen wie CSV-Dateien, Datenbanken oder API-Abfragen verwenden. Nachdem die Daten heruntergeladen wurden, müssen Sie sie analysieren, um ihre Struktur und ihren Inhalt zu verstehen. Dies wird Ihnen helfen, die Zielvariable und die Merkmale zu bestimmen, die zum Trainieren des Modells verwendet werden sollen.
Es folgt die Bereinigung der Daten. Es umfasst das Löschen oder Ersetzen von fehlenden Werten, das Konvertieren von kategorialen Variablen in ein numerisches Format, das Entfernen von Ausreißern und die Normalisierung von Daten. Die bereinigten Daten helfen, Probleme beim Lernen des Modells zu vermeiden und die Qualität der Vorhersagen zu verbessern.
Ein wichtiger Schritt bei der Vorbereitung der Daten ist auch die Aufteilung in Trainings- und Testproben. Eine Lernprobe wird verwendet, um das Modell zu trainieren, und eine Testprobe wird verwendet, um seine Qualität zu bewerten und auf neue Daten zu testen.
Nach der Vorbereitung der Daten kann das Modell mit logistischer Regression trainiert werden. Während des Trainings analysiert das Modell die Daten und passt die Gewichte für jedes Merkmal an, um den Vorhersagefehler zu minimieren. Das resultierende Modell kann für eine lange Zeit verwendet werden, um neue Daten vorherzusagen.