Class

com.cra.figaro.experimental.marginalmap.ProbEvidenceMarginalMAP

MMAPProbEvidenceSampler

Related Doc: package ProbEvidenceMarginalMAP

Permalink

class MMAPProbEvidenceSampler extends ProbEvidenceSampler with OneTimeProbEvidenceSampler with OnlineLogStatistics

Special probability of evidence sampler used for marginal MAP. Unlike a regular probability of evidence sampler, this records its own variance. It does so in an online fashion, and computes it in log space to prevent underflow. Additionally, this algorithm may be run multiple times. The rolling mean and variance computation incorporates the samples taken from all runs.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. MMAPProbEvidenceSampler
  2. OnlineLogStatistics
  3. OneTimeProbEvidenceSampler
  4. OneTimeProbEvidence
  5. OneTimeSampler
  6. OneTime
  7. ProbEvidenceSampler
  8. Sampler
  9. ProbEvidenceAlgorithm
  10. Algorithm
  11. AnyRef
  12. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new MMAPProbEvidenceSampler(observations: List[ElemVal[_]])

    Permalink

    observations

    Elements and corresponding values that should be observed each time this algorithm is run. Normally, this contains MAP elements and their proposed values.

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. var active: Boolean

    Permalink
    Attributes
    protected
    Definition Classes
    Algorithm
  5. def additionalEvidenceAlgorithm(evidence: List[NamedEvidence[_]]): ProbEvidenceSampler with OneTimeProbEvidenceSampler

    Permalink

    The algorithm used to compute the probability of additional evidence, as created by probAdditionalEvidence.

    The algorithm used to compute the probability of additional evidence, as created by probAdditionalEvidence. This algorithm can be different to the one defined in this class. (For example, a one-time algorithm can use an anytime algorithm for additional evidence.)

    Definition Classes
    OneTimeProbEvidenceSamplerProbEvidenceAlgorithm
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def cleanUp(): Unit

    Permalink

    Removes the evidence provided in the constructor from the universe.

    Removes the evidence provided in the constructor from the universe.

    Definition Classes
    ProbEvidenceSamplerProbEvidenceAlgorithmAlgorithm
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def computedResult: Double

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceSamplerProbEvidenceAlgorithm
  10. var count: Int

    Permalink
    Attributes
    protected
    Definition Classes
    OnlineLogStatistics
  11. val denominator: Double

    Permalink
    Definition Classes
    ProbEvidenceAlgorithm
  12. def doKill(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  13. def doResume(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  14. def doSample(): Unit

    Permalink

    Perform sampling, but additionally update the variance and clear only elements that shouldn't be preserved.

    Perform sampling, but additionally update the variance and clear only elements that shouldn't be preserved.

    Attributes
    protected
    Definition Classes
    MMAPProbEvidenceSamplerProbEvidenceSamplerSampler
  15. def doStart(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  16. def doStop(): Unit

    Permalink
    Attributes
    protected[com.cra.figaro.algorithm]
    Definition Classes
    OneTimeAlgorithm
  17. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  18. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  19. val evidence: List[NamedEvidence[_]]

    Permalink
  20. def finalize(): Unit

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

    Permalink
    Definition Classes
    AnyRef → Any
  22. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  23. def initialize(): Unit

    Permalink

    Since probability of evidence algorithms introduce additional evidence (namely, their evidence argument), into an existing universe, a mechanism must be provided for introducing the evidence when the algorithm begins and cleaning it up at the end.

    Since probability of evidence algorithms introduce additional evidence (namely, their evidence argument), into an existing universe, a mechanism must be provided for introducing the evidence when the algorithm begins and cleaning it up at the end. This is achieved with the initialize method, called when the algorithm starts, and the cleanUp method, called when the algorithm is killed.

    Definition Classes
    ProbEvidenceAlgorithmAlgorithm
  24. def isActive: Boolean

    Permalink
    Definition Classes
    Algorithm
  25. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  26. def kill(): Unit

    Permalink

    Kill the algorithm so that it is inactive.

    Kill the algorithm so that it is inactive. It will no longer be able to provide answers.Throws AlgorithmInactiveException if the algorithm is not active.

    Definition Classes
    Algorithm
  27. def logComputedResult: Double

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceSampler
  28. var logM2: Double

    Permalink
    Attributes
    protected
    Definition Classes
    OnlineLogStatistics
  29. var logMean: Double

    Permalink
    Attributes
    protected
    Definition Classes
    OnlineLogStatistics
  30. def logProbEvidence: Double

    Permalink

    The computed log probability of evidence.

    The computed log probability of evidence.

    Definition Classes
    ProbEvidenceSamplerProbEvidenceAlgorithm
  31. val lw: LikelihoodWeighter

    Permalink
    Definition Classes
    ProbEvidenceSampler
  32. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  35. val numSamples: Int

    Permalink

    The number of samples to collect from the model.

    The number of samples to collect from the model.

    Definition Classes
    MMAPProbEvidenceSamplerOneTimeSampler
  36. val observations: List[ElemVal[_]]

    Permalink

    Elements and corresponding values that should be observed each time this algorithm is run.

    Elements and corresponding values that should be observed each time this algorithm is run. Normally, this contains MAP elements and their proposed values.

  37. def probAdditionalEvidence(evidence: List[NamedEvidence[_]]): ProbEvidenceAlgorithm

    Permalink

    Returns an algorithm to compute the probability of the additional evidence provided.

    Returns an algorithm to compute the probability of the additional evidence provided.

    Definition Classes
    ProbEvidenceAlgorithm
  38. def probEvidence: Double

    Permalink

    The computed probability of evidence.

    The computed probability of evidence.

    Definition Classes
    ProbEvidenceAlgorithm
  39. def probabilityOfEvidence(): Double

    Permalink

    Returns the probability of evidence of the universe on which the algorithm operates.

    Returns the probability of evidence of the universe on which the algorithm operates. Throws AlgorithmInactiveException if the algorithm is not active.

    Definition Classes
    OneTimeProbEvidence
  40. def record(logWeight: Double): Unit

    Permalink

    Record the weight in the rolling mean and variance computation.

    Record the weight in the rolling mean and variance computation.

    logWeight

    Log of the weight to record.

    Definition Classes
    OnlineLogStatistics
  41. def resetCounts(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceSamplerSampler
  42. def resume(): Unit

    Permalink

    Resume the computation of the algorithm, if it has been stopped.

    Resume the computation of the algorithm, if it has been stopped. Throws AlgorithmInactiveException if the algorithm is not active.

    Definition Classes
    Algorithm
  43. def run(): Unit

    Permalink

    Observe the necessary values of MAP elements, then run the algorithm.

    Observe the necessary values of MAP elements, then run the algorithm. After this is initialized, calling this method again is allowed. The additional samples are accounted for when returning the total log statistics.

    Definition Classes
    MMAPProbEvidenceSamplerOneTimeSamplerOneTime
  44. def start(): Unit

    Permalink

    Start the algorithm and make it active.

    Start the algorithm and make it active. After it returns, the algorithm must be ready to provide answers. Throws AlgorithmActiveException if the algorithm is already active.

    Definition Classes
    Algorithm
  45. def stop(): Unit

    Permalink

    Stop the algorithm from computing.

    Stop the algorithm from computing. The algorithm is still ready to provide answers after it returns. Throws AlgorithmInactiveException if the algorithm is not active.

    Definition Classes
    Algorithm
  46. var successWeight: Double

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceSampler
  47. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  49. def totalLogStatistics: LogStatistics

    Permalink

    Return the combined statistics for the log probability of evidence over all runs of this sampler.

    Return the combined statistics for the log probability of evidence over all runs of this sampler. If the number of observations is 0, the returned log mean is -Infinity. If the number of observations is 0 or 1, the returned log variance is NaN.

    Definition Classes
    OnlineLogStatistics
  50. var totalWeight: Double

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceSampler
  51. val universe: Universe

    Permalink
  52. def update(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    ProbEvidenceSamplerSampler
  53. final def wait(): Unit

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

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

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

Inherited from OnlineLogStatistics

Inherited from OneTimeProbEvidence

Inherited from OneTimeSampler

Inherited from OneTime

Inherited from ProbEvidenceSampler

Inherited from Sampler

Inherited from ProbEvidenceAlgorithm

Inherited from Algorithm

Inherited from AnyRef

Inherited from Any

Ungrouped