Optimización de modelos informáticos estocásticos.


11

Este es un tema difícil para mí en Google, ya que tener las palabras optimización y estocástico en una búsqueda casi por defecto es automáticamente la búsqueda de optimización estocástica. Pero lo que realmente quiero saber es qué métodos existen para la optimización de los modelos de computadora cuando la salida del modelo de computadora es estocástica, es decir, no determinista.

Por ejemplo, si considera un modelo de computadora donde hay alguna función desconocida que representa la salida del modelo de computadora, entonces existen muchos métodos estadísticos para resolver problemas comof(x)

minf(x)xX

cuando f(x) es determinista. Pero, ¿qué sucede cuando f(x) es estocástico? ¿Hay una solución al problema o, en el mejor de los casos, solo podemos resolverlo?

minE[f(x)]xX

donde E() es el operador de expectativa habitual.


1
Esta es una pregunta muy interesante. La optimización de es lo único que realmente será posible. Una aplicación estadística relacionada con esta pregunta es el algoritmo MCEM, donde la función de probabilidad completa solo es observable con un error MCMC encima. Del mismo modo, los algoritmos de filtro de partículas MCMC tienen el mismo problema. Sin embargo, no he leído lo suficiente sobre ninguna literatura para saber cuáles son los métodos más modernos para responder a esto. E[f(x)]
Cliff AB

2
Depende de tu objetivo. es solo una de las muchas opciones posibles. En algunas aplicaciones, es posible que desee tener una solución "confiable", no solo una que sea "buena en promedio". En este escenario, optimizaría wrt en algún cuantil de la distribución de . La optimización bayesiana se ocupa de evaluaciones de funciones costosas (y a veces ruidosas). Verifique por ejemplo esta pregunta . E[f(x)]f(x)
lacerbi

1
@lacerbi ¿alguno de esos ejemplos es ruidoso? Creo que son solo deterministas.
RustyStatistician

@RustyStatistician: tienes razón, la mayoría de los ejemplos son deterministas o hablan de la optimización bayesiana en general. Consulte a continuación las referencias más centradas en la parte "ruidosa".
lacerbi

¿Accede al programa de computadora para que pueda ejecutarlo usted mismo para las entradas elegidas ? ¡Entonces los métodos para el diseño de experimentos estarán disponibles para su uso! Busca este sitio. x
kjetil b halvorsen

Respuestas:


10

( Ampliando mi comentario a una respuesta adecuada ) .

Como mencioné, depende de tu objetivo.

El valor esperado es solo una de las muchas opciones posibles para el objetivo de optimización. Por ejemplo, suponiendo que las se distribuyan normalmente, podría hacer:E[f(x)]f(x)

xopt=argminx{E[f(x)]+κVar[f(x)]}
para alguna que manipula la sensibilidad al riesgo. Si está buscando una solución sólida que probablemente sea la mejor y desaliente las grandes fluctuaciones positivas. Viceversa, un negativo favorecería una optimización "optimista" que busca grandes fluctuaciones negativas (negativo es bueno ya que estamos minimizando). Puede elegir función de los cuantiles de la distribución normal (consulte la referencia 2 a continuación).κRκ>0κκ

En general, la optimización bayesiana (BO, que está relacionada con procesos gaussianos y kriging ) se ocupa de evaluaciones de funciones costosas y a veces ruidosas; aunque la mayor parte del foco de la literatura ha estado en la primera parte. Puede encontrar comentarios para la optimización bayesiana en esta pregunta .

Varias personas han aplicado BO a funciones ruidosas. Como una introducción al tema, David Ginsbourger dio una agradable charla titulada "Variaciones sobre la mejora esperada" en el Taller sobre procesos gaussianos para la optimización global (Sheffield, 17 de septiembre de 2015). Puede encontrar su charla aquí , y todas las charlas están disponibles en esta página (también recomiendo todas las demás charlas como una excelente introducción general a BO).

Como referencia, comenzaría con el trabajo realizado por Ginsbourger y sus colegas, y Gramacy y sus colegas:

  1. Picheny, V. y Ginsbourger, D., 2014. "Métodos de optimización basados ​​en kriging ruidosos: una implementación unificada dentro del paquete DiceOptim". Estadística computacional y análisis de datos , 71, pp.1035-1053. ( enlace )

  2. Picheny, V., Ginsbourger, D., Richet, Y. y Caplin, G., 2013. "Optimización basada en cuantiles de ruidosos experimentos informáticos con precisión ajustable". Technometrics , 55 (1), pp.2-13. ( enlace )

  3. Gramacy, RB y Lee, HK, 2012. "Modelos de proceso gaussianos trepados por Bayesian con una aplicación de modelado por computadora". Revista de la Asociación Americana de Estadística . ( enlace )

  4. Gramacy, RB y Apley, DW, 2015. "Aproximación local del proceso gaussiano para grandes experimentos informáticos". Journal of Computational and Graphical Statistics , 24 (2), pp.561-578. ( enlace )

Tanto Ginsburger como Gramacy tienen paquetes R que implementan sus métodos BO, respectivamente DiceOptim y tgp .


1
¿Dónde está en tu respuesta, o quieres decir ? kκ
RustyStatistician

1
Un algoritmo más, que no he usado * pero gana en el divertido departamento de nombres, es SNOBFIT . (* Sin embargo, el autor es notable en la comunidad de optimización, y el software funcionó bien en un punto de referencia determinista , por lo que la recomendación no se basa solo en el nombre genial.)
GeoMatt22

4

Las respuestas actuales se centran en la definición adecuada (matemática) de un objetivo de optimización estocástico: quiero proporcionar una perspectiva algo más aplicada.

Este problema ocurre con frecuencia cuando se ajustan modelos estocásticos, por ejemplo, usando probabilidades informales o sintéticas. La referencia (1) le proporciona una lista de opciones que se pueden usar para definir la distancia entre un modelo estocástico y los datos.

Después de haber definido su objetivo de esta manera, el problema que queda es encontrar el óptimo de algún medio de un objetivo ruidoso. Hay dos rutas por recorrer, a) optimización yb) muestreo de MCMC. Estaba preguntando específicamente sobre la optimización, pero quiero incorporar los MCMC porque a menudo se comportan mejor para esta tarea.

a) Si permanece con la optimización, debe asegurarse de no quedarse atascado y de que el optimizador pueda lidiar con un objetivo estocástico. El capítulo 4 de la tesis doctoral de Matteo Fasiolo da algunas pistas, ver (2).

b) Como observamos en (1), los MCMC son generalmente más robustos frente a un objetivo estocástico; en condiciones moderadas con respecto a la distribución del ruido, el MCMC promediará el ruido y el objetivo muestreado será indistinguible de un no ruidoso objetivo con media del objetivo ruidoso. Sin embargo, los MCMC también pueden atascarse al encontrar una evaluación que es particularmente buena. Lo que NO DEBE HACER ahora es obtener la siguiente idea "obvia": simplemente calcule el valor actual y el propuesto en cada iteración de MCMC. La palabra clave para buscar aquí es "pseudo-marginal", vea también aquí y aquí .

1) Hartig, F .; Calabrese, JM; Reineking, B .; Wiegand, T. y Huth, A. (2011) Inferencia estadística para modelos de simulación estocástica: teoría y aplicación . Ecol. Lett., 14, 816-827.

2) Fasiolo, M. (2016) Métodos estadísticos para la dinámica de la población compleja . Universidad de bath


4

Digamos que estamos en un espacio de probabilidad discreto para que . Intuitivamente, necesita alguna función para que pueda optimizar . ¡Solo puede optimizar un solo objetivo!f(x)RnU:RnRU(f(x))

La optimización de una sola función objetivo puede sonar bastante restrictiva, ¡pero no lo es ! Más bien, un solo objetivo puede representar preferencias increíblemente diversas que pueda tener sobre cuál es una solución mejor o peor.

Saltando adelante, un lugar simple para comenzar puede ser elegir una variable aleatoria luego resolver:λ

minimize (over x)E[λf(x)]subject toxX
Esta es una simple ponderación lineal de . De todos modos, aquí hay un argumento de por qué colapsar múltiples objetivos en un solo objetivo generalmente está bien.E[f(x)]

Configuración básica:

  • Usted tiene una variable de elección y un conjunto factible .xX
  • Su elección de genera un resultado aleatorioxy~=f(x)
  • Tiene preferencias racionales sobre el resultado aleatorio. (Básicamente, puede decir si prefiere un resultado aleatorio a otro).y~

Su problema es elegir modo que:xX

xXf(x)f(x)
En inglés, desea elegir para que ninguna opción factible conduzca a un resultado preferido a .xxf(x)

Equivalencia para maximizar la utilidad (bajo ciertas condiciones técnicas)

Por simplicidad técnica, diré que estamos en un espacio de probabilidad discreto con resultados para poder representar un resultado aleatorio con un vector .ny~yRn

Bajo ciertas condiciones técnicas (que no son limitantes en un sentido práctico), el problema anterior es equivalente a maximizar una función de utilidad . (La función de utilidad asigna resultados más preferidos a un número mayor).U(y)

Esta lógica se aplicaría a cualquier problema en el que su elección conduzca a múltiples variables de resultado.

maximize (over x)U(f(x))subject toxX

Dando más estructura a la función de utilidad : Hipótesis de utilidad esperada :U

Si estamos en un entorno probabilístico y aceptamos los axiomas de Neumann-Morgernstern , la función de utilidad general tiene que tomar una forma especial:U

U(y)=E[u(yi)]=ipiu(yi)
Donde es la probabilidad de estado y es una función de utilidad cóncava. La curvatura de mide la aversión al riesgo. Simplemente sustituyendo esta forma especializada de obtienes:piiuuU

maximize (over x)ipiu(yi)subject toxXy=f(x)

Observe que el caso simple está maximizando el valor esperado (es decir, sin aversión al riesgo).u(yi)=yi

Otro enfoque: pesasλ

Otra cosa que debe hacer es:

maximize (over x)iλiyisubject toxXy=f(x)

Intuitivamente, puede elegir pesos que sean más grandes o más pequeños que la probabilidad de que ocurra un estado, y esto captura la importancia de un estado.λipi

La justificación más profunda de este enfoque es que, bajo ciertas condiciones técnicas, existen pesos lambda modo que el problema anterior y los problemas anteriores (por ejemplo, maximizando ) tengan la misma solución.λU(f(x))


Pero en esta configuración, ¿no todas las funciones de utilidad conducen a la misma respuesta correcta?
RustyStatistician

¿Y hay opciones típicas para las funciones de utilidad? Mi problema es un simulador de computadora estocástico, que en realidad es un simulador de caja negra, por lo que no conozco información sobre la mecánica subyacente, ¿puedo incluso asignarle una función de utilidad?
RustyStatistician

Debe pensar a través de la lógica de su problema, lo que constituye un buen resultado, y luego encontrar alguna función objetiva que asigne mejores resultados a un número mayor. (O de manera equivalente, puede configurar esto como un problema de minimización y asignar peores resultados a un número más alto, por ejemplo, minimizar alguna noción de error al cuadrado, etc.)
Matthew Gunn
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.