Logistische Regression mit mehreren Klassen

Erstellt ein mehrklassiges Klassifizierungsmodells des Typs "Logistische Regression"

Kategorie: Machine Learning/Modell/Klassifizierung initialisieren

Hinweis

Gilt für: Machine Learning Studio (klassisch)

Dieser Inhalt bezieht sich nur auf Studio (klassisch). Ähnliche Drag & Drop-Module wurden Azure Machine Learning-Designer hinzugefügt. Weitere Informationen finden Sie in diesem Artikel zum Vergleich der beiden Versionen.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das MultiClass Logistic Regression -Modul in Azure Machine Learning Studio (klassisch) verwenden, um ein logistisches Regressionsmodell zu erstellen, das zur Vorhersage mehrerer Werte verwendet werden kann.

Die Klassifizierung mit logistischer Regression entspricht einer überwachten Lernmethode, die folglich ein bezeichnetes Dataset erfordert. Sie trainieren das Modell, indem Sie das Modell und das bezeichnete DataSet als Eingabe für ein Modul, wie z. b. Train Model oder Tune Model hyperparameters, bereitstellen. Das trainierte Modell kann anschließend verwendet werden, um Werte für neue Eingabenbeispiele vorherzusagen.

Azure Machine Learning Studio (klassisch) stellt auch ein zweiklassiges logistisches Regressions Modul bereit, das für die Klassifizierung von binären oder dichotomen Variablen geeignet ist.

Weitere Informationen zur mehr klassigen logistischen Regression

Die logistische Regression ist eine bekannte Methode in Statistiken, die verwendet wird, um die Wahrscheinlichkeit eines Ergebnisses vorherzusagen, und ist besonders beliebt bei Klassifizierungs Aufgaben. Der Algorithmus prognostiziert die Wahrscheinlichkeit des Vorkommens eines Ereignisses, indem er Daten an eine logistische Funktion anpasst. Weitere Informationen zu dieser Implementierung finden Sie im Abschnitt Technische Hinweise.

Bei der logistischen Regression mit mehreren Klassen kann der Klassifizierer zur Vorhersage mehrerer Ergebnisse verwendet werden.

Konfigurieren einer mehr klassigen logistischen Regression

  1. Fügen Sie das Modul Multiclass Logistic Regression Ihrem Experiment hinzu.

  2. Geben Sie an, wie das Modell trainiert werden soll, indem Sie die Option Create trainer mode (Trainermodus erstellen) aktivieren.

    • Single Parameter (Einzelner Parameter): Verwenden Sie diese Option, wenn Sie wissen, wie Sie das Modell konfigurieren möchten, und geben Sie einen bestimmten Satz von Werten als Argumente an.

    • Parameter Bereich: Verwenden Sie diese Option, wenn Sie die besten Parameter nicht sicher sind und einen Parameter Sweep verwenden möchten.

  3. Optimization tolerance (Optimierungstoleranz), geben Sie den Schwellenwert für die Optimierungskonvergenz an. Wenn die Verbesserung zwischen Iterationen kleiner als der Schwellenwert ist, wird der Algorithmus beendet und das aktuelle Modell zurückgegeben.

  4. L1 regularization weight (L1-Regularisierungsgewichtung), L2 regularization weight (L2-Regularisierungsgewichtung): Geben Sie einen Wert für die Regularisierungsparameter „L1“ und „L2“ an. Für beide wird ein Wert ungleich 0 (null) empfohlen.

    Regularisierung ist eine Methode zur Vermeidung von Überpassung durch Zuordnung von Straftermen zu Modellen mit extremen Koeffizientenwerten. Regularisierung funktioniert, indem die Strafterme, die mit Koeffizientenwerten verbunden sind, zum Fehler der Hypothese hinzufügt werden. Ein genaues Modell mit extremen Koeffizientenwerten würde stärker mit Straftermen belegt, während ein weniger genaues Modell mit konservativeren Werten weniger mit Straftermen belegt würde.

    Die L1- und L2-Regularisierung haben unterschiedliche Auswirkungen und Zwecke. L1 kann auf spärliche Modelle angewendet werden, was bei der Arbeit mit Daten mit hoher Dimensionalität nützlich ist. Im Gegensatz dazu ist die L2-Regularisierung für Daten vorzuziehen, die nicht spärlich sind. Dieser Algorithmus unterstützt eine lineare Kombination von L1- und L2-Regularisierungswerten, d.h. wenn x = L1 und y = L2, dann definiert ax + by = c die lineare Spanne der Regularisierungsbegriffe.

    Für logistische Regressionsmodelle wurden verschiedene lineare Kombinationen von L1- und L2-Begriffen entwickelt, z.B. Regularisierung mit elastischem Netz.

  5. Arbeits Speichergröße für l-BFGS: Geben Sie die Menge des Arbeitsspeichers an, der für die L-BFGS- Optimierung verwendet werden soll. Dieser Parameter gibt die Anzahl der bisherigen Positionen und Gradienten an, die für die Berechnung des nächsten Schritts gespeichert werden sollen.

    L-BFGS steht für "Limited Memory Broyden-Fletcher-Goldfarb-Shanno" und ist ein Optimierungsalgorithmus, der häufig zur Parameterschätzung verwendet wird. Dieser Optimierungsparameter begrenzt die Menge an Speicher, die zur Berechnung des nächsten Schritts und der nächsten Richtung verwendet wird. Wenn Sie weniger Speicher angeben, ist das Training zwar schneller, aber ungenauer.

  6. Random number seed (Zufälliger Startwert): Geben Sie einen ganzzahligen Wert als Ausgangswert für den Algorithmus ein, wenn die Ergebnisse in den Ausführungen wiederholbar sein sollen. Andernfalls wird ein Systemtaktwert als Startwert verwendet, was in den Ausführungen desselben Experiments zu geringfügig unterschiedlichen Ergebnissen führen kann.

  7. Unbekannte kategorische Ebenen zulassen: Wählen Sie diese Option aus, um in jeder kategorischen Spalte eine zusätzliche "unbekannte" Ebene zu erstellen. Alle Werte (Ebenen) im Test Dataset, die nicht im Trainings Dataset vorhanden sind, werden dieser "unbekannten" Ebene zugeordnet.

  8. Stellen Sie eine Verbindung mit einem bezeichneten Dataset und einem der Trainingsmodule her:

    • Wenn Sie Create trainer mode (Trainermodus erstellen) auf Single Parameter (Einzelner Parameter) festlegen, müssen Sie das Modul Train Model (Trainieren des Modells) verwenden.

    • Wenn Sie Create trainer mode (Trainermodus erstellen) auf Parameter Range (Parameterbereich) festlegen, verwenden Sie das Modul Tune Model Hyperparameters (Abstimmen der Hyperparameter des Modells). Mit dieser Option können Sie mehrere Werte angeben, und der Trainer durchläuft mehrere Kombinationen der Einstellungen, um die Kombination der Werte zu ermitteln, die das beste Modell erzeugen.

    Hinweis

    Wenn Sie einen Parameterbereich an Train Model übergeben, wird nur der erste Wert in der Parameterbereichsliste verwendet.

    Wenn Sie eine einzelne Reihe bestimmter Parameterwerte an das Modul Tune Model Hyperparameters übergeben und ein Bereich von Einstellungen für jeden Parameter erwartet wird, werden die Werte ignoriert und stattdessen die Standardwerte für den Learner verwendet.

    Wenn Sie die Option Parameter Range (Parameterbereich) auswählen und einen einzelnen Wert für einen beliebigen Parameter eingeben, wird dieser angegebene einzelne Wert während des gesamten Löschvorgangs verwendet, auch wenn andere Parameter in einem Wertebereich geändert werden.

  9. Führen Sie das Experiment aus.

Ergebnisse

Nach Abschluss des Trainings:

  • Klicken Sie mit der rechten Maustaste auf die Ausgabe des Moduls Train Model , oder optimieren Sie Model hyperparameters, um eine Zusammenfassung der Parameter des Modells anzuzeigen, zusammen mit den Merkmals Gewichtungen, die aus dem Training gelernt wurden.

Beispiele

Beispiele zur Verwendung dieses Lernalgorithmus finden Sie in der Azure AI Gallery:

  • IRIS Clustering: vergleicht die Ergebnisse der mehr klassigen logistischen Regression mit K-Means-Clustering.

  • Erkennung von NetzwerkAngriffen: verwendet die binäre logistische Regression, um zu bestimmen, ob ein Fall einen Eindring Versuch darstellt.

  • Cross Validation for Binary Classifiers: veranschaulicht die Verwendung der logistischen Regression in einem typischen experimentellen Workflow, einschließlich der Modell Auswertung.

Technische Hinweise

Dieser Abschnitt enthält Implementierungsdetails, Tipps und Antworten auf häufig gestellte Fragen.

Möchten Sie mehr zur L1- und L2-Regularisierung erfahren? Im folgenden Artikel wird erläutert, wie L1-und L2-Regularisierung unterschiedlich sind und wie Sie sich auf die Modellanpassung auswirken, mit Codebeispielen für logistische Regression und neuronale Netzwerkmodelle.

Weitere Informationen zur Implementierung dieses Algorithmus finden Sie unter:

Details zur Implementierung

Die logistische Regression erfordert numerische Variablen. Wenn Sie daher versuchen, kategorische Spalten als Variable zu verwenden, werden die Werte von Azure Machine Learning intern in ein Indikator Array konvertiert.

Für Datums-und Uhrzeitwerte wird eine numerische Darstellung verwendet. Weitere Informationen zu Datums-/Uhrzeitwerten finden Sie unter DateTime Structure .NET Framework. Wenn Sie Datums-und Uhrzeitwerte anders behandeln möchten, sollten Sie eine abgeleitete Spalte erstellen.

Die Standard mäßige logistische Regression ist Binomial und geht von zwei Ausgabe Klassen aus. Die logistische Regression der MultiClass-oder der-Klasse geht von drei oder mehr Ausgabe Klassen aus.

Die logistische Regression von Binomial geht von einer logistischen Verteilung der Daten aus, bei der die Wahrscheinlichkeit, dass ein Beispiel zur Klasse 1 gehört, die Formel ist:

p(x;β0,…, βD-1)

Hierbei gilt:

  • x ist ein D-dimensionaler Vektor, der die Werte aller Funktionen der-Instanz enthält.

  • p ist die logistische Verteilungsfunktion.

  • β{0},..., β {D-1} die unbekannten Parameter der logistischen Verteilung.

Der Algorithmus versucht, die optimalen Werte für zu ermitteln, indem er die β{0},..., β {D-1} Protokoll Wahrscheinlichkeit der Parameter unter Berücksichtigung der Eingaben maximiert. Die Maximierung erfolgt über eine gängige Methode zur Parameterschätzung, die als beschränkte Speicher-BFGSbezeichnet wird.

Modulparameter

Name Range type Standard BESCHREIBUNG
Optimization tolerance >=double.Epsilon Float 0,0000001 Geben Sie einen Toleranzwert für die L-BFGS-Optimierung an.
L1 regularization weight >= 0,0 Float 1.0 Geben Sie die L1-Regularisierungsgewichtung an. Verwenden Sie einen Wert ungleich null, um eine Überanpassung zu vermeiden.
L2-regularisierungsgewichtung >= 0,0 Float 1.0 Geben Sie die Gewichtung der L2-Regularisierung an. Verwenden Sie einen Wert ungleich null, um eine Überanpassung zu vermeiden.
Memory size for L-BFGS >=1 Integer 20 Geben Sie die Größe des Speichers (in MB) an, die für die L-BFGS-Optimierung verwendet wird. Bei Verwendung von weniger Arbeitsspeicher wird das Training schneller, aber weniger genau.
Random number seed Any Integer Geben Sie einen Wert als Ausgangswert für den Zufallszahlengenerator ein, der vom Modell verwendet wird. Geben Sie keinen Wert an, um den Standardwert zu verwenden.
Allow unknown categorical levels Any Boolean True Geben Sie an, ob eine zusätzliche Ebene für jede Kategoriespalte erstellt werden soll. Alle Ebenen im Testdataset, die nicht im Trainingsdataset zur Verfügung stehen, werden dieser zusätzlichen Ebene zugeordnet.

Ausgaben

Name Typ BESCHREIBUNG
Untrainiertes Modell ILearner-Schnittstelle Ein untrainiertes Klassifizierungsmodell

Weitere Informationen

Ordnung
Logistische zweiklassige Regression
Modulliste von A bis Z