Lineare Regression

Erstellt ein lineares Regressionsmodell

Kategorie: Machine Learning/Modell/Regression 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 lineare Regressions Modul in Azure Machine Learning Studio (klassisch) verwenden, um ein lineares Regressionsmodell für die Verwendung in einem Experiment zu erstellen. Bei der linearen Regression wird versucht, eine lineare Beziehung zwischen einer oder mehreren unabhängigen Variablen und einem numerischen Ergebnis oder einer abhängigen Variablen herzustellen.

Mit diesem Modul können Sie eine lineare Regressionsmethode definieren und anschließend ein Modell mit einem bezeichneten Dataset trainieren. Das trainierte Modell kann danach verwendet werden, um Vorhersagen zu treffen. Alternativ kann das untrainierte Modell für die Kreuz Validierung anhand eines bezeichneten Datasets an das Cross-Validate-Modell übermittelt werden.

Weitere Informationen zur linearen Regression

Lineare Regression ist eine gängige statistische Methode, die beim maschinellen Lernen eingesetzt und um viele neue Methoden zum Anpassen der Linie und Messen von Fehlern erweitert wurde. Im einfachsten Sinne ist Regression die Vorhersage eines numerischen Zielwerts. Die lineare Regression ist immer noch eine gute Wahl, wenn Sie ein sehr einfaches Modell für eine grundlegende Vorhersage Aufgabe wünschen. Lineare Regression funktioniert auch gut bei hochdimensionalen, spärlichen Datasets mit wenig Komplexität.

Azure Machine Learning Studio (klassisch) unterstützt zusätzlich zur linearen Regression eine Vielzahl von Regressionsmodellen. Allerdings kann der Begriff "Regression" locker interpretiert werden, und einige Regressions Typen, die in anderen Tools bereitgestellt werden, werden in Studio (klassisch) nicht unterstützt.

  • Das klassische Regressionsproblem umfasst eine einzelne unabhängige Variable und eine abhängige Variable. Es wird auch als einfaches Regressionsmodell bezeichnet. Dieses Modul unterstützt einfache Regression.

  • Multiple lineare Regression umfasst zwei oder mehr unabhängige Variablen, die zu einer einzelnen abhängigen Variablen beitragen. Probleme, bei denen mehrere Eingaben zur Vorhersage eines einzelnen numerischen Ergebnisses verwendet werden, werden auch als multivariate lineare Regression bezeichnet.

    Das lineare Regressions Modul kann diese Probleme lösen, ebenso wie die meisten anderen Regressions Module in Studio (klassisch).

  • Regression mit mehreren Bezeichnungen ist die Aufgabe der Vorhersage mehrerer abhängiger Variablen in einem einzelnen Modell. Beispielsweise kann bei der logistischen Regression mit mehreren Bezeichnungen eine Stichprobe mehreren verschiedenen Bezeichnungen zugeordnet werden. (Dies unterscheidet sich von der Aufgabe, mehrere Ebenen innerhalb einer einzelnen Klassenvariablen vorherzusagen.)

    Diese Art von Regression wird in Azure Machine Learning nicht unterstützt. Um mehrere Variablen vorherzusagen, erstellen Sie für jede Ausgabe, die Sie vorhersagen möchten, einen separaten Lernenden.

Seit Jahren entwickeln Statistiker immer ausgereiftere Methoden für Regression. Dies gilt auch für lineare Regression. Dieses Modul unterstützt zwei Methoden zur Fehlermessung und Anpassung der Regressionslinie: die Methode der kleinsten Quadrate und den Gradientenabstieg.

  • Gradientenabstieg ist eine Methode, die die Fehlerhäufigkeit bei jedem Schritt des Modelltrainingsprozesses minimiert. Es gibt zahlreiche Variationen des Gradientenabstiegs, dessen Optimierung für verschiedene Lernprobleme umfassend untersucht wurde. Wenn Sie diese Option für Solution method (Lösungsmethode) wählen, können Sie eine Vielzahl von Parametern festlegen, um die Schrittgröße, Lernrate usw. zu steuern. Diese Option unterstützt auch die Verwendung eines integrierten Parameter-Sweeps.

  • Kleinste Quadrate ist bei linearer Regression eine der am häufigsten verwendeten Methoden. Kleinste Quadrate ist beispielsweise die Methode, die im Microsoft Excel-Tool „Analyse-Funktionen“ verwendet wird.

    „Kleinste Quadrate“ bezieht sich auf die Verlustfunktion, die den Fehler als Summe des Entfernungsquadrats vom Istwert bis zur vorhergesagten Linie berechnet und das Modell durch Minimierung des quadrierten Fehlers anpasst. Diese Methode geht von einer engen linearen Beziehung zwischen den Eingaben und der abhängigen Variablen aus.

Konfigurieren der linearen Regression

Dieses Modul unterstützt zwei Methoden für die Anpassung eines Regressionsmodells mit sehr unterschiedlichen Optionen:

Erstellen eines Regressionsmodells mit den kleinsten Quadraten

  1. Fügen Sie das Modul Linear Regression Model zu Ihrem Experiment in Studio (klassisch) hinzu.

    Sie finden dieses Modul in der Kategorie Machine Learning. Erweitern Sie Initialize Model (Modell initialisieren), dann Regression, und ziehen Sie das Modul Linear Regression Model (Lineares Regressionsmodell) in Ihr Experiment.

  2. Wählen Sie im Bereich Properties (Eigenschaften) in der Dropdownliste Solution method (Lösungsmethode) Ordinary Least Squares (Methode der kleinsten Quadrate) aus. Diese Option gibt die Berechnungsmethode an, mit der die Regressionslinie ermittelt wird.

  3. Geben Sie unter L2 regularization weight (L2-Regularisierungsgewichtung) den Wert ein, der zur Gewichtung der L2-Regularisierung verwendet werden soll. Wir empfehlen, einen Wert ungleich 0 zu verwenden, um eine Überpassung zu vermeiden.

    Wenn Sie mehr darüber erfahren möchten, wie sich die Regularisierung auf die Modellanpassung auswirkt, lesen Sie diesen Artikel: L1- und L2-Regularisierung für Machine Learning

  4. Aktivieren Sie die Option Include intercept term (Term des Schnittpunkts einbeziehen), wenn Sie den Term für den Schnittpunkt anzeigen möchten.

    Deaktivieren Sie diese Option, wenn Sie die Regressionsformel nicht überprüfen müssen.

  5. Für Random number seed (zufälliger Startwert) können Sie optional einen Wert eingeben, um für den vom Modell verwendeten Zufallszahlengenerator einen Startwert festzulegen.

    Die Verwendung eines Startwerts ist nützlich, wenn Sie die gleichen Ergebnisse bei verschiedenen Ausführungen desselben Experiments beibehalten möchten. Andernfalls wird standardmäßig ein von der Systemuhr stammender Wert verwendet.

  6. Deaktivieren Sie die Option unbekannte kategorische Ebenen zulassen, wenn fehlende Werte einen Fehler hervorrufen sollen.

    Wenn diese Option ausgewählt ist, wird eine zusätzliche Ebene für jede Kategories palte erstellt. Alle Ebenen im Test Dataset, die nicht im Trainings Dataset vorhanden waren, werden dieser zusätzlichen Ebene zugeordnet.

  7. Fügen Sie das Modul Train Model (Trainieren des Modells) Ihrem Experiment hinzu, und stellen Sie eine Verbindung mit einem bezeichneten Dataset her.

  8. Führen Sie das Experiment aus.

Ergebnisse für das Modell der kleinsten Quadrate

Nach Abschluss des Trainings:

  • Um die Modellparameter anzuzeigen, klicken Sie mit der rechten Maustaste auf die Trainingsausgabe, und wählen Sie Visualize (Visualisieren) aus.

  • Um Vorhersagen zu treffen, verbinden Sie das trainierte Modell mit dem Modul Score Model (Bewerten des Modells) sowie mit einem Dataset mit neuen Werten.

  • Um eine Kreuz Validierung für ein bezeichnetes DataSet auszuführen, verbinden Sie das untrainierte Modell mit Cross-Validate Model.

Erstellen eines Regressionsmodells mit Online Gradient-Abstieg

  1. Fügen Sie das Modul Linear Regression Model zu Ihrem Experiment in Studio (klassisch) hinzu.

    Sie finden dieses Modul in der Kategorie Machine Learning. Erweitern Sie Initialize Model (Modell initialisieren), dann Regression, und ziehen Sie das Modul Linear Regression Model (Lineares Regressionsmodell) in Ihr Experiment.

  2. Wählen Sie im Bereich Properties (Eigenschaften) in der Dropdown-Liste Solution method (Lösungsmethode) Online Gradient Descent (Onlinegradientenabstieg) als Berechnungsmethode zum Auffinden der Regressionslinie.

  3. Geben Sie für Create trainer mode (Trainermodus erstellen) an, ob Sie das Modell mit einem vordefinierten Parametersatz trainieren möchten oder ob Sie es mithilfe eines Parameter-Sweeps optimieren möchten.

    • Single Parameter (Einzelner Parameter): Wenn Sie wissen, wie Sie das Netzwerk der linearen Regression konfigurieren möchten, können Sie einen bestimmten Satz von Werten als Argumente angeben.

    • Parameter Bereich: Wenn Sie möchten, dass der Algorithmus die besten Parameter für Sie findet, legen Sie die Option " Trainer Modus erstellen " auf Parameter Bereich fest. Anschließend können Sie mehrere Werte angeben, die der Algorithmus ausprobieren soll.

  4. Geben Sie für Learning rate (Lernrate) die Anfangslernrate für die stochastische Gradientenabstiegsoptimierung an.

  5. Geben Sie für Number of training epochs (Anzahl der Trainingsepochen) einen Wert ein, der angibt, wie oft der Algorithmus durch Beispiele iterieren soll. Bei Datasets mit einer kleinen Anzahl von Beispielen sollte dieser Wert groß sein, um Konvergenz zu erreichen.

  6. Normalize features (Features normalisieren): Wenn Sie die zum Trainieren des Modells verwendeten numerischen Daten bereits normalisiert haben, können Sie diese Option deaktivieren. Standardmäßig normalisiert das Modul alle numerischen Eingaben zu einem Bereich von 0 bis 1.

    Hinweis

    Denken Sie daran, die gleiche Normalisierungsmethode auf neue Daten anzuwenden, die für die Bewertung verwendet werden.

  7. Geben Sie unter L2 regularization weight (L2-Regularisierungsgewichtung) den Wert ein, der zur Gewichtung der L2-Regularisierung verwendet werden soll. Wir empfehlen, einen Wert ungleich 0 zu verwenden, um eine Überpassung zu vermeiden.

    Wenn Sie mehr darüber erfahren möchten, wie sich die Regularisierung auf die Modellanpassung auswirkt, lesen Sie diesen Artikel: L1- und L2-Regularisierung für Machine Learning

  8. Wählen Sie die Option durchschnittliche endgültige Hypothese aus, um den Durchschnitt der letzten Hypothese zu ermitteln.

    Bei Regressionsmodellen bedeutet die Hypothese-Prüfung die Verwendung einiger Statistiken, um die Wahrscheinlichkeit der Nullhypothese auszuwerten, die besagt, dass keine lineare Korrelation zwischen einer abhängigen und einer unabhängigen Variablen besteht. Bei vielen Regressions Problemen müssen Sie eine Hypothese mit mehr als einer Variablen testen.

    Diese Option ist standardmäßig aktiviert. Dies bedeutet, dass der Algorithmus eine Kombination der Parameter testet, bei denen mindestens zwei Parameter beteiligt sind.

  9. Aktivieren Sie die Option Decrease learning rate (Lernrate verringern), wenn Sie möchten, dass die Lernrate im weiteren Verlauf der Iterationen abnimmt.

  10. Für Random number seed (zufälliger Startwert) können Sie optional einen Wert eingeben, um für den vom Modell verwendeten Zufallszahlengenerator einen Startwert festzulegen. Die Verwendung eines Startwerts ist nützlich, wenn Sie die gleichen Ergebnisse bei verschiedenen Ausführungen desselben Experiments beibehalten möchten.

  11. Deaktivieren Sie die Option unbekannte kategorische Ebenen zulassen, wenn fehlende Werte einen Fehler hervorrufen sollen.

    Wenn diese Option ausgewählt ist, wird eine zusätzliche Ebene für jede Kategories palte erstellt. Alle Ebenen im Test Dataset, die im Trainings Dataset nicht vorhanden sind, werden dieser zusätzlichen Ebene zugeordnet.

  12. Fügen Sie ein DataSet mit Bezeichnung und eines der Trainingsmodulehinzu.

    Wenn Sie keinen Parameter-Sweep einsetzen, verwenden Sie das Modul Train Model (Trainieren des Moduls).

    Damit der Algorithmus die besten Parameter für Sie finden kann, trainieren Sie das Modell mithilfe von Tune Model hyperparameters.

    Hinweis

    Wenn Sie das Modell mit bestimmten Werten konfigurieren, indem Sie die Option Single Parameter verwenden und dann zur Option Parameter Bereich wechseln, wird das Modell mit dem Minimalwert im Bereich für jeden Parameter trainiert.

    Wenn Sie im Gegensatz dazu bestimmte Einstellungen beim Erstellen des Modells konfigurieren, aber die Option Parameter Bereich auswählen, wird das Modell mithilfe der Standardwerte für den Lerner als Wertebereich trainiert.

  13. Führen Sie das Experiment aus.

Ergebnisse für den Onlinegradientenabstieg

Nach Abschluss des Trainings:

  • Um Vorhersagen zu treffen, verbinden Sie das trainierte Modell mit dem Modul Score Model (Bewerten des Modells) sowie mit neuen Eingabedaten.
  • Um eine Kreuz Validierung für ein bezeichnetes DataSet auszuführen, verbinden Sie das untrainierte Modell mit Cross-Validate Model.

Beispiele

Beispiele für Regressionsmodelle finden Sie in den folgenden Beispiel Experimenten in der Azure AI Gallery:

Technische Hinweise

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

Verwendungstipps

Viele Tools unterstützen das Erstellen linearer Regression – von einfach bis komplex. Beispielsweise können Sie mit dem Solver-ToolPak problemlos eine lineare Regression in Excel durchführen, oder Sie können Ihren eigenen Regressions Algorithmus mithilfe von R, Python oder c# programmieren.

Da die lineare Regression jedoch eine bewährte Methode ist, die von vielen verschiedenen Tools unterstützt wird, gibt es viele unterschiedliche Interpretationen und Implementierungen. Nicht alle Modelltypen werden gleichmäßig von allen Tools unterstützt. Es gibt auch einige Unterschiede in der Nomenklatur.

  • Regressionsmethoden werden häufig nach der Anzahl von Antwortvariablen kategorisiert. Multiple lineare Regression bezieht sich beispielsweise auf ein Modell, das mehrere vorherzusagende Variablen hat.

  • In Matlab bezieht sich multivariate Regression auf ein Modell, das mehrere Antwortvariablen hat.

  • In Azure Machine Learning unterstützen Regressionsmodelle eine einzelne Antwortvariable.

  • In der Sprache R hängen die Merkmale, die für die lineare Regression bereitgestellt werden, vom verwendeten Paket ab. Beispielsweise können Sie mit dem GLM -Paket ein logistisches Regressionsmodell mit mehreren unabhängigen Variablen erstellen. Im Allgemeinen bietet Azure Machine Learning Studio (klassisch) die gleiche Funktionalität wie das R- GLM -Paket.

Es wird empfohlen, dass Sie dieses Modul, lineare Regression, für typische Regressions Probleme verwenden.

Wenn Sie dagegen mehrere Variablen verwenden, um einen Klassen Wert vorherzusagen, empfehlen wir die zwei-Klassen-logistischen Regressions -oder MultiClass Logistic Regression -Module.

Wenn Sie andere lineare Regressions Pakete verwenden möchten, die für die Sprache R verfügbar sind, wird empfohlen, das Modul Execute R Script zu verwenden und die LM -oder GLM -Pakete aufzurufen, die in der Laufzeitumgebung von Azure Machine Learning Studio (klassisch) enthalten sind.

Modulparameter

Name Range type Standard BESCHREIBUNG
Normalisieren von Merkmalen. any Boolean true Angeben, ob Instanzen normalisiert werden sollen.
Mitteln der finalen Hypothese. any Boolean true Angeben, ob die finale Hypothese gemittelt werden soll.
Learning rate (Lernrate) >=double.Epsilon Float 0,1 Angeben der anfänglichen Lernrate für den Stochastic Gradient Descent-Optimierer (stochastischer Gradientenabfall).
Anzahl der Trainingsepochen >=0 Integer 10 Angeben, wie oft der Algorithmus Beispiele durchlaufen soll. Bei Datasets mit einer kleinen Anzahl von Beispielen sollte dieser Wert groß sein, um Konvergenz zu erreichen.
Verringern der Lernrate Any Boolean true Angeben, ob die Lernrate mit Fortschreiten der Iterationen verringert werden soll.
L2-regularisierungsgewichtung >= 0,0 Float 0,001 Angeben der Gewichtung für L2-Regularisierungen. Verwenden Sie einen Wert ungleich null, um eine Überanpassung zu vermeiden.
Random number seed any Integer Angeben eines Ausgangswerts für den vom Modell verwendeten Zufallszahlengenerator. Lassen Sie das Feld leer, um die Standardeinstellung 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.
Konstantes Glied einschließen Any Boolean True Angeben, ob für das konstante Glied ein zusätzlicher Term hinzugefügt werden soll.

Ausgaben

Name Typ BESCHREIBUNG
Untrainiertes Modell ILearner-Schnittstelle Ein untrainiertes Regressionsmodell

Weitere Informationen

Regression