El método de entropía cruzada ( CE ) es un método de Monte Carlo para el muestreo de importancia y la optimización . Es aplicable tanto a problemas combinatorios como continuos , con una función objetivo estática o con ruido.
El método aproxima el estimador de muestreo de importancia óptimo repitiendo dos fases: [ 1 ]
- Extraer una muestra de una distribución de probabilidad .
- Minimizar la entropía cruzada entre esta distribución y una distribución objetivo para producir una mejor muestra en la siguiente iteración.
Reuven Rubinstein desarrolló el método en el contexto de la simulación de eventos raros , donde se deben estimar probabilidades muy pequeñas, por ejemplo, en el análisis de confiabilidad de redes, modelos de colas o análisis de rendimiento de sistemas de telecomunicaciones. El método también se ha aplicado al problema del viajante , la asignación cuadrática , la alineación de secuencias de ADN , el corte máximo y los problemas de asignación de búferes.
Estimación mediante muestreo de importancia
Consideremos el problema general de estimar la cantidad
;\mathbf {u} )\,{\textrm {d}}\mathbf {x} } ,
dóndees alguna función de rendimiento y ;\mathbf {u} )} es un miembro de alguna familia paramétrica de distribuciones. Usando el muestreo de importancia, esta cantidad se puede estimar como
,
dóndees una muestra aleatoria de. Para positivo, la densidad de muestreo de importancia (PDF) teóricamente óptima viene dada por
;\mathbf {u} )/\ell } .
Sin embargo, esto depende de lo desconocido.El método CE tiene como objetivo aproximar la función de densidad de probabilidad óptima seleccionando de forma adaptativa a los miembros de la familia paramétrica que estén más cerca (en el sentido de Kullback-Leibler ) de la función de densidad de probabilidad óptima ..
Algoritmo CE genérico
- Elija el vector de parámetros inicial.; establecer t = 1.
- Generar una muestra aleatoriade ;\mathbf {v} ^{(t-1)})}
- Resuelve para, dónde
- Si se alcanza la convergencia , deténgase ; de lo contrario, aumente t en 1 y repita desde el paso 2.
En varios casos, la solución al paso 3 se puede encontrar analíticamente . Las situaciones en las que esto ocurre son:
- Cuandopertenece a la familia exponencial natural
- Cuandoes discreto con soporte finito
- Cuandoy, entoncescorresponde al estimador de máxima verosimilitud basado en esos.
Optimización continua : ejemplo
El mismo algoritmo CE se puede utilizar para optimización, en lugar de estimación. Supongamos que el problema es maximizar alguna función., Por ejemplo, Para aplicar CE, primero se considera el problema estocástico asociado de estimación para un nivel determinadoy familia paramétrica ;{\boldsymbol {\theta }})\right\}} , por ejemplo la distribución gaussiana unidimensional , parametrizada por su mediay varianza(entoncesaquí). Por lo tanto, para un dado, el objetivo es encontrarde modo que se minimiza. Esto se hace resolviendo la versión de muestra (contraparte estocástica) del problema de minimización de la divergencia KL, como en el paso 3 anterior. Resulta que los parámetros que minimizan la contraparte estocástica para esta elección de distribución objetivo y familia paramétrica son la media de la muestra y la varianza de la muestra correspondientes a las muestras de élite , que son aquellas muestras que tienen valor de la función objetivo. La peor de las muestras de élite se utiliza entonces como parámetro de nivel para la siguiente iteración. Esto produce el siguiente algoritmo aleatorio que coincide con el llamado Algoritmo de Estimación de Distribución Normal Multivariada (EMNA), un algoritmo de estimación de distribución .
Pseudocódigo
// Inicializar parámetros μ := −6 σ 2 := 100 t := 0 máximos := 100 N := 100 Ne := 10 // Mientras maxits no se exceda y no haya convergencia mientras t < maxits y σ 2 > ε hacer // Obtener N muestras de la distribución de muestreo actual X := SampleGaussian( μ , σ 2, N) // Evaluar la función objetivo en los puntos muestreados S := exp(−(X − 2) ^ 2) + 0.8 exp(−(X + 2) ^ 2) // Ordenar X por valores de la función objetivo en orden descendente X := sort(X, S) // Actualizar los parámetros de la distribución de muestreo a través de muestras de élite μ := media(X(1:Ne)) σ 2 := varianza(X(1:Ne)) t := t + 1 // Devuelve la media de la distribución de muestreo final como solución return μ
Métodos relacionados
Véase también
Artículos de revistas
- De Boer, P.-T., Kroese, DP, Mannor, S. y Rubinstein, RY (2005). Un tutorial sobre el método de entropía cruzada. Annals of Operations Research , 134 (1), 19–67.
- Rubinstein, RY (1997). Optimización de modelos de simulación por computadora con eventos raros, European Journal of Operational Research , 99 , 89–112.
Implementaciones de software
- Paquete CEopt para Matlab
- Paquete CEoptim R
- Biblioteca Novacta.Analytics para .NET
Referencias
- Heurísticas
- Algoritmos y métodos de optimización
- métodos de Monte Carlo
- Aprendizaje automático