final class OnlineLDAOptimizer extends LDAOptimizer with Logging
An online optimizer for LDA. The Optimizer implements the Online variational Bayes LDA algorithm, which processes a subset of the corpus on each iteration, and updates the term-topic distribution adaptively.
Original Online LDA paper: Hoffman, Blei and Bach, "Online Learning for Latent Dirichlet Allocation." NIPS, 2010.
- Annotations
- @Since( "1.4.0" )
- Source
- LDAOptimizer.scala
- Alphabetic
- By Inheritance
- OnlineLDAOptimizer
- Logging
- LDAOptimizer
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new OnlineLDAOptimizer()
Value Members
-
def
getKappa: Double
Learning rate: exponential decay rate
Learning rate: exponential decay rate
- Annotations
- @Since( "1.4.0" )
-
def
getMiniBatchFraction: Double
Mini-batch fraction, which sets the fraction of document sampled and used in each iteration
Mini-batch fraction, which sets the fraction of document sampled and used in each iteration
- Annotations
- @Since( "1.4.0" )
-
def
getOptimizeDocConcentration: Boolean
Optimize docConcentration, indicates whether docConcentration (Dirichlet parameter for document-topic distribution) will be optimized during training.
Optimize docConcentration, indicates whether docConcentration (Dirichlet parameter for document-topic distribution) will be optimized during training.
- Annotations
- @Since( "1.5.0" )
-
def
getTau0: Double
A (positive) learning parameter that downweights early iterations.
A (positive) learning parameter that downweights early iterations. Larger values make early iterations count less.
- Annotations
- @Since( "1.4.0" )
-
def
setKappa(kappa: Double): OnlineLDAOptimizer.this.type
Learning rate: exponential decay rate---should be between (0.5, 1.0] to guarantee asymptotic convergence.
Learning rate: exponential decay rate---should be between (0.5, 1.0] to guarantee asymptotic convergence. Default: 0.51, based on the original Online LDA paper.
- Annotations
- @Since( "1.4.0" )
-
def
setMiniBatchFraction(miniBatchFraction: Double): OnlineLDAOptimizer.this.type
Mini-batch fraction in (0, 1], which sets the fraction of document sampled and used in each iteration.
Mini-batch fraction in (0, 1], which sets the fraction of document sampled and used in each iteration.
- Annotations
- @Since( "1.4.0" )
- Note
This should be adjusted in synch with
LDA.setMaxIterations()
so the entire corpus is used. Specifically, set both so that maxIterations * miniBatchFraction is at least 1. Default: 0.05, i.e., 5% of total documents.
-
def
setOptimizeDocConcentration(optimizeDocConcentration: Boolean): OnlineLDAOptimizer.this.type
Sets whether to optimize docConcentration parameter during training.
Sets whether to optimize docConcentration parameter during training.
Default: false
- Annotations
- @Since( "1.5.0" )
-
def
setTau0(tau0: Double): OnlineLDAOptimizer.this.type
A (positive) learning parameter that downweights early iterations.
A (positive) learning parameter that downweights early iterations. Larger values make early iterations count less. Default: 1024, following the original Online LDA paper.
- Annotations
- @Since( "1.4.0" )