En la práctica y la teoría, es mucho más fácil diagnosticar la convergencia en EM (vainilla o variacional) que en cualquier algoritmo MCMC (incluido el muestreo de Gibbs).
Gelmen y Shirley tienen un buen capítulo sobre el monitoreo de la convergencia de MCMC, pero a menudo se ven “cambios de fase” en las ejecuciones de MCMC que se ven (trazando la probabilidad del tren contra el tiempo) algo así:
- ¿Cuál es la relación entre los clasificadores uno contra uno, conjunto y SVM?
- ¿La normalización por lotes ha vuelto obsoleta la inicialización de Xavier al entrenar redes neuronales?
- ¿Cuál es la segunda generación de redes neuronales?
- Cómo hacer aprendizaje automático usando scikit-learn para un archivo CSV que tiene muchas columnas de texto
- ¿Cuál es la forma correcta de crear consultas jerárquicas?
Esto sucede porque a veces hay que actualizar los hiperparámetros y esos hiperparámetros no alcanzan los valores correctos hasta que las variables “locales” hayan alcanzado el estado correcto. Entonces todo hace clic a la vez y obtienes este gran salto. Es por eso que es importante ejecutar múltiples cadenas y promediar esas cadenas.
Una de las fortalezas de EM (y también una debilidad) es que no tiene estos grandes saltos. Por lo general, cuando estás subiendo una pendiente y las cosas parecen estar estabilizándose, no va a mejorar mucho. Entonces puede ver si la probabilidad (o ELBO) se está nivelando; si es así, una vez que cambie en menos de un porcentaje, puede declararse razonablemente hecho. (La desventaja es que puede estar atrapado en algún punto de silla de montar o en un óptimo local molesto; es por eso que los reinicios aleatorios son importantes para EM; SVI / Stochastic EM puede ayudar con esto, ya que tienen una aleatoriedad inherente, pero mi intuición dice que usted sigues siendo víctima de los mismos efectos de parámetros locales).