Freigeben über


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
int

Die Anwendungshäufigkeit der Richtlinie.

Standardwert: 1
delay_evaluation
int

Die Anzahl der Intervalle, für die die erste Richtlinienauswertung verzögert werden soll. Wenn angegeben, wendet die Richtlinie jedes Vielfache an evaluation_interval , das größer oder gleich delay_evaluationist.

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
int

Die Anwendungshäufigkeit der Richtlinie.

delay_evaluation
Erforderlich
int

Die Anzahl der Intervalle, für die die erste Richtlinienauswertung verzögert werden soll. Wenn angegeben, wendet die Richtlinie jedes Vielfache an evaluation_interval , das größer oder gleich delay_evaluationist.

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 an evaluation_interval , das größer oder gleich delay_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
int

Die Verzögerungsauswertung.

evaluation_interval

Gibt den Wert des Auswertungsintervalls zurück.

Gibt zurück

Typ Beschreibung
int

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'