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?
bayesian
hyperparameter
Yoni Keren
fuente
fuente
Respuestas:
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 ...
fuente
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
fuente
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.
fuente