Guia 3

EM

EM

de RIOS CASANDRA -
Número de respuestas: 4

Buenas tardes profe. Con Tomás nos surgieron unas dudas del algoritmo EM. 
Lo que entendemos es que queremos encontrar el parámetro theta que maximice p(Xi |θ). 
El problema es que aparece la variable latente Z que representa información de la cual no tenemos observaciones. Entonces calcular p(Xi |θ) como la integral de la conjunta entre X y Z | θ no lo podemos hacer, o es muy complicado. 

De acá surge el algoritmo de EM. En el paso de expectación buscamos q que es una aproximacion de la p(Z|X,θ). En el paso M finalmente hallamos el theta que maximiza la ELBO.  Y así hasta la convergencia. 

Nos sirgen unas dudas:
1) si ya inicialmente no podemos calulcar log p(Xi |θ) directamente, por que en la solucion propuesta vuelve a aparecer esta misma expresion?

2) Como inicia el algoritmo? porque para calcular q necesitamos calcular la KL (q(·|Xi )∥p(·|Xi , θ)). O sea para calcular q(·|Xi ) que es una aproximación de p(·|Xi , θ), necesitamos p(·|Xi , θ). Entonces nos trabamos un poco en toda la explicación. 

Leímos la bibliografía recomendada pero ninguno lo hace con la KL. Entendemos la idea pero no la deducción matemática. 

Gracias y saludos!

En respuesta a RIOS CASANDRA

Re: EM

de GINZBURG TOMAS MANUEL -
Encontramos algo más en el Gupta:



Ahi dice que para hacer EM deberías conocer p(y|θ), o con nuestra notación p(x|θ), y p(x|θ), que con nuestra notación es p(z,x|θ).  Esto capaz despeja nuestras dudas de qué conocemos inicialmente. 

¿Con esa p(x|θ) no podríamos estimar θ por máxima verosimilitud porque es dificil numéricamente o porque no estaríamos teniendo en cuenta la variable no observable? Porque si es por no tener en cuenta la variable no observable entonces sí entendemos (o eso creemos) por qué para estimar theta se vuelve a utilizar log p(Xi |θ).
 Y si entonces hacemos EM, para hacer q(z|x) = p(z|x,θ^(t-1)) ¿podemos sacar esa densidad condicional como p(z|x,θ) = p(z,x|θ)/p(x|θ)? y ahi tendríamos la q del paso de expectación y podríamos hacer el paso de maximización conociendo esa q y p(z,x|θ)?
¿Esto es así? 

En respuesta a GINZBURG TOMAS MANUEL

Re: EM

de VERA MATIAS ALEJANDRO -
Hola gente, les contesto a ambos simultáneamente

No sé si entiendo bien la pregunta, trato de contestar y si ustedes me van contestando a mi podemos converger a aclarar la cuestión.

Efectivamente, la idea de EM es intentar encontrar los parámetros que maximizan la verosimilitud (los cuales no son fáciles para estimar directamente) incluyendo información adicional de variables no observables. Las dos cosas son ciertas: propone una maximización iterativa que de otra manera no se puede resolver y nos permite agregar información sobre variables no observables que sabemos que existen.

ANÁLISIS DE UN EJEMPLO:

Yo creo que la mejor manera de pensarlo es con el ejemplo de mezcla de gaussianas. Uno conoce la expresión de p(x|theta) (es la mezcla!), pero no puede calcular el theta que la maximiza (posee muchos máximos, mínimos y hasta puntos de inflexión).

La inicialización la hacemos eligiendo un theta arbitrario (por ejemplo la salida de kmeans) y luego iteramos: el paso E es calcular q(z|x) = p(z|x,theta) (asumiendo theta conocido) y el paso M es maximizar el ELBO (asumiendo q conocido). A destacar del paso E) p(z|x,theta) no es lo mismo que p(x|theta) (en este ejemplo ambas son fáciles de conocer, pero son objetos de complejidad diferentes: en el ejemplo Z es discreta y X continua) y elegir q=p es mucho más fácil que encontrar un theta que maximiza una función.

Pero vamos al paso M que creo que es el que les hace ruido. En muchos casos, calcular el argmax de suma de esperanza (esperanza en q, fija para este paso) de logaritmo de p(x,z|theta) es más sencillo que calcular el argmax de suma de logaritmo de p(x|theta). En nuestro ejemplo, p(x|theta) es una mezcla de gaussianas (y tenemos muchas muestras a sumar), si igualara a cero la derivada tendría muchas respuestas posibles y una sola correspondería al máximo efectivamente. En cambio, p(z|theta)*p(x|z,theta) son objetos mucho más nobles: una normal y un parámetro. Fijate que cuando igualamos a cero la derivada en este paso queda solamente una única solución (en único punto donde la derivada vale cero es la respuesta correcta).

Con respecto a las últimas preguntas, vos modelás tanto p(x|theta) como p(x,z|theta) (no quiero hablar de conocer, porque no necesariamente existe un theta, simplemente estás buscando el theta que mejor representa tus datos con ese modelo). Podés computarlas, pero es distinto encontrar el theta que las maximiza.

¿Hay algo que todavía no se entienda? Sigamos la charla por favor hasta que se despejen las dudas.
En respuesta a VERA MATIAS ALEJANDRO

Re: EM

de RIOS CASANDRA -
Buenas tardes profe, con lo que encontramos de esa foto del libro más lo que nos dijiste entendimos bien (creemos)! Lo que nos confundía es que empezamos con la idea de que la variable latente, al ser no observable, no teníamos su distribución. Pero a su vez en el ejercicio de la guía sí teníamos esas distribuciones entonces ahí nos empezamos a confundir de qué realmente conocíamos y qué no.

De tu explicación de recién, ¿a qué se debe la aclaración "A destacar del paso E) p(z|x,theta) no es lo mismo que p(x|theta)"?
Sabemos que no son iguales pero no entendimos a qué se debía.

Gracias!
En respuesta a RIOS CASANDRA

Re: EM

de VERA MATIAS ALEJANDRO -
Nada en particular, solo que no es lo mismo la distribución de p(x|theta) (mezcla de gaussianas en el ejemplo) y p(z|x,theta) (categórica en el ejemplo). Las dos se llaman "p" pero hacen referencia a medidas sobre diferentes variables. Me había dado la sensación que no quedaba claro, por eso lo aclaré (valga la redundancia...). Pero no sé si tenía que ver en la discusión.