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.