Alternativas rápidas al algoritmo EM


13

¿Hay alguna alternativa rápida al algoritmo EM para aprender modelos con variables latentes (especialmente pLSA)? Estoy de acuerdo con sacrificar la precisión en favor de la velocidad.


1
¿Has hecho una encuesta de literatura? Este artículo parece particularmente relevante: Relajación convexa del entrenamiento variable latente
Emre

1
¿Qué tal LSA? :-)
conjugateprior

1
Una forma general de acelerar un EM se llama "acelerador de Aitken". Si la precisión no es un problema, pruebe con la estimación de momento o la estimación de momento generalizada.
JohnRos

Respuestas:


4

Los algoritmos de Newton-Raphson a menudo se pueden emplear. No estoy familiarizado con pSLA, pero es bastante común usar algoritmos de Newton-Raphson para modelos de clase latentes. Los algoritmos de Newton-Raphson están un poco más preocupados por los valores iniciales pobres que EM, por lo que una estrategia es usar primero algunas iteraciones (digamos 20) del EM y luego cambiar a un algoritmo de Newton-Raphson. Un algoritmo con el que he tenido mucho éxito es: Zhu, Ciyou, Richard H. Byrd, Peihuang Lu y Jorge Nocedal (1997), "Algorithm 778: L-BFGS-B: subrutinas de Fortran para límites a gran escala- optimización restringida, "ACM Transactions on Mathematical Software (TOMS) archive, 23 (4), 550-60.


4

Muy similar al algoritmo EM es el algoritmo MM que generalmente explota la convexidad en lugar de los datos faltantes en la mayorización o minorización de una función objetivo. Sin embargo, debe verificar si el algoritmo MM es aplicable a su problema particular.



2

Otra alternativa no mencionada hasta ahora en las respuestas son las aproximaciones variacionales. Aunque estos algoritmos no son exactamente algoritmos EM en todos los casos, en algunos casos los algoritmos EM son casos limitantes de algoritmos variacionales de campo medio bayesiano. El límite se refiere al caso límite de los hiperparámetros, elegir los valores límite, en algunos casos, le dará el algoritmo EM.

En cualquier caso (algoritmos EM, VB o incluso MM) hay 2 formas genéricas para acelerar las cosas:

(1) reduzca la dimensionalidad del problema de un pag-dim problema para pagproblemas univariantes Estos suelen ser algoritmos de descenso coordinado, pero he visto algoritmos MM que también hacen este tipo de aceleración.

(2) mejorar la tasa de convergencia de su algoritmo EM (u otro tipo). En un comentario, JohnRos mencionó la aceleración de Aitken. Esto es del mundo del análisis numérico, pero McLachlan y Krishnan lo analizan en el libro EM.

Puede que haya otros que eché de menos, pero estos parecen ser los dos grandes.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.