Was ist Hyperparameter-Einstellung?
Wenn Sie Modelle für Machine Learning trainieren, benötigt jeder Datensatz und jedes Modell einen anderen Satz von Hyperparametern, die eine Art von Variablen sind. Die einzige Möglichkeit, diese zu bestimmen, sind mehrere Experimente, bei denen Sie eine Reihe von Hyperparametern auswählen und diese durch Ihr Modell laufen lassen. Dies wird als Hyperparameter-Einstellung bezeichnet. Im Wesentlichen trainieren Sie Ihr Modell sequentiell mit verschiedenen Sätzen von Hyperparametern. Dieser Prozess kann manuell erfolgen, oder Sie können eine von mehreren automatisierten Methoden zur Hyperparameter-Einstellung wählen.
Welche Methode Sie auch immer anwenden, Sie müssen die Ergebnisse Ihrer Experimente verfolgen. Sie müssen eine Form der statistischen Analyse anwenden, z. B. die Verlustfunktion, um zu ermitteln, welcher Satz von Hyperparametern das beste Ergebnis liefert. Die Hyperparameter-Einstellung ist ein wichtiger und rechenintensiver Prozess.
Was sind Hyperparameter?
Hyperparameter sind externe Konfigurationsvariablen, die Datenwissenschaftler für das Training von Machine-Learning-Modellen verwenden. Manchmal auch als Modell-Hyperparameter bezeichnet, werden die Hyperparameter vor dem Training eines Modells manuell festgelegt. Sie unterscheiden sich von Parametern, die interne Parameter sind, die während des Lernprozesses automatisch abgeleitet und nicht von Datenwissenschaftlern festgelegt werden.
Beispiele für Hyperparameter sind die Anzahl der Knoten und Schichten in einem neuronalen Netzwerk und die Anzahl der Zweige in einem Entscheidungsbaum. Hyperparameter bestimmen wichtige Merkmale wie die Modellarchitektur, die Lernrate und die Modellkomplexität.
Wie identifizieren Sie Hyperparameter?
Die Auswahl des richtigen Satzes von Hyperparametern ist wichtig für die Leistung und Genauigkeit des Modells. Leider gibt es weder feste Regeln dafür, welche Hyperparameter am besten funktionieren, noch deren optimale oder Standardwerte. Sie müssen experimentieren, um den optimalen Hyperparametersatz zu finden. Dieser Vorgang wird als Hyperparameter-Einstellung oder Hyperparameter-Optimierung bezeichnet.
Warum ist Hyperparameter-Einstellung wichtig?
Hyperparameter steuern direkt die Struktur, Funktion und Leistung des Modells. Die Hyperparameter-Einstellung ermöglicht es Datenwissenschaftlern, die Modellleistung für optimale Ergebnisse zu optimieren. Dieser Prozess ist ein wesentlicher Bestandteil des Machine Learnings, und die Wahl geeigneter Hyperparameterwerte ist entscheidend für den Erfolg.
Nehmen wir zum Beispiel an, Sie verwenden die Lernrate des Modells als Hyperparameter. Wenn der Wert zu hoch ist, konvergiert das Modell möglicherweise zu schnell mit suboptimalen Ergebnissen. Ist die Rate hingegen zu niedrig, dauert das Training zu lange und die Ergebnisse konvergieren möglicherweise nicht. Eine gute und ausgewogene Auswahl von Hyperparametern führt zu genauen Modellen und einer hervorragenden Modellleistung.
Wie funktioniert die Hyperparameter-Einstellung?
Wie bereits erwähnt, kann die Hyperparameter-Einstellung manuell oder automatisch erfolgen. Die manuelle Einstellung ist zwar langsam und mühsam, hat aber den Vorteil, dass Sie besser verstehen, wie die Gewichtung der Hyperparameter das Modell beeinflusst. Aber in den meisten Fällen würden Sie normalerweise einen der bekannten Hyperparameter-Lernalgorithmen verwenden.
Der Prozess der Hyperparameter-Einstellung ist iterativ, und Sie probieren verschiedene Kombinationen von Parametern und Werten aus. In der Regel beginnen Sie damit, eine Zielvariable wie z.B. die Genauigkeit als primäre Metrik zu definieren, und Sie beabsichtigen, diese Variable zu maximieren oder zu minimieren. Es ist eine gute Idee, Techniken zur Kreuzvalidierung zu verwenden, damit sich Ihr Modell nicht auf einen einzigen Teil Ihrer Daten konzentriert.
Was sind die Techniken zur Hyperparameter-Einstellung?
Es gibt zahlreiche Algorithmen zur Hyperparameter-Einstellung, wobei die am häufigsten verwendeten Typen die Bayes'sche Optimierung, die Grid-Suche und die randomisierte Suche sind.
Bayesian-Optmierung
Die Bayes'sche Optimierung ist eine Technik, die auf dem Bayes'schen Theorem basiert, das die Wahrscheinlichkeit des Eintretens eines Ereignisses in Abhängigkeit vom aktuellen Wissensstand beschreibt. Wenn dies auf die Hyperparameter-Optimierung angewendet wird, erstellt der Algorithmus ein probabilistisches Modell aus einer Reihe von Hyperparametern, das eine bestimmte Metrik optimiert. Es verwendet die Regressionsanalyse, um iterativ den besten Satz von Hyperparametern auszuwählen.
Grid-Suche
Bei der Grid-Suche geben Sie eine Liste von Hyperparametern und eine Leistungskennzahl an, und der Algorithmus arbeitet alle möglichen Kombinationen durch, um die beste Anpassung zu ermitteln. Die Grid-Suche funktioniert gut, ist aber relativ mühsam und rechenintensiv, insbesondere bei einer großen Anzahl von Hyperparametern.
Zufällige Suche
Obwohl sie auf ähnlichen Prinzipien wie die Rastersuche basiert, wählt die Zufallssuche bei jeder Iteration Gruppen von Hyperparametern nach dem Zufallsprinzip aus. Es funktioniert gut, wenn eine relativ kleine Anzahl von Hyperparametern das Ergebnis des Modells hauptsächlich bestimmt.
Was sind Beispiele von Hyperparametern?
Einige Hyperparameter sind zwar üblich, aber in der Praxis werden Sie feststellen, dass Algorithmen bestimmte Sätze von Hyperparametern verwenden. Lesen Sie zum Beispiel, wie Amazon SageMaker Hyperparameter für die Bildklassifizierung verwendet und lesen Sie, wie SageMaker Hyperparameter für den XGBoost-Algorithmus verwendet.
Hier finden Sie einige Beispiele für gängige Hyperparameter:
- Die Lernrate ist die Rate, mit der ein Algorithmus seine Schätzungen aktualisiert
- Das Abfallen der Lernrate ist eine allmähliche Verringerung der Lernrate im Laufe der Zeit, um das Lernen zu beschleunigen
- Momentum ist die Richtung des nächsten Schritts in Bezug auf den vorherigen Schritt
- Neuronale Netzwerkknoten bezieht sich auf die Anzahl der Knoten in jeder versteckten Schicht
- Neuronale Netzwerkschichten bezieht sich auf die Anzahl der versteckten Schichten in einem neuronalen Netzwerk
- Mini-Batch-Größe ist die Größe der Trainingsdaten-Batches
- Epochen ist die Anzahl der Male, die der gesamte Trainingsdatensatz dem Netzwerk während des Trainings gezeigt wird
- Eta ist die Schrumpfung der Schrittgröße, um eine Überanpassung zu verhindern
Wie kann AWS bei der Hyperparameter-Einstellung helfen?
Bei Amazon Web Services (AWS) bieten wir Amazon SageMaker an, eine vollständig verwaltete Plattform für Machine Learning (ML), mit der Sie eine automatische Modelleinstellung durchführen können. Amazon SageMaker Model Training findet die beste Version Ihres ML-Modells, indem es mehrere Trainingsaufträge für Ihren Datensatz ausführt. Es verwendet den von Ihnen angegebenen Algorithmus und Hyperparameterbereich.
SageMaker bietet eine intelligente Version von Hyperparameter-Einstellungs-Methoden, die auf der Bayes'schen Suchtheorie basiert und darauf ausgelegt ist, das beste Modell in kürzester Zeit zu finden. Es beginnt mit einer zufälligen Suche und lernt dann, wie sich das Modell in Bezug auf die Hyperparameterwerte verhält. Für weitere Informationen lesen Sie bitte, wie Hyperparameter-Einstellung in SageMaker funktioniert.
SageMaker Automatic Model Tuning unterstützt auch Hyperband, eine neue Suchstrategie. Hyperband kann den optimalen Satz von Hyperparametern bis zu dreimal schneller finden als die Bayes'sche Suche für groß angelegte Modelle wie tiefe neuronale Netze, die Probleme des Computersehens lösen.
Lesen Sie auch, wie Sie mit SageMaker eine automatische Modelleinstellung durchführen können. Sie verwenden das SageMaker-Hyperparameter-Einstellungs-Modul mit integrierten SageMaker-Algorithmen, mit benutzerdefinierten Algorithmen und mit von SageMaker vorgefertigten Containern. Die Webseite bietet umfassende Lernprogramme und Übungen zum Selbststudium, mit denen Sie die Hyperparameter-Optimierung erlernen können.
Der Einstieg in SageMaker ist einfach: Sie müssen lediglich ein kostenloses AWS-Konto erstellen. Mit dem kostenlosen AWS-Kontingent erhalten Sie eine zweimonatige kostenlose Testversion von SageMaker, bevor Sie zu zahlen beginnen.
Nächste Schritte mit AWS
Sie erhalten sofort Zugriff auf das kostenlose Kontingent von AWS.
Starten Sie mit der Entwicklung in der AWS-Managementkonsole.