El procedimiento EM aparece, para los no iniciados, como más o menos magia negra. Estime los parámetros de un HMM (por ejemplo) utilizando datos supervisados. Luego, decodifique los datos sin etiquetar, usando hacia adelante y hacia atrás para 'contar' los eventos como si los datos estuvieran etiquetados, más o menos. ¿Por qué esto mejora el modelo? Sí sé algo sobre las matemáticas, pero sigo deseando algún tipo de imagen mental.
expectation-maximization
intuition
bmargulies
fuente
fuente
Respuestas:
Solo para guardar algo de tipeo, llame a los datos observados , los datos faltantes Z (por ejemplo, los estados ocultos del HMM) y el vector de parámetros que estamos tratando de encontrar Q (por ejemplo, probabilidades de transición / emisión).X Z Q
La explicación intuitiva es que básicamente hacemos trampa, pretendemos por un momento que conocemos para poder encontrar una distribución condicional de Z que a su vez nos permita encontrar el MLE para Q (ignorando por el momento el hecho de que básicamente estamos haciendo una circular argumento), luego admitir que hicimos trampa, poner nuestro nuevo y mejor valor para Q , y volver a hacerlo hasta que ya no tengamos que hacer trampa.Q Q Q
Algo más técnico, al pretender que conocemos el valor real , podemos pretender que sabemos algo sobre la distribución condicional de Z | { X , Q } , que nos permite mejorar nuestra estimación de Q , que ahora pretendemos que es el valor real de Q para poder pretender que sabemos algo sobre la distribución condicional de Z | { X , Q } , que nos permite mejorar nuestra estimación de Q , que ... y así sucesivamente.Q Z|{X,Q} Q Q Z|{X,Q} Q
Aún más técnicamente, si supiéramos , podríamos maximizar log ( f ( Q | X , Z ) ) y tener la respuesta correcta. El problema es que no conocemos Z , y cualquier estimación de Q debe depender de ello. Pero si queremos encontrar la mejor estimación (o distribución) con Z , entonces necesitamos saber X y Q . Estamos atrapados en una situación de huevo y gallina si queremos el maximizador único analíticamente.Z log(f(Q|X,Z)) Z Q Z X Q
Nuestra "salida" es que, para cualquier estimación de (llámelo Q n ), podemos encontrar la distribución de Z | { Q n , X } , y así podemos maximizar nuestra probabilidad de registro conjunta esperada de Q | { X , Z } , con respecto a la distribución condicional de Z | { Q n , X } . Esta distribución condicional básicamente nos dice cómo Z depende del valor actual de Q dado XQ Qn Z|{Qn,X} Q|{X,Z} Z|{Qn,X} Z Q X , y nos permite saber cómo cambiar para aumentar nuestra probabilidad de Q y Z al mismo tiempo para un valor particular de Q (que hemos denominado Q n ). Una vez que hemos elegido un nuevo Q n + 1 , tenemos una distribución condicional diferente para Z | { Q n + 1 , X } y, por lo tanto, tienen que volver a calcular la expectativa.Q Q Z Q Qn Qn+1 Z|{Qn+1,X}
fuente