¿Por qué la búsqueda aleatoria es mejor que la búsqueda de cuadrícula para la optimización de hiperparámetros?

Gracias por el A2A.

La búsqueda de cuadrícula explora un espacio de parámetros de forma sistemática, pero solo busca puntos fijos. Es completamente posible que los puntos óptimos en este espacio no estén en el conjunto de puntos fijos que la búsqueda de cuadrícula observó. Creo que el artículo al que hizo referencia argumenta que la búsqueda en cuadrícula no es mejor que la búsqueda aleatoria, y que la búsqueda aleatoria tiene la misma probabilidad de encontrar un punto óptimo.

También para n hiperparámetros, si desea explorar 5 puntos para cada hiperparámetro, deberá ejecutar 5 ** n experimentos. Con la búsqueda aleatoria, puede limitarlo a cualquier número que sea factible para usted, y aún estar razonablemente seguro de que ha explorado el espacio del hiperparámetro “lo suficientemente bien”.

Otro enfoque es hacer una búsqueda aleatoria junto con una función de aceptación que influye en la dirección de la búsqueda. Esto generalmente producirá mejores hiperparámetros que la cuadrícula o la búsqueda aleatoria. El único problema con eso es que el proceso es secuencial, a diferencia de la cuadrícula o la búsqueda aleatoria.

Editado el 28 de octubre de 2017 : Gracias a George Brova por señalar algunas cosas (ver comentarios) que debería haber llamado explícitamente en mi respuesta: la búsqueda aleatoria explora el espacio del hiperparámetro de manera más eficiente que la búsqueda de cuadrícula (la Figura 1 en el documento le indica por qué), y en la práctica tiene un presupuesto de evaluación limitado, por lo que es probable que el mismo número de ejecuciones con la búsqueda aleatoria produzca un mejor conjunto de parámetros que el mismo número de ejecuciones con la búsqueda de cuadrícula. Observe también la respuesta de George Brova a ¿Por qué la búsqueda aleatoria es mejor que la búsqueda de cuadrícula para la optimización de hiperparámetros?

Primero, ¿cómo lo estableciste? y principalmente bajo qué circunstancias? ¿Se refiere a evaluar aleatoriamente la función de costo en una cuadrícula en lugar de la evaluación determinista?

Hay varias heurísticas disponibles para la optimización de hiperparámetros. Algunas propiedades de la función de costo (continua / discreta, si el gradiente / hessian están disponibles) afectan la elección. El kilometraje varía de un caso a otro; pero como regla general: más información proporcione mejor / más rápido será la convergencia.

Para darle un ejemplo: suposición aleatoria en un espacio de parámetros de alta dimensión versus método evolutivo diferencial con una buena suposición inicial.

La ESA mantuvo que Pagmo implementa un método de isla general con selección de algoritmos que pueden requerir o no gradientes. Está diseñado para clústeres / supercomputadoras con capacidad MPI-I con o sin procesadores GPU.

literatura levantada del sitio web de Pagmo:
Izzo, D., PyGMO y PyKEP: Herramientas de código abierto para la optimización masivamente paralela en astrodinámica (el caso de la optimización de la trayectoria interplanetaria), Conferencia Internacional sobre Herramientas y Técnicas de Astrodinámica – ICATT, 2012.

Izzo, D., Rucinski, M. y Biscani, F., The Generalized Island Model, Parallel Architectures and Bioinspired Algorithms, Springer Berlin / Heidelberg, pp.151–169, 2012.

Rucinski, M., Izzo, D. y Biscani, F., Sobre el impacto de la topología de la migración en el modelo de isla, Parallel Computing, 36, Elsevier, pp.555-571, 2010.

Espero eso ayude.

El título de la Figura 1 en el documento que vinculó ayuda a ilustrar esto bastante bien.

A menudo, algunos hiperparámetros tendrán un mayor efecto sobre el rendimiento del modelo que otros. Por ejemplo, suponga que el modelo es bastante sensible al hiperparámetro 1 y no sensible al hiperparámetro 2.

Suponga que solo tiene suficiente presupuesto (CPU, paciencia) para entrenar el modelo 9 veces. Una búsqueda en la cuadrícula intentará {3 valores para el hiperparámetro 1} * {3 valores para el hiperparámetro 2}. Mientras tanto, una búsqueda aleatoria podrá probar 9 valores diferentes para el hiperparámetro 1 (y 9 valores diferentes para el hiperparámetro 2). Como la búsqueda aleatoria intentó probar más valores para el parámetro 1, es más probable que uno de ellos esté cerca del óptimo.

Un artículo sobre búsqueda aleatoria para la optimización de hiperparámetros que debería responder a su pregunta:

http://www.jmlr.org/papers/volum