Package

epic

framework

Permalink

package framework

Visibility
  1. Public
  2. All

Type Members

  1. trait AnnotatingInference[Datum] extends Inference[Datum]

    Permalink

    AnnotatingInference adds the ability to take a Marginal and attach (or replace) new information to the Datum.

  2. trait AugmentableInference[Datum, Augment] extends Inference[Datum]

    Permalink

    AugmentableInference is an epic.framework.Inference that can support injecting additional information into the structure computation.

    AugmentableInference is an epic.framework.Inference that can support injecting additional information into the structure computation. This can include prior information over the structure (useful for EP or other Bayesian inference) or loss-augmentation.

    Datum

    the kind of thing to do inference on

    Augment

    the extra piece of information we can use to do inference

  3. case class ComponentFeature[T](index: Int, feature: T) extends Feature with Product with Serializable

    Permalink
  4. case class EPExpectedCounts(loss: Double, counts: IndexedSeq[ExpectedCounts[_]]) extends ExpectedCounts[EPExpectedCounts] with Product with Serializable

    Permalink
  5. class EPInference[Datum, Augment <: AnyRef] extends ProjectableInference[Datum, Augment] with SafeLogging with Serializable

    Permalink
  6. case class EPMarginal[Augment, Marginal](logPartition: Double, q: Augment, marginals: IndexedSeq[Marginal]) extends Marginal with Product with Serializable

    Permalink
  7. class EPModel[Datum, Augment <: AnyRef] extends Model[Datum] with SafeLogging

    Permalink

  8. case class EPScorer[Scorer](scorers: IndexedSeq[Scorer]) extends Product with Serializable

    Permalink
  9. trait EvaluableModel[Datum] extends Model[Datum]

    Permalink

    A model that has some kind of evaluation function.

    A model that has some kind of evaluation function. Used with an epic.framework.AnnotatingInference, you can make predictions for a test set and then get the performance.

  10. trait EvaluationResult[R <: EvaluationResult[R]] extends AnyRef

    Permalink

    Marker for the output of an evaluation routine.

    Marker for the output of an evaluation routine.

    R

    self type

  11. trait Example[+L, +T] extends Observation[T] with Labeled[L] with Serializable

    Permalink
  12. trait ExpectedCounts[Self <: ExpectedCounts[Self]] extends AnyRef

    Permalink
  13. trait Feature extends AnyRef

    Permalink

    Just a marker for features.

  14. trait Inference[Datum] extends Serializable

    Permalink

    Inference is the core interface in Epic.

    Inference is the core interface in Epic. It produces instances of epic.framework.Marginal which are then turned into epic.framework.ExpectedCounts.

    There are two kinds of marginals produced by an inference object: gold and guess. Gold marginals are the marginals conditioned on the output label/structure itself (e.g. the parse tree). Guess marginals are the marginals conditioned on only the input data (e.g. the words in the sentence)

    In structured prediction, the objective usually takes the form: \minimize \sum_{all structures} score(structure) - \sum_{all structures compatible with output label} score(structure)

    with the derivative being: E_{all structures} features(structure) - E_{all structures compatible with output label} features(structure)

    replacing sum with max for max marginals.

    Datum

    the kind of thing to do inference on

  15. trait Labeled[+L] extends AnyRef

    Permalink

    Something that has a label.

  16. trait LossAugmentation[Datum, Augment] extends (Datum) ⇒ Augment

    Permalink

    A class that returns an augment that gives higher scores to spans that are wrong.

    A class that returns an augment that gives higher scores to spans that are wrong. Used for training mostly.

  17. trait Marginal extends AnyRef

    Permalink

    Marginals are created by epic.framework.Inference objects and used for expected counts and decoding, where applicable.

    Marginals are created by epic.framework.Inference objects and used for expected counts and decoding, where applicable. Max Marginals (i.e. a one best list) are totally fine if you want to do max-margin work.

    They only have one method: logPartition. Most of the work is done with Inference objects directly.

  18. trait Model[Datum] extends SafeLogging

    Permalink

    A Model represents a class for turning weight vectors into epic.framework.Inferences.

    A Model represents a class for turning weight vectors into epic.framework.Inferences. It's main job is to hook up with a epic.framework.ModelObjective and mediate computation of ExpectedCounts and conversion to the objective that's needed for optimization.

    Datum

    the kind of

  19. trait ModelFactory[Datum] extends AnyRef

    Permalink

    Interface for producing Models from training data.

  20. class ModelObjective[Datum] extends BatchDiffFunction[DenseVector[Double]] with SafeLogging

    Permalink

    The objective function for training a epic.framework.Model.

    The objective function for training a epic.framework.Model. Selects a batch, creates an epic.framework.Inference object using the model, computes expected counts using the inference, and then turns them into the objective value.

  21. trait Observation[+T] extends Serializable

    Permalink
  22. class OneBestInferenceAdaptor[Datum] extends Inference[Datum]

    Permalink

    TODO

  23. class OneBestModelAdaptor[Datum] extends Model[Datum]

    Permalink
  24. trait ProjectableInference[Datum, Augment] extends AugmentableInference[Datum, Augment]

    Permalink

    A ProjectableInference is an epic.framework.AugmentableInference that can also create a new Augment from the marginal and the old augment.

    A ProjectableInference is an epic.framework.AugmentableInference that can also create a new Augment from the marginal and the old augment. This is mostly for EP/BP-type setups where you iteratively improve the prior until convergence.

    Datum

    the kind of thing to do inference on

    Augment

    the extra piece of information we can use to do inference

  25. case class StandardExpectedCounts[F](loss: Double, counts: DenseVector[Double], index: Index[F]) extends ExpectedCounts[StandardExpectedCounts[F]] with Product with Serializable

    Permalink

    This is a standard expected counts class that most models will use...

    This is a standard expected counts class that most models will use... Loss is the log-loss (or, whatever), and counts are for the derivative

  26. class StructuredPerceptron[Datum] extends LazyLogging

    Permalink

    TODO

  27. trait VisitableMarginal[Visitor] extends Marginal

    Permalink

Value Members

  1. object EPInference extends SafeLogging with Serializable

    Permalink
  2. object EPModel

    Permalink
  3. object Example extends Serializable

    Permalink
  4. object ModelObjective

    Permalink
  5. object Observation extends Serializable

    Permalink
  6. object StandardExpectedCounts extends Serializable

    Permalink

Ungrouped