Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de...

Preview:

Citation preview

   

Métodos Markov Chain Monte Carlo

David J. Rios

Optimización Combinatoria

19 de mayo del 2008

   

MCMC

Introducción

¿Que son Cadenas de Markov?

¿Que es Monte Carlo?

¿Que es Markov Chain Monte Carlo?

Algoritmo Metropolis Algoritmo de partición

Usos de MCMC

Muestreo y simulación Integración

   

Introducción

MCMC es una técnica que simula una cadena de Markov cuyos estados siguen una probabilidad dada en un estado de espacios de grandes dimensiones.

Esencialmente genera muestras justas de una probabilidad.

   

Cadena de Markov

Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de transición

El estado actual solo depende del estado anterior.

X t∣X t−1 , ... , X 0~P X t∣X t−1 , ... , X 0=P X t∣X t−1

   

   

Monte Carlo

El método de Monte Carlo es un método no determinístico o estadístico numérico usado para aproximar expresiones matemáticas complejas y costosas de evaluar con exactitud.

   

A diferencia de los métodos numéricos que se basan en evaluaciones en N puntos en un 

espacio M­dimensional para producir una solución aproximada, el método de Monte Carlo tiene un 

error absoluto de la estimación que decrece como  de acuerdo al teorema del límite central.1

x

   

Idea del Método Monte Carlo

● Se hacen muchisimas repeticiones y se intenta reconocer el comportamiento del sistema.

●Estas simulaciones siempre se hacen mediante ungenerador de números aleatorios.

   

Ejemplo:Reproducir, mediante números aleatorios, la tirada sucesiva de una moneda.

●Se asigna un intervalo de números aleatorios a CARA y otro a CRUZ, para poder interpretar el resultado de la simulación

●Los intervalos se asignan en función de las probabilidades de ocurrencia de cada cara de la moneda

CARA Probabilidad: 0.50 Números aleatorios: 0.000 al 0.499

CRUZ Probabilidad: 0.50 Números aleatorios: 0.500 al 0.999

●Se genera un número aleatorio, dentro del intervalo. 

 0.385, observamos que está incluido en el intervalo asignado a CARA.

   

MCMCEs una técnica de propósito general para generar muestras justas de un espacio de probabilildades de grandes dimensiones

Utiliza números aleatorios obtenidos de una  probabilidad uniforme en cierto rango.

   

Algoritmo Metropolis

●Inicializar una cadena de Markov●Correr la cadena hasta que sea estacionaria●Todas las muestras vienen de una distribución estacionaria.

   

Algoritmo Metropolis

La idea del algoritmo es obtener la distribución deseada π(x) a través de una distribución propuesta q(x,x'). 

   

Una condición suficiente para converger a π(x):

K(x,x')π(x)=K(x',x)π(x')

0.5∗9

14=0.9∗

514

   

q(x,x')1/3=q(x',x)2/3

se inserta un factor a de ajuste:

0.5∗13≠0.9∗

23

0.5∗13=a∗0.9∗

23 a=

0.5∗13

0.9∗23

   

De lo anterior se obtiene el algoritmo: 

●Inicializar con 

●Proponer un x' de 

●Calcular

●if a > 1● Aceptar

●Else ● Aceptar con probabilidad a 

●If no se acepta x'●

x0

q x t , x '

a=x ' ∗q x ' , x t

x t ∗q x t , x '

x t =x '

x t1=x t

   

   

   

observaciones

●Cada punto en la cadena tiene una correlación con el punto que lo precede.

●La cadena se mueve lentamente de una región a otra.

●La parte inicial de la secuencia esta influenciada por el punto de partida.

   

El algoritmo con partición

Si X es de grandes dimensiones, se puede dividir en bloques.

Se  muestrea cada bloque individualmente

X= x1 , ... , xk

X= x1 , ... , x i−1 , x i , ... , xk

   

Muestreo y simulación

Las muestras generadas con MCMC sirven para conocer cuales estados son tipicos del sistema.

   

Ejemplo: 

P(x|N)● 0 si es mas cercano a 0● 1 si es mas cercano a1● Tiene influencia del anterior

   

   

IntegraciónPara estimar integrales en espacios 

dimensionales (Ω) muy grandes

Podemos obtener N muestras de π(x)

Estimamos C con la media de las muestras

   

Tarea

Un método MCMC consta de 3 elementos clave:

¿como estimar n?

, K , p0

p0 K n

   

Referencias

●Markov Chain Monte Carlo for Computer Vision. A tutorial at ICCV05 by Zhu, Delleart and Tu 

●An intruduction to MCMC for machine learning. Andrieu, De Freitas, Doucet, Jordan. Kluwer Machine learning, 50,5­43 Academic Publisher,2003.

●On the efficiency of adaptative MCMC algorithms. Andrieu,Atchadé.2005.

●The beginig of the Monte Carlo method. N. Metropolis. Los Alamos Science special issue. 1987.

   

 Top Ten Algorithms of the Century 1. The Monte Carlo method or Metropolis algorithm. 1946

 2. The simplex method of linear programming. 1947

 3. The Krylov Subspace Iteration method. 1950

 4. The Householder matrix decomposition. 1951

 5. The Fortran compiler. 1957

 6. The QR algorithm for eigenvalue calculation. 1959­1961

 7. The Quicksort algorithm. 1962

 8. The Fast Fourier Transform. 1965

 9. The Integer Relation Detection Algorithm. 1977

10. The fast Multipole algorithm. 1987

The Best of the 20th Century: Editors Name Top 10 Algorithms. Barry Cipra, SIAM News,Volume 33, Number 4, May 2000, page 1. 

Recommended