Para definir un modelo predictivo, los Data Scientists utilizan múltiples observaciones. Pero si bien el estudio de estas observaciones permite llegar a un resultado óptimo, los expertos en datos a menudo disponen de poco tiempo para analizar todas las hipótesis. Entonces, ¿cómo encontrar el modelo correcto en el menor tiempo posible? Es en este momento cuando interviene la optimización bayesiana. ¿De qué se trata? ¿Cómo funciona? Las respuestas están aquí.
¿Qué es el enfoque bayesiano?
La optimización bayesiana se deriva directamente del teorema de Bayes:
A través de este teorema, tienes un valor y que es función de x. La idea es entonces determinar el valor de x optimizando el valor de y. Aquí, x está constituido por un conjunto de parámetros (o de observación).
Concretamente, esto se puede aplicar en una multitud de situaciones, tales como la determinación de un precio ideal para maximizar los márgenes, la configuración de una aplicación o de una base de datos para maximizar su rendimiento, la gestión de parámetros para optimizar el aprendizaje supervisado, etc.
En todos estos supuestos, los Data Scientists solo disponen de un número limitado de observaciones para alcanzar un resultado óptimo (ya sea por restricciones de tiempo, financieras o materiales).
De hecho, para definir el mejor modelo, generalmente es necesario probar numerosas hipótesis, realizar varios entrenamientos y validaciones. Pero todas estas fases de pruebas toman tiempo. Por lo tanto, no es posible estudiar una cantidad ilimitada de hipótesis.
Para enfrentar estas restricciones, se ha implementado la optimización bayesiana.
¿Cómo funciona la optimización bayesiana?
La idea central de la optimización bayesiana es minimizar el número de observaciones mientras se converge rápidamente hacia la solución óptima. Para ello, es necesario conocer tres principios fundamentales.
El proceso Gaussiano
La idea del enfoque bayesiano es explotar las observaciones conocidas para deducir probabilidades de eventos que aún no se han observado. Para llegar a esta conclusión, es necesario determinar para cada valor X la distribución de probabilidad.
Para ello, el método más efectivo es sin duda el proceso gaussiano. Este permite identificar el valor más probable (llamado media µ) y la dispersión probable del valor alrededor de la media (llamado desviación estándar σ). Esta desviación estándar σ se debilita a medida que te acercas a un punto ya observado.
Idealmente, será necesario calcular estos valores y estas distancias para cada punto de observación. Pero en la práctica, esta representación exhaustiva no es posible por falta de tiempo. Por lo tanto, es necesario seleccionar los puntos a evaluar.
La exploración y la explotación
Para diseñar un modelo predictivo eficiente, los Data Scientists deben definir los puntos más pertinentes. Esto se lleva a cabo en dos tiempos:
- La exploración: esta es interesante cuando la desviación estándar es particularmente grande. En otras palabras, la variable desconocida en el espacio de búsqueda es elevada. Esto permite entonces probar varios modelos y mejorar el conocimiento de la función a optimizar.
- La explotación: en esta etapa, se trata de afinar los modelos probados anteriormente. La idea es encontrar el punto máximo o máximo. Para ello, los Data Scientists explotan la media µ. Si esta se encuentra en los extremos, es más fácil identificar el modelo correcto.
Atención, es necesario encontrar el equilibrio justo entre la exploración y la explotación. De hecho, si privilegias la exploración, corres el riesgo de dejar a un lado otros modelos posiblemente más eficientes. Por el contrario, si favoreces la explotación, podrías ignorar mejoras necesarias.
La función de adquisición
La función de adquisición permite encontrar el compromiso adecuado entre estas dos variables. De hecho, para cada punto del espacio de búsqueda, la función identifica un potencial de optimización. Entre todos estos puntos, la función identifica un máximo. Este es el siguiente punto a probar. Solo hay que repetir el cálculo tantas veces como sea necesario hasta lograr una convergencia entre el máximo y el mínimo. Este par de parámetros es el que debería permitir lograr el mejor rendimiento.
Es bueno saber: El ruido puede alterar los datos y dificultar el aprendizaje. Por lo tanto, para evitar esta situación, es primordial verificar que el entorno sea lo suficientemente estable y las observaciones reproducibles antes de cualquier uso de la optimización bayesiana.
¿Cómo aplicar la optimización bayesiana?
Para simplificar los cálculos de la optimización bayesiana, lo más sencillo es utilizar buenas herramientas. Como el paquete Python scikit-optimize o bayesian-optimization. Solo es necesario definir un espacio de búsqueda, y la herramienta se encargará de encontrar los puntos de alto potencial, especialmente gracias al proceso Gaussiano. Nuevamente, será necesario relanzar Python hasta obtener un resultado satisfactorio.