Definición de un espacio de búsqueda
El conjunto de valores de hiperparámetros probados durante el ajuste de hiperparámetros se conoce como el espacio de búsqueda . La definición del intervalo de valores posibles que se puede elegir depende del tipo de hiperparámetros.
Hiperparámetros discretos
Algunos hiperparámetros requieren valores discretos de; es decir, debe seleccionar el valor de un conjunto de posibilidades finito determinado. Puede definir un espacio de búsqueda para un parámetro discreto mediante Choice de una lista de valores explícitos, que puede definir como una lista de de Python (Choice(values=[10,20,30])
), un intervalo (Choice(values=range(1,10))
) o un conjunto arbitrario de valores separados por comas (Choice(values=(30,50,100))
)
También puede seleccionar valores discretos de cualquiera de las siguientes distribuciones discretas:
-
QUniform(min_value, max_value, q)
: devuelve un valor como round(Uniform(min_value, max_value) / q) * q -
QLogUniform(min_value, max_value, q)
: Devuelve un valor como round(exp(Uniform(min_value, max_value)) / q) * q -
QNormal(mu, sigma, q)
: devuelve un valor como round(Normal(mu, sigma) / q) * q -
QLogNormal(mu, sigma, q)
: devuelve un valor como round(exp(normal(mu, sigma)) / q) * q)
Hiperparámetros continuos
Algunos hiperparámetros se continuos; es decir, puede usar cualquier valor a lo largo de una escala, lo que da lugar a un infinito número de posibilidades. Para definir un espacio de búsqueda para estos tipos de valor, puede usar cualquiera de los siguientes tipos de distribución:
-
Uniform(min_value, max_value)
: devuelve un valor distribuido uniformemente entre min_value y max_value -
LogUniform(min_value, max_value)
: devuelve un valor dibujado según exp(Uniform(min_value, max_value)) para que el logaritmo del valor devuelto se distribuya uniformemente. -
Normal(mu, sigma)
: devuelve un valor real que sigue una distribución normal con media µ y desviación estándar sigma. -
LogNormal(mu, sigma)
: devuelve un valor dibujado según exp(Normal(mu, sigma)) para que el logaritmo del valor devuelto se distribuya normalmente.
Definición de un espacio de búsqueda
Para definir un espacio de búsqueda para el ajuste de hiperparámetros, cree un diccionario con la expresión de parámetro adecuada para cada hiperparámetro nombrado.
Por ejemplo, el siguiente espacio de búsqueda indica que el batch_size
hiperparámetros puede tener el valor 16, 32 o 64, y el learning_rate
hiperparámetros puede tener cualquier valor de una distribución normal con una media de 10 y una desviación estándar de 3.
from azure.ai.ml.sweep import Choice, Normal
command_job_for_sweep = job(
batch_size=Choice(values=[16, 32, 64]),
learning_rate=Normal(mu=10, sigma=3),
)