¿Existe un método común para detectar la convergencia de la muestra de Gibbs y el algoritmo de maximización de expectativas?

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í:

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).

Para abordar la pregunta sobre un criterio común, la convergencia se puede medir aproximadamente por la falta de cambio. Sin embargo, no es necesariamente eficiente.

En cuanto a ver a Gibbs como EM estocástico … no. No funciona MCEM usó Monte Carlo para evaluar los valores esperados, pero incluso es bastante diferente (filosófica y prácticamente) que Gibbs. EM en su definición normal es puramente determinista.

¿Qué tal “deja de hacer mejoras notables”?

En mi código, a menudo solo mantengo un búfer circular de unas 100 iteraciones (o lo que sea que se ejecute por no demasiado tiempo) y en cada iteración más de la centésima comparación de la función de penalización con los 100 pasos anteriores (justo antes de sobrescribir el valor que estaba allí) Hace 100 iteraciones). Si la mejora relativa es menor que algunos 1e-5, probablemente sea seguro detenerse.

Existen bastantes métodos para verificar la convergencia de una cadena MCMC. Por nombrar algunos, puede ver si la función de autocorrelación exhibe una disminución exponencial o usar la estadística Gelman-Rubin. Sin embargo, no existe un criterio absoluto con el que pueda concluir que la cadena ha convergido.

More Interesting

¿Cuáles son las principales diferencias entre econometría y aprendizaje automático?

¿La máquina está aprendiendo la 'versión del hombre tonto' de intentar recrear la inteligencia?

¿Qué libro de los dos es más completo para PNL: el de Jurafsky o el de Manning?

¿Qué tema es importante para la ingeniería integrada, las redes neuronales o la automoción moderna?

¿Debo elegir PHP para el aprendizaje automático?

Cómo comenzar a aprender ciencia de datos y convertirse en un maestro en ello

Hay muchas críticas positivas para Pytorch. Actualmente uso Keras y TensorFlow. ¿Recomienda hacer un cambio o apegarse a Tensorflow y dominarlo?

¿Cómo puedo explicar el hecho de que el aprendizaje por transferencia ofrece un mejor rendimiento que el entrenamiento estándar?

¿Cuáles son los diferentes métodos de reducción de dimensionalidad en estadística?

En una máquina de vectores de soporte, el número de vectores de soporte puede ser mucho menor que el conjunto de entrenamiento. ¿Cómo puede ser útil esta característica?

¿Qué conocimiento se requiere para la pasantía de ML como estudiante universitario de CS?

¿Las máquinas de vectores de soporte vienen en modelos paramétricos o no paramétricos y por qué?

¿Puedo predecir el precio de las acciones usando el aprendizaje automático en Python?

¿Qué significa "tomar la media geométrica de la distribución predictiva producida por las redes de abandono exponencialmente numerosas" en redes neuronales profundas?

¿Cómo identificar el contexto basado en la oración?