Logistische Regression mit mehreren Klassen

Wichtig

Der Support für Machine Learning Studio (klassisch) endet am 31. August 2024. Es wird empfohlen, bis zu diesem Datum auf Azure Machine Learning umzustellen.

Ab dem 1. Dezember 2021 können Sie keine neuen Ressourcen in Machine Learning Studio (klassisch) mehr erstellen. Bis zum 31. August 2024 können Sie die vorhandenen Ressourcen in Machine Learning Studio (klassisch) weiterhin verwenden.

Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.

Erstellt ein mehrklassiges Klassifizierungsmodells des Typs "Logistische Regression"

Kategorie: Machine Learning/Modell initialisieren/Klassifizierung

Hinweis

Gilt nur für: Machine Learning Studio (klassisch)

Ähnliche Drag & Drop-Module sind im Azure Machine Learning-Designer verfügbar.

Modulübersicht

In diesem Artikel wird beschrieben, wie Sie das Modul Multiclass Logistic Regression in Machine Learning Studio (klassisch) verwenden, um ein logistisches Regressionsmodell zu erstellen, mit dem mehrere Werte vorhergesagt werden können.

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 Train Model oder Tune Model Hyperparameters bereitstellen. Das trainierte Modell kann anschließend verwendet werden, um Werte für neue Eingabenbeispiele vorherzusagen.

Machine Learning Studio (klassisch) bietet auch ein Modul der logistischen Regression mit zwei Klassen, das für die Klassifizierung binärer oder dichotomischer Variablen geeignet ist.

Weitere Informationen zur logistischen Regression mit mehreren Klassen

Die logistische Regression ist eine bekannte Methode in Statistiken, die zur Vorhersage der Wahrscheinlichkeit eines Ergebnisses verwendet wird und besonders für Klassifizierungsaufgaben beliebt ist. 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 logistischen Regression mit mehreren Klassen

  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.

    • Parameterbereich: 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. Arbeitsspeichergröße für L-BFGS: Geben Sie die Menge an Arbeitsspeicher an, die 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 Kategoriespalte eine zusätzliche "unbekannte" Ebene zu erstellen. Alle Werte (Ebenen) im Testdataset, die nicht im Trainingsdataset 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 bestimmen, die das beste Modell erzeugt.

    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:

Beispiele

Beispiele für die Verwendung dieses Lernalgorithmus finden Sie im Azure KI-Katalog:

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 sich die L1- und L2-Regularisierung unterscheiden 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 also versuchen, kategorische Spalten als Variable zu verwenden, konvertiert Machine Learning die Werte intern in ein Indikatorarray.

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

Die logistische Standardregression ist binomial und geht von zwei Ausgabeklassen aus. Bei der multiklassen- oder multinomialen logistischen Regression wird von drei oder mehr Ausgabeklassen ausgegangen.

Die binomiale logistische Regression geht von einer logistischen Verteilung der Daten aus, wobei die Wahrscheinlichkeit, dass ein Beispiel zu 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} sind die unbekannten Parameter der logistischen Verteilung.

Der Algorithmus versucht, die optimalen Werte für β{0},..., β {D-1} zu finden, indem er die Protokollwahrscheinlichkeit der Parameter anhand der Eingaben maximiert. Die Maximierung erfolgt mithilfe einer beliebten Methode für die Parameterschätzung namens Limited Memory BFGS.

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 L2-Regularisierungsgewichtung 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 Type BESCHREIBUNG
Untrainiertes Modell ILearner-Schnittstelle Ein untrainiertes Klassifizierungsmodell

Siehe auch

Klassifizierung
Logistische Regression mit zwei Klassen
Modulliste von A bis Z