Realmente no hay nada en lo que “confiar” en la búsqueda aleatoria. La aleatoriedad (o más bien, la distribución utilizada para muestrear hiperparámetros, como el uniforme para rangos de metaparámetros de valor continuo) es simplemente el mecanismo utilizado para (con suerte) explorar mejor el gran espacio de búsqueda de configuraciones de metaparámetros. El objetivo de la búsqueda aleatoria es evitar realizar una búsqueda exhaustiva normalmente costosa como la búsqueda de cuadrícula y, sin embargo, encontrar combinaciones potencialmente razonables / buenas de hiperparámetros cuando ciertamente hay más que, 2 (como para algunas máquinas de vectores de soporte basadas en el núcleo ) y cuando hay quizás un previo humano pobre sobre qué hiperparámetros / rangos funcionan mejor (utilizo “previo humano” para referirnos a nuestras creencias preexistentes sobre lo que podría funcionar o lo que ha funcionado escrito en la literatura actual).
Me gusta pensar más en la búsqueda aleatoria desde una perspectiva de búsqueda / optimización estocástica: la razón por la que introducimos ruido (o alguna forma de estocasticidad) en el proceso es potencialmente “rebotar” en mínimos locales pobres. Si bien esto se usa más comúnmente para explicar la intuición en la optimización general (como el descenso de gradiente estocástico para actualizar parámetros o aprender modelos basados en la temperatura), podemos pensar en los humanos que miran a través del espacio de metaparámetros como simplemente un problema de optimización de nivel superior . Como la mayoría estaría de acuerdo en que estos espacios dimensionales (razonablemente altos) conducen a una forma no convexa de optimización, los humanos, armados incluso con algunas heurísticas de investigaciones anteriores, podemos quedar atrapados en los óptimos locales (al igual que las redes neuronales que muchos intentan entrenar). ) Explorar al azar el espacio de búsqueda podría darnos una mejor cobertura del espacio general y, lo que es más importante, podría ayudarnos a encontrar mejores óptimas locales.
Ahora tenga en cuenta que ciertamente puede hacer que la búsqueda aleatoria sea “más inteligente”. Para comenzar, puede ejecutar una o dos rondas de búsqueda aleatoria, luego “acercar” los puntos “interesantes” en el espacio de error y continuar buscando en esas regiones de grano más fino. Otra forma podría ser cambiar las distribuciones utilizadas para muestrear los rangos de hiperparámetros (esto podría verse como una codificación de anteriores débiles; por ejemplo, es típico muestrear la tasa de aprendizaje en búsqueda aleatoria usando la distribución uniforme logarítmica). O, simplemente deje que la máquina lo haga por usted … a. Bayesian Optimization 😉 [Todo lo que necesitamos ahora es una máquina diferente para escribir el papel para nosotros …]
- ¿Qué factores se basan en comenzar un gráfico de dibujo de una red bayesiana?
- ¿Cómo se implementa una pila en hardware para subrutinas de nivel de código de máquina?
- Cómo extraer términos importantes de datos de texto no estructurados
- ¿Por qué son escasos los autoencoders escasos?
- ¿Cuál es la diferencia entre el aprendizaje automático y el análisis de datos?
Nota: metaparámetro = hiperparámetro = parámetro libre (escribí una respuesta diferente hace mucho tiempo sobre Quora explicando que estos, en la literatura de ML, a menudo se usan de manera intercambiable).