Ajuste de hiperparámetros: búsqueda aleatoria vs optimización bayesiana

14

Entonces, sabemos que la búsqueda aleatoria funciona mejor que la búsqueda de cuadrícula, pero un enfoque más reciente es la optimización bayesiana (usando procesos gaussianos). Busqué una comparación entre los dos y no encontré nada. Sé que en el cs231n de Stanford solo mencionan la búsqueda aleatoria, pero es posible que quisieran mantener las cosas simples.

Mi pregunta es: ¿qué enfoque es generalmente mejor, y si la respuesta es "a veces búsqueda aleatoria, a veces bayesiana", cuándo debería preferir un método sobre otro?

Yoni Keren
fuente
2
Google está vendiendo sus servicios en la nube de aprendizaje profundo ahora y está impulsando una función que ajusta automáticamente sus hiperparámetros con la optimización bayesiana ... por supuesto, afirma que hace lo mejor y también es más rápido (buscando en el hiperespacio de manera más eficiente). Hay varios documentos que evalúan BO vs RS y muestran que BO está un poco mejor. OMI por lo que he visto, la diferencia es algo que te interesaría más en una competencia de Kaggle que en la vida real.
JPJ

Respuestas:

9

Creo que la respuesta aquí es la misma que en todas partes en ciencia de datos: depende de los datos :-)

Puede suceder que un método supere a otro (aquí https://arimo.com/data-science/2016/bayesian-optimization-hyperparameter-tuning/ people compara la optimización del hiperparámetro bayesiano y logra un mejor resultado en el desafío de kaggle del crimen de San Francisco que con búsqueda aleatoria), sin embargo, dudo que haya una regla general para eso. Puede ver un buen gif aquí ( http://blog.revolutionanalytics.com/2016/06/bayesian-optimization-of-machine-learning-models.html ) donde las personas muestran el 'camino' que toma la optimización bayesiana en el paisaje de hiperparámetros, en particular, no parece que supere la búsqueda aleatoria en general ...

Creo que la razón por la cual las personas tienden a usar la optimización de hiperparámetros bayesianos es que solo requiere menos pasos de entrenamiento para lograr un resultado comparable en comparación con la búsqueda aleatoria con un número suficientemente alto de experimentos.

Resumiendo en una oración:

* Cuando el tiempo de entrenamiento es crítico, use la optimización de hiperparámetros bayesianos y si el tiempo no es un problema, seleccione uno de los dos ... *

Por lo general, soy demasiado vago para implementar las cosas bayesianas con procesos gaussianos si puedo lograr el mismo resultado con la búsqueda aleatoria ... Simplemente entreno conjuntos de Bossting de gradiente en 'pocos' datos, por lo que para mí, el tiempo no es un problema ...

Fabian Werner
fuente
5

La optimización bayesiana es mejor porque toma decisiones más inteligentes. Puede consultar este artículo para obtener más información: Optimización de hiperparámetros para redes neuronales . Este artículo también tiene información sobre los pros y los contras de ambos métodos + algunas técnicas adicionales como la búsqueda de cuadrícula y los estimadores de parzen estructurados en árbol. A pesar de que fue escrito para mostrar los pros y los contras de diferentes métodos para redes neuronales, el conocimiento principal es generalizable para cualquier otro dominio de aprendizaje automático

itdxer
fuente
1
Sólo quería señalar que en su primera frase, la razón real de por qué la optimización bayesiana es mejor no es que se toman las decisiones son más inteligentes , se trata de decisiones que se hacen en absoluto .
Alexander Rossa
1

Es de destacar que la optimización de hiperparámetros bayesianos es un proceso secuencial, por lo que puede llevar más tiempo que algunos otros enfoques capaces de buscar o realizarse en paralelo.

hlsmith
fuente