He leído un par de explicaciones del algoritmo EM (p. Ej., De Bishop's Pattern Recognition and Machine Learning y Roger and Gerolami First Course on Machine Learning). La derivación de EM está bien, lo entiendo. También entiendo por qué el algoritmo cubre algo: en cada paso mejoramos el resultado y la probabilidad está limitada por 1.0, por lo que al usar un hecho simple (si una función aumenta y está limitada, entonces converge) sabemos que el algoritmo converge a alguna solución
Sin embargo, ¿cómo sabemos que es un mínimo local? En cada paso estamos considerando solo una coordenada (ya sea variable latente o parámetros), por lo que podríamos perder algo, como que el mínimo local requiere moverse por ambas coordenadas a la vez.
Esto creo que es un problema similar al de la clase general de algoritmos de escalada, de los cuales EM es una instancia. Entonces, para un algoritmo general de escalada tenemos este problema para la función f (x, y) = x * y. Si comenzamos desde el punto (0, 0), entonces solo al considerar ambas direcciones a la vez, podemos movernos hacia arriba desde el valor 0.
Respuestas:
No se garantiza que EM converja a un mínimo local. Solo se garantiza la convergencia a un punto con gradiente cero con respecto a los parámetros. Por lo tanto, puede atascarse en los puntos de silla.
fuente
En primer lugar, es posible que EM converja a un mínimo local , un máximo local o un punto de referencia de la función de probabilidad. Más precisamente, como señaló Tom Minka , se garantiza que EM convergerá a un punto con gradiente cero .
Puedo pensar en dos formas de ver esto; La primera vista es pura intuición, y la segunda vista es el bosquejo de una prueba formal. Primero, explicaré muy brevemente cómo funciona EM:
Expectativa Maximización como ascenso en gradiente
Bosquejo de una prueba formal
fuente