Class/Object

com.eharmony.aloha.models.exploration

EpsilonGreedyModel

Related Docs: object EpsilonGreedyModel | package exploration

Permalink

case class EpsilonGreedyModel[U, N, -A, B <: U](modelId: ModelIdentity, defaultPolicy: Submodel[Int, A, U], epsilon: Float, salt: GenAggFunc[A, Long], classLabels: IndexedSeq[N], auditor: Auditor[U, N, B]) extends SubmodelBase[U, N, A, B] with Product with Serializable

A model which does epsilon greedy style exploration. This will choose a random action with probability epsilon or an action from the defaultPolicy with probability 1 - epsilon. Note that the default policy MUST return a value between 1 and the number of actions, and if not an exception will be thrown.

A

model input type

B

model output type

modelId

a model identifier

defaultPolicy

the model to use for exploitation. This MUST be deterministic for the probability to be correct. The model must return a value in the range 1 to classLabels.size (inclusive).

epsilon

the exploration/exploitation tradeoff parameter. epsilon must be in the interval [0, 1]. 0 indicates never select an action randomly. 1 indicates always select an action randomly.

salt

a function that generates a salt for the randomization layer. This salt allows the random choice of which policy to follow to be repeatable.

classLabels

a list of class labels to output for the final type. Also note that the size of this controls the number of actions. If the submodel returns a score < 1 or > classLabels.size (note the 1 offset) then a RuntimeException will be thrown.

Linear Supertypes
Serializable, Serializable, Product, Equals, SubmodelBase[U, N, A, B], Model[A, B], (A) ⇒ B, Submodel[N, A, B], Closeable, AutoCloseable, Identifiable[ModelIdentity], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. EpsilonGreedyModel
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. SubmodelBase
  7. Model
  8. Function1
  9. Submodel
  10. Closeable
  11. AutoCloseable
  12. Identifiable
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new EpsilonGreedyModel(modelId: ModelIdentity, defaultPolicy: Submodel[Int, A, U], epsilon: Float, salt: GenAggFunc[A, Long], classLabels: IndexedSeq[N], auditor: Auditor[U, N, B])

    Permalink

    modelId

    a model identifier

    defaultPolicy

    the model to use for exploitation. This MUST be deterministic for the probability to be correct. The model must return a value in the range 1 to classLabels.size (inclusive).

    epsilon

    the exploration/exploitation tradeoff parameter. epsilon must be in the interval [0, 1]. 0 indicates never select an action randomly. 1 indicates always select an action randomly.

    salt

    a function that generates a salt for the randomization layer. This salt allows the random choice of which policy to follow to be repeatable.

    classLabels

    a list of class labels to output for the final type. Also note that the size of this controls the number of actions. If the submodel returns a score < 1 or > classLabels.size (note the 1 offset) then a RuntimeException will be thrown.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def andThen[A](g: (B) ⇒ A): (A) ⇒ A

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  5. final def apply(a: A): B

    Permalink
    Definition Classes
    SubmodelBase → Function1
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. val auditor: Auditor[U, N, B]

    Permalink
    Definition Classes
    EpsilonGreedyModelSubmodelBase
  8. val classLabels: IndexedSeq[N]

    Permalink

    a list of class labels to output for the final type.

    a list of class labels to output for the final type. Also note that the size of this controls the number of actions. If the submodel returns a score < 1 or > classLabels.size (note the 1 offset) then a RuntimeException will be thrown.

  9. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  10. def close(): Unit

    Permalink
    Definition Classes
    EpsilonGreedyModelSubmodelBase → Closeable → AutoCloseable
  11. def compose[A](g: (A) ⇒ A): (A) ⇒ B

    Permalink
    Definition Classes
    Function1
    Annotations
    @unspecialized()
  12. val defaultPolicy: Submodel[Int, A, U]

    Permalink

    the model to use for exploitation.

    the model to use for exploitation. This MUST be deterministic for the probability to be correct. The model must return a value in the range 1 to classLabels.size (inclusive).

  13. val epsilon: Float

    Permalink

    the exploration/exploitation tradeoff parameter.

    the exploration/exploitation tradeoff parameter. epsilon must be in the interval [0, 1]. 0 indicates never select an action randomly. 1 indicates always select an action randomly.

  14. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  15. lazy val explorer: EpsilonGreedyExplorer[Int]

    Permalink
  16. def failure(errorMsgs: ⇒ Seq[String] = Nil, missingVarNames: ⇒ Set[String] = Set.empty, subvalues: Seq[U] = Nil): Subvalue[B, N]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    SubmodelBase
  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. val modelId: ModelIdentity

    Permalink

    a model identifier

    a model identifier

    Definition Classes
    EpsilonGreedyModelIdentifiable
  21. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  22. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  24. val salt: GenAggFunc[A, Long]

    Permalink

    a function that generates a salt for the randomization layer.

    a function that generates a salt for the randomization layer. This salt allows the random choice of which policy to follow to be repeatable.

  25. def subvalue(a: A): Subvalue[B, N]

    Permalink
    Definition Classes
    EpsilonGreedyModelSubmodel
  26. def success(naturalValue: N, errorMsgs: ⇒ Seq[String] = Nil, missingVarNames: ⇒ Set[String] = Set.empty, subvalues: Seq[U] = Nil, prob: ⇒ Option[Float] = None): Subvalue[B, N]

    Permalink
    Attributes
    protected[this]
    Definition Classes
    SubmodelBase
  27. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  28. def toString(): String

    Permalink
    Definition Classes
    Function1 → AnyRef → Any
  29. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  30. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from SubmodelBase[U, N, A, B]

Inherited from Model[A, B]

Inherited from (A) ⇒ B

Inherited from Submodel[N, A, B]

Inherited from Closeable

Inherited from AutoCloseable

Inherited from Identifiable[ModelIdentity]

Inherited from AnyRef

Inherited from Any

Ungrouped