trait FactorProduct extends SimpleBlockSampler

A VE-like procedure that works well on large but highly sparse blocks. For each adjacent factor, this groups the rows of the factor into sub-factors according to possible Markov blanket assignments. Each of these sub-factors is accumulated into a factor over factors, which essentially maps the Markov blanket of the original factor to a conditional distribution over the block. This does not store any new information, but rather takes the information in each factor and stores it in an easier to use format. This trait is the reason why we currently choose not to place a Chain's parent and the Chain itself in the same block, since we cannot efficiently compute the product of the sub-factors of the adjacent ConditionalSelector factors. In other cases we can make use of a priority queue to compute the product in an efficient order. For ConditionalSelectors there is no way to keep the intermediate factors sparse, and computing this product takes exponential time.

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. FactorProduct
  2. SimpleBlockSampler
  3. BlockSampler
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. val adjacentFactors: List[Factor[Double]]
    Definition Classes
    BlockSampler
  5. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  6. val block: Block
    Definition Classes
    BlockSampler
  7. val blockInfo: BlockInfo
    Definition Classes
    BlockSampler
  8. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def computeSamplingFactor(currentSamples: Map[Variable[_], Int]): Factor[Double]
    Definition Classes
    FactorProductSimpleBlockSampler
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  14. def getSamplingFactor(currentSamples: Map[Variable[_], Int]): Factor[Double]

    Get the factor from which to sample this block Returns a non-logarithmic factor

    Get the factor from which to sample this block Returns a non-logarithmic factor

    Definition Classes
    SimpleBlockSamplerBlockSampler
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  16. val indexMap: Map[Variable[_], Int]
    Definition Classes
    SimpleBlockSampler
  17. val indices: Indices
    Definition Classes
    SimpleBlockSampler
  18. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  19. lazy val mbLookupFactors: List[SparseFactor[SparseFactor[Double]]]
  20. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def normalizeFactor(factor: Factor[Double]): Factor[Double]

    Normalize a factor so its weights sum to 1 Takes a logarithmic factor and returns a non-logarithmic factor

    Normalize a factor so its weights sum to 1 Takes a logarithmic factor and returns a non-logarithmic factor

    Definition Classes
    SimpleBlockSampler
  22. final def notify(): Unit
    Definition Classes
    AnyRef
  23. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  24. lazy val ord: Ordering[Factor[Double]]
  25. def sample(currentSamples: Map[Variable[_], Int]): Unit

    Sample this block once

    Sample this block once

    Definition Classes
    BlockSampler
  26. def sampleFactor(factor: Factor[Double]): List[Int]

    Select a set of indices in the factor according to the weights in the factor Works on a non-logarithmic factor

    Select a set of indices in the factor according to the weights in the factor Works on a non-logarithmic factor

    Definition Classes
    BlockSampler
  27. val semiring: LogSumProductSemiring
    Definition Classes
    SimpleBlockSampler
  28. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from SimpleBlockSampler

Inherited from BlockSampler

Inherited from AnyRef

Inherited from Any

Ungrouped