BanditPolicy Clase
Define una directiva de terminación anticipada basada en criterios de demora y un intervalo de frecuencia y retraso para la evaluación.
Inicialice una BanditPolicy con factor de demora, slack_amount e intervalo de evaluación.
Constructor
BanditPolicy(evaluation_interval=1, slack_factor=None, slack_amount=None, delay_evaluation=0)
Parámetros
Nombre | Description |
---|---|
slack_factor
|
Relación usada para calcular la distancia permitida desde la ejecución del experimento de mejor rendimiento. Valor predeterminado: None
|
slack_amount
|
Distancia absoluta permitida desde la mejor ejecución. Valor predeterminado: None
|
evaluation_interval
|
La frecuencia con la que se aplica la directiva. Valor predeterminado: 1
|
delay_evaluation
|
El número de intervalos que se va a retrasar la primera evaluación de directiva.
Si se especifica, la directiva aplica cada múltiplo de Valor predeterminado: 0
|
slack_factor
Requerido
|
Relación usada para calcular la distancia permitida desde la ejecución del experimento de mejor rendimiento. |
slack_amount
Requerido
|
Distancia absoluta permitida desde la mejor ejecución. |
evaluation_interval
Requerido
|
La frecuencia con la que se aplica la directiva. |
delay_evaluation
Requerido
|
El número de intervalos que se va a retrasar la primera evaluación de directiva.
Si se especifica, la directiva aplica cada múltiplo de |
Comentarios
La directiva Bandit toma los siguientes parámetros de configuración:
slack_factor
: la cantidad de demora permitida con respecto a la ejecución de entrenamiento de mejor rendimiento. Este factor especifica la demora como una relación.slack_amount
: la cantidad de demora permitida con respecto a la ejecución de entrenamiento de mejor rendimiento. Este factor especifica la demora como una cantidad absoluta.evaluation_interval
: opcional. La frecuencia con la que se aplica la directiva. Cada vez que el script de entrenamiento registra la métrica principal se considera un intervalo.delay_evaluation
: opcional. Número de intervalos para retrasar la evaluación de directivas. Use este parámetro para evitar la terminación prematura de las ejecuciones de entrenamiento. Si se especifica, la directiva aplica cada múltiplo deevaluation_interval
que es mayor o igual quedelay_evaluation
.
Cualquier ejecución que no se encuentra dentro del factor de demora o la cantidad de demora de la métrica de evaluación con respecto a la ejecución de mejor rendimiento se finalizará.
Considere una directiva de bandido con slack_factor
= 0,2 y evaluation_interval
= 100.
Supongamos que la ejecución X es la ejecución con mejor rendimiento actualmente con una AUC (métrica de rendimiento) de 0,8 después de 100 intervalos. Además, supongamos que la mejor AUC notificada para una ejecución es Y. Esta directiva compara el valor (Y + Y * 0,2) a 0,8 y, si es más pequeño, cancela la ejecución. Si delay_evaluation
es = 200, la primera vez que se aplicará la directiva será en el intervalo 200.
Ahora, considere una directiva de bandido con slack_amount
= 0,2 y evaluation_interval
= 100.
Si la ejecución 3 es la ejecución con mejor rendimiento actualmente con una AUC (métrica de rendimiento) de 0,8 después de 100 intervalos, se finalizará cualquier ejecución con una AUC inferior a 0,6 (0,8 - 0,2) después de 100 iteraciones.
Del mismo modo, delay_evaluation
también se puede usar para retrasar la evaluación de la primera directiva de terminación para un número específico de secuencias.
Para obtener más información sobre cómo aplicar directivas de terminación anticipada, consulte Ajuste de hiperparámetros para el modelo.
Atributos
delay_evaluation
Devuelve el número de secuencias para las que se retrasa la primera evaluación.
Devoluciones
Tipo | Description |
---|---|
Evaluación de retraso. |
evaluation_interval
Devuelve el valor del intervalo de evaluación.
Devoluciones
Tipo | Description |
---|---|
Intervalo de evaluación. |
slack_factor
Devuelva el factor de demora con respecto a la ejecución de entrenamiento de mejor rendimiento.
Devoluciones
Tipo | Description |
---|---|
Factor de demora. |
POLICY_NAME
POLICY_NAME = 'Bandit'