BanditPolicy Klasse
Definiert eine Richtlinie für vorzeitige Beendigungen basierend auf Pufferkriterien und ein Häufigkeits- und Verzögerungsintervall für die Auswertung.
Initialisieren Sie eine BanditPolicy mit Pufferfaktor, slack_amount und Auswertungsintervall.
Konstruktor
BanditPolicy(evaluation_interval=1, slack_factor=None, slack_amount=None, delay_evaluation=0)
Parameter
| Name | Beschreibung |
|---|---|
|
slack_factor
|
Das Verhältnis, das zum Berechnen des zulässigen Abstands vom besten Experimentlauf verwendet wird. Standardwert: None
|
|
slack_amount
|
Der absolute Abstand, der vom besten Lauf erlaubt ist. Standardwert: None
|
|
evaluation_interval
|
Die Anwendungshäufigkeit der Richtlinie. Standardwert: 1
|
|
delay_evaluation
|
Die Anzahl der Intervalle, für die die erste Richtlinienauswertung verzögert werden soll.
Wenn angegeben, wendet die Richtlinie jedes Vielfache an Standardwert: 0
|
|
slack_factor
Erforderlich
|
Das Verhältnis, das zum Berechnen des zulässigen Abstands vom besten Experimentlauf verwendet wird. |
|
slack_amount
Erforderlich
|
Der absolute Abstand, der vom besten Lauf erlaubt ist. |
|
evaluation_interval
Erforderlich
|
Die Anwendungshäufigkeit der Richtlinie. |
|
delay_evaluation
Erforderlich
|
Die Anzahl der Intervalle, für die die erste Richtlinienauswertung verzögert werden soll.
Wenn angegeben, wendet die Richtlinie jedes Vielfache an |
Hinweise
Die Bandit-Richtlinie verwendet die folgenden Konfigurationsparameter:
slack_factor: Die Menge an Pufferzeit in Bezug auf den leistungsstärksten Trainingslauf. Dieser Faktor gibt die Pufferzeit als Verhältnis an.slack_amount: Die Menge an Pufferzeit in Bezug auf den leistungsstärksten Trainingslauf. Dieser Faktor gibt die Pufferzeit als absolute Menge an.evaluation_interval:Wahlfrei. Die Anwendungshäufigkeit der Richtlinie. Jede Protokollierung der primären Metrik durch das Trainingsskript zählt als ein Intervall.delay_evaluation:Wahlfrei. Die Anzahl der Intervalle zum Verzögern der Richtlinienauswertung. Verwenden Sie diesen Parameter, um vorzeitige Beendigung von Schulungsläufen zu vermeiden. Wenn angegeben, wendet die Richtlinie jedes Vielfache anevaluation_interval, das größer oder gleichdelay_evaluationist.
Jede Ausführung, die nicht in den Pufferfaktor oder die Pufferzeit der Auswertungsmetrik im Hinblick auf die beste Ausführung fällt, wird beendet.
Erwägen Sie eine Bandit-Richtlinie mit slack_factor = 0,2 und evaluation_interval = 100.
Angenommen, X ist die derzeit beste Ausführung mit einer AUC (Leistungsmetrik) von 0,8 nach 100 Intervallen. Gehen Sie weiter davon aus, dass die beste AUC für einen Lauf Y ist. Diese Richtlinie vergleicht den Wert (Y + Y * 0,2) mit 0,8, und wenn kleiner, wird die Ausführung abgebrochen. Wenn delay_evaluation = 200, wird die Richtlinie zum ersten Mal im Intervall 200 angewendet.
Betrachten Sie jetzt eine Bandit-Richtlinie mit slack_amount = 0,2 und evaluation_interval = 100.
Wenn Run 3 die derzeit beste Ausführung mit einer AUC (Leistungsmetrik) von 0,8 nach 100 Intervallen ist, werden alle Ausführungen mit einer AUC unter 0,6 (0,8 - 0,2) nach 100 Iterationen beendet.
Ebenso kann dies delay_evaluation auch verwendet werden, um die erste Bewertung der Beendigungsrichtlinie für eine bestimmte Anzahl von Sequenzen zu verzögern.
Weitere Informationen zum Anwenden von Richtlinien für vorzeitige Beendigungen finden Sie unter Optimieren von Hyperparametern für Ihr Modell.
Attribute
delay_evaluation
Gibt die Anzahl der Sequenzen zurück, für die die erste Auswertung verzögert wird.
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Die Verzögerungsauswertung. |
evaluation_interval
Gibt den Wert des Auswertungsintervalls zurück.
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Das Auswertungsintervall. |
slack_factor
Geben Sie den Pufferfaktor in Bezug auf den leistungsstärksten Trainingslauf zurück.
Gibt zurück
| Typ | Beschreibung |
|---|---|
|
Der Pufferfaktor. |
POLICY_NAME
POLICY_NAME = 'Bandit'