public final class EMLDAOptimizer extends java.lang.Object implements LDAOptimizer
Optimizer for EM algorithm which stores data + parameter graph, plus algorithm parameters.
Currently, the underlying implementation uses Expectation-Maximization (EM), implemented according to the Asuncion et al. (2009) paper referenced below.
References: - Original LDA paper (journal version): Blei, Ng, and Jordan. "Latent Dirichlet Allocation." JMLR, 2003. - This class implements their "smoothed" LDA model. - Paper which clearly explains several algorithms, including EM: Asuncion, Welling, Smyth, and Teh. "On Smoothing and Inference for Topic Models." UAI, 2009.
Constructor and Description |
---|
EMLDAOptimizer() |
Modifier and Type | Method and Description |
---|---|
int |
checkpointInterval() |
double |
docConcentration() |
breeze.linalg.DenseVector<java.lang.Object> |
globalTopicTotals()
Aggregate distributions over topics from all term vertices.
|
Graph<breeze.linalg.DenseVector<java.lang.Object>,java.lang.Object> |
graph()
The following fields will only be initialized through the initialize() method
|
int |
k() |
double |
topicConcentration() |
int |
vocabSize() |
public Graph<breeze.linalg.DenseVector<java.lang.Object>,java.lang.Object> graph()
public int k()
public int vocabSize()
public double docConcentration()
public double topicConcentration()
public int checkpointInterval()
public breeze.linalg.DenseVector<java.lang.Object> globalTopicTotals()
Note: This executes an action on the graph RDDs.