26
 Métodos Markov Chain Monte Carlo David J. Rios Optimización Combinatoria 19 de mayo del 2008

Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

Embed Size (px)

Citation preview

Page 1: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Métodos Markov Chain Monte Carlo

David J. Rios

Optimización Combinatoria

19 de mayo del 2008

Page 2: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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

Page 3: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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.

Page 4: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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

Page 5: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Page 6: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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.

Page 7: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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

Page 8: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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.

Page 9: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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.

Page 10: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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.

Page 11: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Algoritmo Metropolis

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

Page 12: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Algoritmo Metropolis

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

Page 13: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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

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

0.5∗9

14=0.9∗

514

Page 14: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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

Page 15: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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

Page 16: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Page 17: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Page 18: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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.

Page 19: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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

Page 20: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Muestreo y simulación

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

Page 21: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Ejemplo: 

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

Page 22: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Page 23: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

IntegraciónPara estimar integrales en espacios 

dimensionales (Ω) muy grandes

Podemos obtener N muestras de π(x)

Estimamos C con la media de las muestras

Page 24: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

Tarea

Un método MCMC consta de 3 elementos clave:

¿como estimar n?

, K , p0

p0 K n

Page 25: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

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.

Page 26: Métodos Markov Chain Monte Carlo de Markov Una cadena de Markov es un modelo matemático de sistemas estocásticos donde los estados dependen de probabilidades de ... Monte Carlo

   

 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.