He estado estudiando Optimización bayesiana últimamente e hizo las siguientes anotaciones sobre este tema:
-
A diferencia de las funciones deterministas, las funciones del mundo real se construyen utilizando mediciones físicas
-
Las mediciones siempre pueden tener errores (por ejemplo, error humano, error de diseño y de experimentación, error aleatorio, error de medición): si se registran las mismas mediciones en las mismas condiciones pero en un momento futuro, es muy probable que estas mediciones puedan ser diferentes de las anteriores.
-
Por tanto, una función objetivo basada en mediciones físicas es "inestable" por naturaleza: dos personas pueden registrar las mismas mediciones, obtener valores diferentes y, como resultado, dos funciones objetivo distintas.
-
Una función "ruidosa" es también una función "inestable": si tuviéramos que optimizar esta "función ruidosa", los resultados de la optimización podrían no corresponderse con el sistema natural que estamos estudiando debido a los errores inherentes al registrar las mediciones. Esto significa que, en cierto sentido, estamos ante una versión más complicada de "manzanas y naranjas".
-
La optimización bayesiana intenta resolver este problema utilizando las mediciones registradas como "clavijas" y montando una "carpa de circo" sobre estas mediciones mediante la forma de un proceso gaussiano. Esto actúa como una especie de "suavizado probabilístico" y trata de tener en cuenta estadísticamente todas las posibles variaciones no capturadas que existen en las mediciones, siempre que la suposición de que el "proceso generador de datos" está bien representado por un proceso gaussiano sea cierta.
-
Así, la optimización bayesiana intenta "suavizar" el ruido/variación/error en la función objetivo, añadiendo una "robustez" natural a la solución de optimización final. Todo esto significa que la optimización bayesiana tiene el potencial de darnos mejores resultados.
Ventajas de la optimización bayesiana:
- Robustez (como se ha descrito anteriormente)
- No requiere que la función objetivo sea diferenciable (es decir, es útil en problemas de optimización discretos y combinatorios).
- Como no calcula la derivada, tiene el potencial de ser más "eficiente computacionalmente" en comparación con los métodos de optimización basados en el gradiente.
Desventajas de la optimización bayesiana:
- Requiere que la verdadera función objetivo esté bien modelada por un Proceso Gaussiano
- Empíricamente se ha observado que funciona mal en funciones objetivo de alta dimensión (es decir, más de 20 dimensiones) - sin embargo, no entiendo por qué.
A menudo he oído esta afirmación sobre el bajo rendimiento de la optimización bayesiana en más de 20 dimensiones, pero nunca he sido capaz de entender por qué. He intentado consultar algunas referencias en Internet:
1) "Optimización bayesiana de alta dimensión con subespacios Axis-Aligned Subspaces" (Eriksson et al 2021)
-
"La BO de alta dimensionalidad presenta un desafío particular, en parte porque la maldición de la dimensionalidad hace difícil definir -así como hacer inferencia sobre- una clase adecuada de modelos sustitutos".
-
"Si bien BO se ha convertido en un algoritmo de caballo de batalla que se emplea en una amplia variedad de entornos, las aplicaciones exitosas a menudo se limitan a problemas de baja dimensión, por ejemplo, menos de menos de veinte dimensiones [Frazier, 2018]. La aplicación de BO a problemas de alta dimensión sigue siendo un desafío significativo. La dificultad se puede remontar a los dos componentes del algoritmo mencionados anteriormente, aunque postulamos que los priors de función adecuados son especialmente importantes para un buen rendimiento. En particular, para que BO sea eficiente en cuanto a la muestra en espacios de alta dimensión, es crucial definir modelos sustitutos que sean lo suficientemente parsimoniosos como para que puedan inferirse a partir de un pequeño número de puntos de consulta. Una clase de modelos Una clase de modelos demasiado flexible puede sufrir de sobreajuste, lo que limita seriamente su eficacia en la toma de decisiones. Del mismo modo, una clase de modelos demasiado rígida probablemente no pueda de la función objetivo. Es esencial un compromiso entre flexibilidad y parsimonia".
2) " High-dimensional Bayesian optimization using low-dimensional feature spaces" (Moriconi et al, 2020)
- "Sin embargo, la BO (optimización bayesiana) está prácticamente limitada a la optimización de 10-20 parámetros. Para escalar BO a dimensiones altas solemos hacer suposiciones estructurales sobre la descomposición del objetivo y/o explotar la baja dimensionalidad intrínseca del problema, por ejemplo, utilizando proyecciones lineales. proyecciones lineales. Podríamos lograr una mayor tasa de compresión con proyecciones no lineales no lineales, pero el aprendizaje de estas incrustaciones no lineales suele requerir muchos datos. datos. Esto contradice el objetivo de BO de un presupuesto de evaluación relativamente pequeño".
3) "Un tutorial sobre optimización bayesiana" (Frazier, 2018)
-
"(La optimización bayesiana) es la más adecuada para la optimización en dominios continuos de menos de 20".
-
"La entrada x está en R-d para un valor de d que no sea demasiado grande. Típicamente d 20 en la mayoría de las aplicaciones exitosas de BayesOpt".
Mi pregunta : En ningún lugar de estos documentos explican por qué "20 Dimensiones" parece ser un umbral relevante para decidir las condiciones en las que el rendimiento de la Optimización Bayesiana comienza a deteriorarse.
-
¿Puede alguien explicar por qué se dice que "20 dimensiones" es el umbral máximo para la optimización bayesiana?
-
Aunque se proporcionan algunas explicaciones que explican la dificultad de la optimización bayesiana en dimensiones superiores, ¿podría alguien ayudarme a entender esto con más detalle?
Referencias:
Optimización bayesiana de alta dimensión con subespacios dispersos alineados por ejes ( PDF )
Tutorial sobre optimización bayesiana ( PDF )
Optimización bayesiana de alta dimensión utilizando espacios de características de baja dimensión ( PDF )