Packages

c

org.apache.spark.mllib.clustering

OnlineLDAOptimizer

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
Linear Supertypes
Logging, LDAOptimizer, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. OnlineLDAOptimizer
  2. Logging
  3. LDAOptimizer
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new OnlineLDAOptimizer()

Value Members

  1. def getKappa: Double

    Learning rate: exponential decay rate

    Learning rate: exponential decay rate

    Annotations
    @Since( "1.4.0" )
  2. 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" )
  3. 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" )
  4. 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" )
  5. 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" )
  6. 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.

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