Tell me more ×
Cross Validated is a question and answer site for statisticians, data analysts, data miners and data visualization experts. It's 100% free, no registration required.

Are there any speedy alternatives to the EM algorithm for learning models with latent variables (especially pLSA)? I'm okay with sacrificing precision in favor of speed.

share|improve this question
1  
Have you done a literature survey? This paper looks particularly relevant: Convex Relaxations of Latent Variable Training – Emre Apr 24 '12 at 8:54
1  
How about LSA? :-) – conjugateprior Apr 24 '12 at 12:21
1  
A general way to accelerate an EM is called "Aitken accelerator". If precision is not an issue, maybe try moment estimation or generalized moment estimation instead. – JohnRos Apr 29 '12 at 19:42

3 Answers

Newton-Raphson algorithms can often be employed. I am not familiar with pSLA, but it is pretty common to use Newton-Raphson algorithms for latent class models. Newton-Raphson algorithms are a little more troubled by poor initial values than EM, so one strategy is to first use a few iterations (say 20) of the EM and then switch to a Newton-Raphson algorithm. One algorithm that I have had a lot of success with is: Zhu, Ciyou, Richard H. Byrd, Peihuang Lu, and Jorge Nocedal (1997), "Algorithm 778: L-BFGS-B: Fortran subroutines for large-scale bound-constrained optimization," ACM Transactions on Mathematical Software (TOMS) archive, 23 (4), 550-60.

share|improve this answer

Very similar to the EM algorithm is the MM algorithm which typically exploits convexity rather than missing data in majorizing or minorizing an objective function. You have to check if MM algorithm is applicable for your particular problem, though.

share|improve this answer

For LDA, "online LDA" is fast alternative to than batch methods like standard EM (http://www.cs.princeton.edu/~blei/papers/HoffmanBleiBach2010b.pdf).

David Blei provides software on his page: http://www.cs.princeton.edu/~blei/topicmodeling.html

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.