Método de entropia cruzada - Cross-entropy method
O método de entropia cruzada ( CE ) é um método de Monte Carlo para amostragem de importância e otimização . É aplicável a problemas combinatórios e contínuos , com um objetivo estático ou ruidoso.
O método aproxima o estimador de amostragem de importância ideal, repetindo duas fases:
- Extraia uma amostra de uma distribuição de probabilidade.
- Minimize a entropia cruzada entre esta distribuição e uma distribuição de destino para produzir uma amostra melhor na próxima iteração.
Reuven Rubinstein desenvolveu o método no contexto de simulação de eventos raros , onde pequenas probabilidades devem ser estimadas, por exemplo, em análise de confiabilidade de rede, modelos de enfileiramento ou análise de desempenho de sistemas de telecomunicações. O método também foi aplicado ao caixeiro viajante , atribuição quadrática , alinhamento de sequência de DNA , corte máximo e problemas de alocação de buffer.
Estimativa por meio de amostragem de importância
Considere o problema geral de estimar a quantidade
,
onde é alguma função de desempenho e é membro de alguma família paramétrica de distribuições. Usando a amostragem de importância, essa quantidade pode ser estimada como
,
de onde é uma amostra aleatória . Para positivo , a densidade de amostragem de importância teoricamente ideal (PDF) é dada por
.
Isso, no entanto, depende do desconhecido . O método CE visa aproximar o PDF ideal, selecionando adaptativamente os membros da família paramétrica que estão mais próximos (no sentido de Kullback-Leibler ) do PDF ideal .
Algoritmo CE genérico
- Escolha o vetor de parâmetro inicial ; defina t = 1.
- Gere uma amostra aleatória de
- Resolva para onde
- Se a convergência for alcançada, pare ; caso contrário, aumente t em 1 e repita a partir da etapa 2.
Em vários casos, a solução para a etapa 3 pode ser encontrada analiticamente . Situações em que isso ocorre são
- Quando pertence à família exponencial natural
- Quando é discreto com suporte finito
- Quando e , então corresponde ao estimador de máxima verossimilhança com base naqueles .
Otimização contínua - exemplo
O mesmo algoritmo CE pode ser usado para otimização, em vez de estimativa. Suponha que o problema seja maximizar alguma função , por exemplo ,. Para aplicar CE, considera-se primeiro o problema estocástico associado de estimativa para um dado nível , e família paramétrica , por exemplo a distribuição gaussiana unidimensional , parametrizada por sua média e variância ( aqui). Logo, para um dado , o objetivo é encontrar de forma que seja minimizado. Isso é feito resolvendo a versão de amostra (contraparte estocástica) do problema de minimização de divergência KL, como na etapa 3 acima. Acontece que os parâmetros que minimizam a contraparte estocástica para esta escolha de distribuição alvo e família paramétrica são a média da amostra e a variância da amostra correspondentes às amostras de elite , que são aquelas amostras que têm valor de função objetivo . O pior dos exemplos de elite é então usado como o parâmetro de nível para a próxima iteração. Isso produz o seguinte algoritmo aleatório que coincide com o chamado Algoritmo Normal Multivariado de Estimação (EMNA), um algoritmo de estimativa de distribuição .
Pseudo-código
// Initialize parameters μ := −6 σ2 := 100 t := 0 maxits := 100 N := 100 Ne := 10 // While maxits not exceeded and not converged while t < maxits and σ2 > ε do // Obtain N samples from current sampling distribution X := SampleGaussian(μ, σ2, N) // Evaluate objective function at sampled points S := exp(−(X − 2) ^ 2) + 0.8 exp(−(X + 2) ^ 2) // Sort X by objective function values in descending order X := sort(X, S) // Update parameters of sampling distribution μ := mean(X(1:Ne)) σ2 := var(X(1:Ne)) t := t + 1 // Return mean of final sampling distribution as solution return μ
Métodos relacionados
- Recozimento simulado
- Algorítmos genéticos
- Busca de harmonia
- Estimativa do algoritmo de distribuição
- Pesquisa tabu
- Estratégia de Evolução Natural
Veja também
Artigos de jornal
- De Boer, PT., Kroese, DP, Mannor, S. e Rubinstein, RY (2005). Um tutorial sobre o método de entropia cruzada. Annals of Operations Research , 134 (1), 19-67. [1]
- Rubinstein, RY (1997). Otimização de Modelos de Simulação de Computador com Eventos Raros, European Journal of Operational Research , 99 , 89-112.