You are on page 1of 39

Metropolis-Hastings y Simulated Annealing

Elioth Sanabria
Universidad de los Andes
em.sanabria86@uniandes.edu.co

9 de abril de 2013

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

1 / 39

Contenido

Motivaci
on

Cadenas de Markov
El caso finito

Algoritmo Metropolis-Hastings

Algoritmo Simulated Annealing

TSP

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

2 / 39

Motivacion
Un problema difcil
Imaginen que se codifica un mensaje cambiando el orden de las letras de la
siguiente forma:
f : {espacio del c
odigo} {Alfabeto tradicional}

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

(1)

3 / 39

Motivacion

Que tan grande es el espacio de busqueda posible?


???????

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

4 / 39

Motivacion

Que tan grande es el espacio de busqueda posible?


26! si se supone que el alfabeto en ingles tiene 26 letras.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

5 / 39

Motivacion

Que tanto tiempo sera necesario para encontrar con certeza la


respuesta?
Si un procesador actual puede hacer 1,0000 000,000 operaciones por
segundo. Resolver el problema puede tardar aproximadamente
12,9650 903,457 a
nos.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

6 / 39

Motivacion
El problema de la figura fue propuesto por una psic
ologa de una prision
estatal de Estados Unidos al departamento de consultas de la facultad de
estadstica de Stanford.
Un enfoque reciente para resolver este tipo de problemas es usar una
caminata aleatoria sofisticada en la cual se resuelve el problema por medio
de simulaciones.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

7 / 39

Motivacion

Dado que el problema consiste en encontrar el mapping correcto del


espacio de los smbolos al espacio del alfabeto.
f : {espacio del c
odigo} {Alfabeto tradicional}

(2)

La solucion del problema es equivalente a encontrar la funcion f .

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

8 / 39

Motivacion

Una forma estandar de descifrar un c


odigo es asociar que esta escrito
en alg
un lenguaje com
un (e.g. Ingles), y usar la estadstica detras del
lenguaje para descifrarlo.
Intuitivamente una forma de obtener estadsticas de un lenguaje es
calcular una matriz de transici
on de la probabilidad de que a una letra
le siga otra (e.g. Que a la letra A le siga la letra B)

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

9 / 39

Motivacion

Una forma de hacer esto es usar un libro y contar las ocurrencias de


las transiciones.
Esto nos da una matriz M(x, y ), con la que es posible evaluar que tan
plausible es el guess de f.
Y
Pl(f ) =
M(f (si ), f (si+1 ))
(3)
i

Donde si corresponde a cada uno de los smbolos del mensaje. Por lo que
f con valores altos para Pl(f ) son buenos candidatos para descifrar el
mensaje.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

10 / 39

Motivacion: Algoritmo MCMC


Usando uno de los algoritmos que vamos a explorar hoy
(Metropolis-Hastings) se busca la f verdadera:
Comenzar por un guess cualquiera de f .
Calcular Pl(f )
Cambiar a f haciendo un cambio aleatorio del mapping de f a dos
smbolos (e.g. cambiar la A por Z y la R por H)
Calcular Pl(f ); si es mas grande que Pl(f ) quedese con f
De lo contrario, tire una moneda con probabilidad de cara
Pl(f )/Pl(f ), si sale cara quedese con f
Si sale sello quedese con f
Por que repitiendo este algoritmo eventualmente se va a encontrar la
solucion?

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

11 / 39

Motivacion: Algoritmo MCMC

Usando el algoritmo anterior se encuentra la siguiente solucion

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

12 / 39

Motivacion: Algoritmo MCMC


Hagamos uno nosotros mismos. Vamos a decodificar el siguiente mensaje:

Example (Mensaje a codificar)


"The folks who want to kill people, and thats all they want
to do, are scared of knowledge. And they want to shut the
doors and they dont want people to make their choices about
the future. For them, its You do things my way and if you
dont, well throw acid in your face. Well put a bullet
in your face, to a young girl trying to learn, Kerry said.
So this is a huge challenge for us. It is a confrontation
with modernity, with possibilities, and everything that
our country stands for, everything we stand for,
is embodied in what Anne Smedinghoff stood for."

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

13 / 39

Motivacion: Algoritmo MCMC


El mensaje codificado se ve as:

Example (Mensaje codificado)


"ELJ IHSOP QLH QBZE EH OCSS DJHDSJ, BZN ELBEP BSS ELJV
QBZE EH NH, BMJ PKBMJN HI OZHQSJNXJ. BZN ELJV QBZE EH
PLYE ELJ NHHMP BZN ELJV NHZE QBZE DJHDSJ EH RBOJ ELJCM
KLHCKJP BWHYE ELJ IYEYMJ. IHM ELJR, CEP VHY NH ELCZXP
RV QBV BZN CI VHY NHZE, QJSS ELMHQ BKCN CZ VHYM IBKJ.
QJSS DYE B WYSSJE CZ VHYM IBKJ, EH B VHYZX XCMS
EMVCZX EH SJBMZ, OJMMV PBCN. PH ELCP CP B LYXJ KLBSSJZXJ
IHM YP. CE CP B KHZIMHZEBECHZ QCEL RHNJMZCEV, QCEL
DHPPCWCSCECJP, BZN JUJMVELCZX ELBE HYM KHYZEMV PEBZNP
IHM, JUJMVELCZX QJ PEBZN IHM, CP JRWHNCJN CZ QLBE BZZJ
PRJNCZXLHII PEHHN IHM."

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

14 / 39

Motivacion: Algoritmo MCMC


A continuacion se presenta la matriz de transici
on con el libro War and
Peace

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

15 / 39

Contenido

Motivaci
on

Cadenas de Markov
El caso finito

Algoritmo Metropolis-Hastings

Algoritmo Simulated Annealing

TSP

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

16 / 39

Cadenas de Markov: Caso Finito


Sea un conjunto finito.
Una cadena deP
Markov esta definida por una matriz K (x, y ) con
K (x, y ) 0 y y (x, y ) = 1 para cada x.
Entonces cada fila es una medida de probabilidad, y se puede decir
que representa una caminata aleatoria.
Nos referimos a los sucesos X0 = x,X1 = y ,X2 = z,... como un
recorrido de la cadena empezando en x
De lo anterior P(X1 = y |X0 = x) = K (x, y ),
P(X1 = y , X2 = z|X0 = x) = K (x, y )K (y , z)
P
Tambien P(X2 = z|X0 = x) = y K (x, y )
Al elevar a la potencia n la matriz de transici
on, en la entrada x, y
tenemos P(Xn = y |X0 = x).

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

17 / 39

Cadenas de Markov: Caso Finito


Todas las cadenas que vamos a considerar
van a tener distribuciones
P
estacionarias, es decir, (x) > 0, x (x) = 1 con tal que se satisfaga:

Condiciones distribucion estacionaria


X

(x)K (x, y ) = (y )

(4)

As es un vector propio izquierdo con valor propio 1. La interpretacion


probabilstica de la anterior ecuaci
on es:

Interpretacion
Tome un x de y de un paso desde K (x, y ); la probabilidad de estar en
y es (y )
El teorema fundamental de las cadenas de Markov(un corolario del
teorema Peron-Frobenius) dice, que bajo una condici
on de conectividad
sencilla, es u
nico y potencias elevadas de K convergen a una matriz de
rango 1 con todas las filas igual a .
Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

18 / 39

Cadenas de Markov: Caso Finito

Todas las cadenas que vamos a considerar


van a tener distribuciones
P
estacionarias, es decir, (x) > 0, x (x) = 1 con tal que se satisfaga:

Teorema Fundamental de las Cadenas de Markov


Sea un conjunto finito y K (x, y ) una cadena de Markov indexada por .
Si existe n0 tal que K n (x, y ) 0 para todo n > n0 , entonces K tiene una
u
nica distribucion estacionaria , y cuando n :
K n (x, y ) (y ) para todo x, y
La intuicion detras del teorema es que para cualquier estado inicial x el
paso enesimo de una cadena de Markov tiene una probabilidad cercana a
(y ) de estar en y cuando n es grande.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

19 / 39

Cadenas de Markov: Caso Finito

Volviendo al ejemplo inicial de criptografa. es el conjunto de todas las


funciones f 1-1 que van desde el espacio del c
odigo al alfabeto tradicional
{A, B, ..., S, ..., 1, 2, ..., ?, ...}. Supongamos que en un codigo hay m
smbolos, y que en el espacio del alfabeto hay n smbolos, entonces la
distribucion estacionaria es:

Distribucion Estacionaria
(f ) = z 1

M(f (si ), f (si+1 ))

Donde M es la matriz de transici


on de primer orden de un lenguaje
(suponemos M dado)

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

20 / 39

Cadenas de Markov: Caso Finito

La constante normalizadora z
z=

XY
f

M(f (si ), f (si+1 ))

Entonces el problema de criptografa se reduce a muestrear f 0 s de (f ).


Cual es el problema????

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

21 / 39

Contenido

Motivaci
on

Cadenas de Markov
El caso finito

Algoritmo Metropolis-Hastings

Algoritmo Simulated Annealing

TSP

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

22 / 39

Algoritmo Metropolis-Hastings
Sea un espacio finito de estados y (x) una probabilidad en (hasta
cierta constante normalizadora). Sea J(x, y ) una matriz Markoviana de
con J(x, y ) > 0 J(y , x) > 0. En un principio J es independiente de .
El algoritmo de M-H cambia J a una nueva matriz Markoviana K (x, y )
con distribucion estacionaria . Siguiendo estos pasos:

Pasos algoritmo M-H

si x 6= y , A(x, y )
J(x, y )
J(x,
y
)A(x,
y
)
si x 6= y , A(x, y ) <
K (x, y ) =
P

J(x, y ) + z:A(x,y )<1 J(x, z)(1 A(z, x)) si x = y


)J(y ,x)
El cociente de aceptacion es A(x, y ) = (y
on del
(x)J(x,y ) . La interpretaci
algoritmo es: de x escoja y con probabilidad J(x, y ); si A(x, y ) 1,
quedese con y ; si A(x, y ) < 1 lance una moneda con probabilidad de cara
A(x, y ), si cae cara quedese con y , de otro modo quedese con x.
Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

23 / 39

Algoritmo Metropolis-Hastings

La nueva cadena satisface:


(x)K (x, y ) = (y )K (y , x)

(6)

y por lo tanto:
X
X
X
(x)K (x, y ) =
(y )K (y , x) = (y )
K (y , x) = (y )
x

(7)

Tal que es un vector propio izquierdo con valor propio 1. Si la cadena


esta conectada, se aplica el teorema fundamental de las cadenas de
Markov. Por lo que despues de muchos pasos de la cadena, la probabilidad
de estar en y es aproximadamente (y ), no importa el estado inicial de .

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

24 / 39

Volviendo al Problema Inicial


En nuestro ejemplo de criptografa son todas las funciones 1-1 que van
del espacio de smbolos (de tama
no n) al espacio del alfabeto (de tama
no
n m). As, || = n(n 1)...(n m + 1). Esto es bastante grande si por
ejemplo m = n = 50. La cadena de propuestas J(f , f ) esta especificada
por la permutacion aleatoria de dos smbolos:

Cadena J(f , f )
J(f , f ) =

1
n(n1)(mn+2)(mn+1)

si f , f difieren en dos letras


de otro modo

Vease que J(f , f ) = J(f , f ) entonces A(f , f ) =

Elioth Sanabria (Universidad de los Andes)

MCMC

(8)

(f )
(f )

9 de abril de 2013

25 / 39

Contenido

Motivaci
on

Cadenas de Markov
El caso finito

Algoritmo Metropolis-Hastings

Algoritmo Simulated Annealing

TSP

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

26 / 39

Algoritmo Simulated Annealing


En muchos problemas de optimizaci
on, especialmente multidimensional, la
funcion objetivo puede tener muchos
optimos locales y puede no ser suave,

por ejemplo:
Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

27 / 39

Algoritmo Simulated Annealing

El nombre del algoritmo viene del proceso de recocer metales, en el


cual se calienta a una alta temperatura y despues se deja enfriar
lentamente para que se cambie su estructura cristalina, dejandolo
moverse a un estado de energa mas bajo, lo cual no ocurrira si se
enfriara muy rapidamente.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

28 / 39

Algoritmo Simulated Annealing


Pasos del Algoritmo Simulated Annealing
Para una funcion p-dimensional
Comience con una temperatura inicial T0 , un parametro inicial 0 y
eval
ue la funcion objetivo en 0 , ini
Aleatoriamente seleccione una direcci
on en el espacio p-dimensional y
de un paso en esa direcci
on para obtener un nuevo parametro 1 .
Eval
ue la funcion en 1 , nuevo .
Si = nuevo ini < 0 entonces quedese con 1 , de lo contrario
genere u de U(0, 1) y quedese con 1 si y solo si u < exp(
T ).
Repita los dos pasos anteriores N veces hasta que crea que el sistema
esta en equilibrio. Esto se puede dar en una cantidad s de pasos
exitosos.
Si s > 0 la temperatura decrece usualmente dejando T decrecer con
alguna funcion decreciente. Si s = 0 el sistema se dice haber
alcanzado el equilibrio para una temperatura dada.
Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

29 / 39

Algoritmo Simulated Annealing

Entonces la funcion que hace decrecer T, el n


umero de iteraciones y
la temperatura inicial van a determinar el exito de la optimizacion.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

30 / 39

Algoritmo Simulated Annealing

Entonces la funcion que hace decrecer T, el n


umero de iteraciones y
la temperatura inicial van a determinar el exito de la optimizacion.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

31 / 39

Algoritmo Simulated Annealing

Condiciones para la convergencia del Algoritmo Simulated Annealing


lmt = 0
P

t=1 exp[ T (t) ] =

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

32 / 39

Algoritmo Simulated Annealing

Condiciones para la convergencia del Algoritmo Simulated Annealing


lmt = 0
P

t=1 exp[ T (t) ] =

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

33 / 39

Algoritmo Simulated Annealing


Podemos ver como funciona al algoritmo en un problema simple:

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

34 / 39

Contenido

Motivaci
on

Cadenas de Markov
El caso finito

Algoritmo Metropolis-Hastings

Algoritmo Simulated Annealing

TSP

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

35 / 39

TSP

Suponga un vendedor que tiene que visitar n-1 clientes y luego volver
a su casa.
El vendedor quiere minimizar la distancia que viaja.
P
La funcion objetivo se puede escribir como dp = N1
i=0 d[ci , ci+1 ]

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

36 / 39

The Markov Chain Monte Carlo Revolution Persi Diaconis

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

37 / 39

References

Authors name (1987)


Title of the paper.
Journal Name 55(4), 765 799.

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

38 / 39

The End

Elioth Sanabria (Universidad de los Andes)

MCMC

9 de abril de 2013

39 / 39

You might also like