Por Eduardo Cesar Garrido Merchán
Profesor de Métodos Cuantitativos, Universidad Pontificia Comillas.
Pincha aquí para ver el vídeo sobre este post
En anteriores entradas del blog hemos estudiado como la optimización Bayesiana es una clase de métodos que nos sirve como herramienta para solucionar el problema de la búsqueda de hiperparámetros en los modelos de aprendizaje automático con resultados espectaculares. Sin embargo, la optimización Bayesiana no se planteó inicialmente para resolver este problema sino que es capaz de resolver un conjunto de problemas mucho mas amplio, tal y como se detalla en esta nueva entrada del blog.
La optimización Bayesiana es una clase de métodos que proporcionan una aproximación al óptimo, bien sea un problema de minimización o de maximización, de funciones de tipo caja negra. Estas funciones típicamente cuentan con una serie de variables de entrada y una de salida. La optimización Bayesiana por tanto te daría una aproximación al valor de salida óptimo y también los valores de las variables de entrada respectivos. ¿Pero qué es una función de caja negra? Pues básicamente se tienen que cumplir tres condiciones para que una función objetivo pueda ser considerada de caja negra.
En primer lugar, se debe desconocer la expresión analítica de la función que se quiere optimizar. La implicación directa es que, al desconocerse la expresión analítica de la función objetivo, entonces, los gradientes de la función objetivo son también desconocidos. Por tanto, no podemos utilizar métodos de optimización clásica para solucionar este problema, ya que requieren de los gradientes de la función objetivo para poder funcionar. Es muy interesante comprobar que lo mas común es que se desconozca la función que se quiere optimizar. Por ejemplo: la configuración óptima de un cohete o de un fórmula 1, el mejor sabor que puedo obtener para la receta de mi plato favorito o la estrategia empresarial óptima.
En segundo lugar, la función objetivo puede estar contaminada, es decir, que si se evalúa a la función objetivo con la misma configuración, las observaciones obtenidas estarán contaminadas por ruido, obteniendo valores parecidos pero no idénticos. En otras palabras, cada configuración tiene una distribución de probabilidad asociada. Esto es un problema muy importante para muchos métodos de optimización, que marginalizarían el ruido, pero no para la optimización bayesiana, ya que el proceso Gaussiano subyacente modela la incertidumbre de cada posible evaluación y lo tiene en cuenta para el proceso de optimización.
Por último pero no menos importante, la función objetivo debe ser muy costosa de evaluar. Y con costosa de evaluar me refiero a que la función objetivo puede ser costosa en términos de tiempo, recursos computacionales, recursos humanos o contaminación al medio ambiente. Por ejemplo, cada evaluación de una configuración de un cohete especial es muy costosa con respecto a las 4 características mencionadas. Si la configuración es mala, el impacto producido es crítico en las 4 dimensiones. Por ello, no sería recomendable una búsqueda aleatoria sino una sugerencia estimada con optimización Bayesiana, ya que sería el método mas formal para obtener una configuración exitosa.