Package

com.github.gradientgmm

components

Permalink

package components

Visibility
  1. Public
  2. All

Type Members

  1. abstract class AcceleratedGradientUtils[T] extends Serializable

    Permalink

    Wraps necessary data strctures for accelerated gradient ascent methods.

    Wraps necessary data strctures for accelerated gradient ascent methods.

    Intializes and stores the necessary numeric data structures to calculate ascent directions. It only initializes such objects when they are called, avoiding storing unecessary arrays.

    T

    The structure data type, e.g., DenseVector or DenseMatrix

  2. class GConcaveGaussian extends MultivariateGaussian

    Permalink

    Multivariate Gaussian Distribution reformulation that produces a g-concave loss function in An Alternative to EM for Gaussian Mixture Models: Batch and Stochastic Riemannian Optimization]]

    Multivariate Gaussian Distribution reformulation that produces a g-concave loss function in An Alternative to EM for Gaussian Mixture Models: Batch and Stochastic Riemannian Optimization]]

    For an arbitrary Gaussian distribution, its g-concave reformulation have zero mean and an augmented covariance matrix which is a function of the original mean, covariance matrix and an additional positive scalar s. Original data points x are mapped to y = [x 1] to be evaluated under the new distribution. When s = 1, the density of the original distribution and the reformulation coincide.

  3. class MatrixGradientUtils extends AcceleratedGradientUtils[DenseMatrix[Double]]

    Permalink

    Implementation of AcceleratedGradientUtils to allow matrix-like acceleration terms.

    Implementation of AcceleratedGradientUtils to allow matrix-like acceleration terms.

    It uses Breeze's DenseMatrix as data type

  4. trait MatrixParamUpdate extends Serializable

    Permalink

    Container of a MatrixGradientUtils instance

  5. class MultivariateGaussian extends Serializable

    Permalink

    Multivariate Gaussian distribution class

    Multivariate Gaussian distribution class

    It is based on Spark's MultivariateGaussian and it implements much of the same functionality, but more of its internal objects, such as the covariance matrix determinant and the covariance matrix inverse, are public; many of its parameters are mutable as well.

  6. class UpdatableGaussianComponent extends GConcaveGaussian with MatrixParamUpdate

    Permalink

    Gaussian distribution that implements an updating routine based on its g-concave reformulation and contains gradient ascent utilities necessary for accelerated algorithms.

  7. class UpdatableWeights extends Serializable with VectorParamUpdate

    Permalink

    Wrapper class for weights vector.

    Wrapper class for weights vector.

    It includes functionality to verify simplex constraints and accelerated ascent data structures.

    see https://en.wikipedia.org/wiki/Simplex

  8. class VectorGradientUtils extends AcceleratedGradientUtils[DenseVector[Double]]

    Permalink

    Implementation of AcceleratedGradientUtils to allow vector-like acceleration terms.

    Implementation of AcceleratedGradientUtils to allow vector-like acceleration terms.

    It uses Breeze's DenseVector as data type

  9. trait VectorParamUpdate extends Serializable

    Permalink

    Container of a VectorGradientUtils instance

Value Members

  1. object UpdatableGaussianComponent extends Serializable

    Permalink
  2. object Utils extends Serializable

    Permalink

    Contains non-specific functions that are used by many classes in the package

Ungrouped