Auswählen von Parametern zur Optimierung von Algorithmen in Azure Machine Learning Studio (Classic)
GILT FÜR: Machine Learning Studio (klassisch) Azure Machine Learning
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.
In diesem Thema wird das Auswählen der richtigen Hyperparameter für einen Algorithmus im Azure Machine Learning Studio (Classic) beschrieben. Für die meisten Machine Learning-Algorithmen müssen Parameter festgelegt werden. Wenn Sie ein Modell trainieren, müssen Sie Werte für diese Parameter bereitstellen. Die Wirksamkeit des trainierten Modells ist abhängig von den gewählten Parametern. Das Ermitteln des optimalen Parametersatzes wird als Modellauswahl bezeichnet.
Es gibt verschiedene Möglichkeiten zur Modellauswahl. Beim maschinellen Lernen ist die Kreuzvalidierung eine der am häufigsten verwendeten Methoden für die Modellauswahl und der Standardmechanismus für die Modellauswahl im Azure Machine Learning Studio (Classic). Da das Azure Machine Learning Studio (Classic) sowohl R als auch Python unterstützt, können Sie mithilfe von R oder Python Ihren eigenen Modellauswahlmechanismus implementieren.
Das Ermitteln des besten Parametersatzes umfasst vier Schritte:
- Definieren des Parameterraums: Für den Algorithmus legen Sie zunächst die genauen Parameterwerte fest, die berücksichtigt werden sollen.
- Definieren der Einstellungen für die Kreuzvalidierung: Für das Dataset müssen Sie entscheiden, wie Teilmengen für die Kreuzvalidierung ausgewählt werden.
- Definieren der Metrik: Anschließend entscheiden Sie, welche Metrik zum Ermitteln des besten Parametersatzes verwendet werden soll, z.B. Richtigkeit, mittlere quadratische Abweichung, Genauigkeit, Sensitivität oder F-Maß.
- Trainieren, Evaluieren und Vergleichen: Für jede eindeutige Kombination der Parameterwerte wird eine Kreuzvalidierung anhand der von Ihnen definierten Fehlermetrik durchgeführt. Nach Auswertung und Vergleich können Sie das leistungsfähigste Modell auswählen.
Die folgende Abbildung veranschaulicht, wie dies im Azure Machine Learning Studio (Classic) erreicht werden kann.
Definieren des Parameterraums
Der Parametersatz kann bei der Initialisierung des Modells definiert werden. Der Parameterbereich aller Machine Learning-Algorithmen weist zwei Trainingsmodi: Single Parameter und Parameter Range. Wählen Sie den Modus „Parameter Range“ aus. Im Modus „Parameter Range“ können Sie für jeden Parameter mehrere Werte eingeben. Sie können in das Textfeld durch Trennzeichen getrennte Werte eingeben.
Alternativ können Use Range Builder verwenden, um den Maximum- und Minimumpunkt des Rasters und die Gesamtzahl der zu generierenden Punkte zu definieren. Standardmäßig werden die Parameterwerte auf einer linearen Skala generiert. Wenn jedoch das Kontrollkästchen Log Scale aktiviert ist, werden die Werte in logarithmischer Skalierung generiert (d.h., das Verhältnis zwischen den benachbarten Punkten ist konstant anstelle ihrer Differenz). Für als ganze Zahl angegebene Parameter können Sie einen Bereich mithilfe eines Bindestrichs definieren. „1-10“ bedeutet beispielsweise, dass alle ganzen Zahlen von 1 bis 10 den Parametersatz bilden. Ein gemischter Modus wird ebenfalls unterstützt. Der Parametersatz „1-10, 20, 50“ enthält z. B. die ganzen Zahlen 1 bis 10, 20 und 50.
Definieren der Teilmengen für die Kreuzvalidierung
Das Modul Partition and Sample kann verwendet werden, um den Daten nach dem Zufallsprinzip Teilmengen zuzuweisen. In der folgenden Beispielkonfiguration für das Modul definieren wir fünf Teilmengen und weisen den Beispielinstanzen die Teilmengennummern nach dem Zufallsprinzip zu.
Definieren der Metrik
Das Modul Tune Model Hyperparameters bietet Unterstützung für die empirische Auswahl des besten Parametersatzes für einen bestimmten Algorithmus und ein bestimmtes Dataset. Der Bereich Properties dieses Moduls enthält, zusätzlich zu anderen Informationen zum Trainieren des Modells, die zu verwendende Metrik für die Ermittlung des besten Parametersatzes. Er verfügt über zwei verschiedene Dropdownlistenfelder für Klassifizierungs- und Regressionsalgorithmen. Wenn der untersuchte Algorithmus ein Klassifizierungsalgorithmus ist, wird die Regressionskennzahl ignoriert und umgekehrt. In diesem speziellen Beispiel ist die Metrik Accuracy.
Trainieren, Evaluieren und Vergleichen
Das gleiche Modul Tune Model Hyperparameters trainiert alle Modelle, die dem Parametersatz entsprechen, wertet verschiedene Kennzahlen aus und erstellt dann anhand der von Ihnen ausgewählten Metrik das am besten trainierte Modell. Dieses Modul hat zwei obligatorische Eingaben:
- Den untrainierten Lernenden
- Das Dataset
Das Modul hat auch eine optionale Dataseteingabe. Verbinden Sie das Dataset mit Teilmengeninformationen mit der obligatorischen Dataseteingabe. Wenn dem Dataset keine Informationen für die Teilmenge zugewiesen ist, erfolgt standardmäßig automatisch eine 10-fache Kreuzvalidierung. Wenn die Zuordnung für die Teilmenge nicht erfolgt und ein Dataset für die Überprüfung am optionalen Datasetport bereitgestellt wird, wird ein Trainingstestmodus ausgewählt, und mit dem ersten Dataset wird das Modell für jede Parameterkombination trainiert.
Anschließend wird das Modell für das Validierungsdataset ausgewertet. Der linke Ausgabeport des Moduls weist verschiedene Metriken als Funktionen von Parameterwerten auf. Der rechte Ausgabeport stellt das trainierte Modell anhand des Modells mit der besten Leistung gemäß der ausgewählten Metrik (in diesem Fall Accuracy) bereit.
Sie können die gewählten Parameter mithilfe einer Visualisierung des rechten Ausgabeports anzeigen. Dieses Modell kann nach dem Speichern als trainiertes Modell für die Bewertung von Testsätzen oder in einem operationalisierten Webdienst verwendet werden.