Aprendizaje automático: ¿cómo funciona la búsqueda de cuadrícula?

Es una idea bastante simple:

Considere el marco de clasificación estándar: tiene una muestra que divide en muestra de entrenamiento ([matemáticas] S_ {train}) [/ matemáticas] y muestra de validación ([matemáticas] S_ {válido} [/ matemáticas]). Está resolviendo un problema de optimización [matemática] P [/ matemática] (que generalmente sería algo así como minimizar el error de entrenamiento más un término de regularización), que es una función de los parámetros del modelo, digamos [matemática] w [/ matemática], el muestra de entrenamiento [math] S_ {train} [/ math] y algunos hiperparámetros, digamos [math] \ alpha [/ math] y [math] \ beta [/ math].

Resolver el problema de optimización para un conjunto fijo de valores de [math] \ alpha [/ math] y [math] \ beta [/ math] le da un valor de [math] w [/ math]. Dado que el valor óptimo de [math] w [/ math] (llámelo [math] w ^ * [/ math]) es una función de [math] \ alpha [/ math] y [math] \ beta [/ math] , podemos escribirlo de la siguiente manera:

[matemáticas] w ^ * (\ alpha, \ beta) = \ arg \ min_ {w} P (w, \ alpha, \ beta, S_ {train}) [/ math]

Ahora usa esto [math] w ^ * [/ math] para predecir en la muestra de validación para obtener un error de validación. Puede ver este escenario en términos de una “función de error de validación”: la función toma como entradas los hiperparámetros [math] \ alpha [/ math] y [math] \ beta [/ math], y devuelve el error de validación correspondiente a [ matemáticas] w ^ * (\ alpha, \ beta) [/ matemáticas].

Por lo tanto, el objetivo de la optimización de hiperparámetros es encontrar el conjunto de valores de [math] \ alpha [/ math] y [math] \ beta [/ math], que minimizan esta función de error de validación.

Tenga en cuenta que esta función de error de validación es muy costosa de evaluar: para cada valor de [math] \ alpha [/ math] y [math] \ beta [/ math], para encontrar el valor de esta función, debe resolver la optimización problema [matemáticas] P [/ matemáticas]. Además, esta función puede ser no convexa, no uniforme, etc., por lo que no es práctico encontrar el mínimo global de esta función de una manera basada en principios.

Por lo tanto, recurrimos a la búsqueda de cuadrícula: elija un grupo de valores de [math] \ alpha [/ math] – [math] (\ alpha_1, \ alpha_2, \ ldots) [/ math], elija un grupo de valores de [math ] \ beta [/ math] – [math] (\ beta_1, \ beta_2, \ ldots) [/ math] y para cada par de valores, evalúe la función de error de validación. Luego, elija el par que proporciona el valor mínimo de la función de error de validación.

Los pares [matemática] (\ alpha_1, \ beta_1), (\ alpha_1, \ beta_2), \ ldots, (\ alpha_2, \ beta_1), (\ alpha_2, \ beta_2), \ ldots [/ math] cuando se trazan en el espacio parece una cuadrícula, de ahí el nombre.

Por supuesto, este argumento trivialmente se generaliza a un mayor número de hiperparámetros.

Respuestas relacionadas:

1) La respuesta de Prasoon Goyal a ¿Qué es la optimización de hiperparámetros en el aprendizaje automático en términos formales?

2) La respuesta de Prasoon Goyal a ¿Por qué la topología de las redes neuronales artificiales y la calidad de la convergencia no se devuelven como parámetros de entrada? ¿Qué pasaría si la topología o la arquitectura pudieran determinarse automáticamente?

La búsqueda de cuadrícula en sentido básico es un método de fuerza bruta para estimar hiperparámetros. Digamos que tiene hiperparámetros [math] k [/ math], y cada uno de ellos tiene valores posibles [math] c_i [/ ​​math]. Luego, realizar una búsqueda de cuadrícula es básicamente tomar un producto cartesiano de estos posibles valores. Entonces aquí tendrá [math] \ displaystyle \ prod_ {i = 1} ^ {k} c_i [/ ​​math] posibilidades.

Uno podría encontrar que la búsqueda de cuadrícula es realmente muy ineficiente, pero en una era de procesamiento paralelo en el que estamos ahora, cada tarea de todas las tareas posibles se puede ejecutar en paralelo. Esto se puede hacer en un esfuerzo mínimo, por lo tanto, hacer que la búsqueda de cuadrícula sea vergonzosamente paralela.

Un algoritmo alternativo que se puede utilizar para la estimación de hiperparámetros es la búsqueda aleatoria.