Lineare Regression
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.
- Siehe Migrieren zu Azure Machine Learning
- Weitere Informationen zu Azure Machine Learning.
Die Dokumentation zu ML Studio (klassisch) wird nicht mehr fortgeführt und kann künftig nicht mehr aktualisiert werden.
Erstellt ein lineares Regressionsmodell
Kategorie: Machine Learning/Modell initialisieren/Regression
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 Linear Regression in 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 zur Kreuzvalidierung für ein bezeichnetes DataSet an Cross-Validate Model übergeben 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 Vorhersageaufgabe wünschen. Lineare Regression funktioniert auch gut bei hochdimensionalen, spärlichen Datasets mit wenig Komplexität.
Machine Learning Studio (klassisch) unterstützt neben der linearen Regression eine Vielzahl von Regressionsmodellen. Der Begriff "Regression" kann jedoch lose interpretiert werden, und einige Regressionstypen, 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 Modul Linear Regression kann diese Probleme lösen, ebenso wie die meisten anderen Regressionsmodule 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 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 zum Anpassen eines Regressionsmodells mit sehr unterschiedlichen Optionen:
Erstellen eines Regressionsmodells mithilfe des Onlinegradientenabstiegs
Der Gradientenabstieg ist eine bessere Verlustfunktion für Modelle, die komplexer sind oder angesichts der Anzahl von Variablen zu wenig Trainingsdaten haben.
Diese Option unterstützt auch eine Parameter-Sweepung, wenn Sie das Modell mithilfe von Tune Model Hyperparameters trainieren, um die Modellparameter automatisch zu optimieren.
Anpassen eines Regressionsmodells mithilfe der Methode der kleinsten Quadrate
Für kleine Datasets empfiehlt sich die Methode der kleinsten Quadrate. Diese sollte sehr ähnliche Ergebnisse wie Excel liefern.
Erstellen eines Regressionsmodells mithilfe der Methode der kleinsten Quadrate
Fügen Sie ihrem Experiment in Studio (klassisch) das Modul Linear Regression Model 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.
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.
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
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.
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.
Deaktivieren Sie die Option Unbekannte Kategorieebenen zulassen, wenn fehlende Werte einen Fehler auslösen sollen.
Wenn diese Option ausgewählt ist, wird für jede Kategoriespalte eine zusätzliche Ebene erstellt. Alle Ebenen im Testdataset, die nicht im Trainingsdataset vorhanden waren, werden dieser zusätzlichen Ebene zugeordnet.
Fügen Sie das Modul Train Model (Trainieren des Modells) Ihrem Experiment hinzu, und stellen Sie eine Verbindung mit einem bezeichneten Dataset her.
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 Kreuzvalidierung für ein bezeichnetes DataSet durchzuführen, verbinden Sie das untrainierte Modell mit Cross-Validate Model.
Erstellen eines Regressionsmodells mithilfe des Onlinegradientenabstiegs
Fügen Sie ihrem Experiment in Studio (klassisch) das Modul Linear Regression Model 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.
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.
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.
Parameterbereich: Wenn der Algorithmus die besten Parameter für Sie finden soll, legen Sie die Option Trainermodus erstellen auf Parameterbereich fest. Anschließend können Sie mehrere Werte angeben, die der Algorithmus ausprobieren soll.
Geben Sie für Learning rate (Lernrate) die Anfangslernrate für die stochastische Gradientenabstiegsoptimierung an.
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.
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.
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
Wählen Sie die Option Average final hypothesis (Durchschnittliche Endgültige Hypothese) aus, um die endgültige Hypothese zu durchschnittlich zu bestimmen.
In Regressionsmodellen bedeutet Hypothesentests, dass eine Statistik verwendet wird, um die Wahrscheinlichkeit der NULL-Hypothese auszuwerten, die besagt, dass es keine lineare Korrelation zwischen einer abhängigen und einer unabhängigen Variablen gibt. Bei vielen Regressionsproblemen müssen Sie eine Hypothese testen, die mehr als eine Variable umfasst.
Diese Option ist standardmäßig aktiviert, d. h., der Algorithmus testet eine Kombination der Parameter, an denen zwei oder mehr Parameter beteiligt sind.
Aktivieren Sie die Option Decrease learning rate (Lernrate verringern), wenn Sie möchten, dass die Lernrate im weiteren Verlauf der Iterationen abnimmt.
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.
Deaktivieren Sie die Option Unbekannte Kategorieebenen zulassen, wenn fehlende Werte einen Fehler auslösen sollen.
Wenn diese Option ausgewählt ist, wird für jede Kategoriespalte eine zusätzliche Ebene erstellt. Alle Ebenen im Testdataset, die nicht im Trainingsdataset vorhanden sind, werden dieser zusätzlichen Ebene zugeordnet.
Fügen Sie ein bezeichnetes Dataset und eines der Trainingsmodule hinzu.
Wenn Sie keinen Parameter-Sweep einsetzen, verwenden Sie das Modul Train Model (Trainieren des Moduls).
Damit der Algorithmus die besten Parameter für Sie findet, trainieren Sie das Modell mithilfe von Tune Model Hyperparameters.
Hinweis
Wenn Sie das Modell mit bestimmten Werten mithilfe der Option Einzelner Parameter konfigurieren und dann zur Option Parameterbereich wechseln, wird das Modell mit dem Minimalwert im Bereich für jeden Parameter trainiert.
Wenn Sie hingegen beim Erstellen des Modells bestimmte Einstellungen konfigurieren, aber die Option Parameterbereich auswählen, wird das Modell mithilfe der Standardwerte für das Lernprogramm als Wertebereich trainiert, über den das Sweeping ausgeführt werden soll.
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 Kreuzvalidierung für ein bezeichnetes DataSet durchzuführen, verbinden Sie das untrainierte Modell mit Cross-Validate Model.
Beispiele
Beispiele für Regressionsmodelle finden Sie in den folgenden Beispielexperimenten im Azure KI-Katalog:
Vergleichen von Regressoren: Stellt verschiedene Arten von Regressionsmodellen gegenüber.
Kreuzvalidierung für Regression: Veranschaulicht die lineare Regression mit gewöhnlichen kleinsten Quadraten.
Twitter-Stimmungsanalyse: Verwendet mehrere verschiedene Regressionsmodelle, um vorhergesagte Bewertungen zu generieren.
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. Sie können z. B. ganz einfach lineare Regressionen in Excel durchführen, indem Sie das Solvertool verwenden, oder Sie können Ihren eigenen Regressionsalgorithmus mit R, Python oder C# codieren.
Da die lineare Regression jedoch eine bewährte Technik ist, die von vielen verschiedenen Tools unterstützt wird, gibt es viele verschiedene Interpretationen und Implementierungen. Nicht alle Modelltypen werden von allen Tools gleichermaßen unterstützt. Es gibt auch einige Unterschiede in der Nomenclature, die beobachtet werden müssen.
Regressionsmethoden werden häufig nach der Anzahl der 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 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. Mit dem glm-Paket können Sie beispielsweise ein logistisches Regressionsmodell mit mehreren unabhängigen Variablen erstellen. Im Allgemeinen bietet Machine Learning Studio (klassisch) die gleiche Funktionalität wie das R GLM-Paket.
Es wird empfohlen, dieses Modul lineare Regression für typische Regressionsprobleme zu verwenden.
Wenn Sie dagegen mehrere Variablen verwenden, um einen Klassenwert vorherzusagen, empfehlen wir die Module Two-Class Logistic Regression oder Multiclass Logistic Regression .
Wenn Sie andere lineare Regressionspakete verwenden möchten, die für die Sprache R verfügbar sind, empfiehlt es sich, das Modul Execute R Script zu verwenden und die lm- oder glm-Pakete aufzurufen, die in der Laufzeitumgebung von 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 | Type | BESCHREIBUNG |
---|---|---|
Untrainiertes Modell | ILearner-Schnittstelle | Ein untrainiertes Regressionsmodell |