Search Results for

    Show / Hide Table of Contents

    Class GateEnterOneOp<T>

    Provides outgoing messages for EnterOne<T>(Int32, T, Int32), given random arguments to the function.

    Inheritance
    Object
    GateEnterOneOp<T>
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: Microsoft.ML.Probabilistic.Factors
    Assembly: Microsoft.ML.Probabilistic.dll
    Syntax
    [FactorMethod(typeof(Gate), "EnterOne<>", new Type[]{null, typeof(int), null, typeof(int)})]
    [Quality(QualityBand.Mature)]
    public static class GateEnterOneOp<T>
    Type Parameters
    Name Description
    T

    The type of the variable entering the gate.

    Methods

    AverageLogFactor()

    Evidence message for VMP.

    Declaration
    public static double AverageLogFactor()
    Returns
    Type Description
    Double

    Zero.

    Remarks

    The formula for the result is log(factor(enterOne,selector,value,index)). Adding up these values across all factors and variables gives the log-evidence estimate for VMP.

    EnterOneAverageConditional<TValue>(TValue)

    EP message to enterOne.

    Declaration
    public static TValue EnterOneAverageConditional<TValue>(TValue value)
    Parameters
    Type Name Description
    TValue value

    Incoming message from value.

    Returns
    Type Description
    TValue

    The outgoing EP message to the enterOne argument.

    Type Parameters
    Name Description
    TValue

    The type of the incoming message from value.

    Remarks

    The outgoing message is a distribution matching the moments of enterOne as the random arguments are varied. The formula is proj[p(enterOne) sum_(value) p(value) factor(enterOne,selector,value,index)]/p(enterOne).

    EnterOneAverageLogarithm<TValue>(TValue)

    VMP message to enterOne.

    Declaration
    public static TValue EnterOneAverageLogarithm<TValue>(TValue value)
    Parameters
    Type Name Description
    TValue value

    Incoming message from value.

    Returns
    Type Description
    TValue

    The outgoing VMP message to the enterOne argument.

    Type Parameters
    Name Description
    TValue

    The type of the incoming message from value.

    Remarks

    The outgoing message is a distribution matching the moments of enterOne as the random arguments are varied. The formula is proj[sum_(value) p(value) factor(enterOne,selector,value,index)].

    LogAverageFactor()

    Evidence message for EP.

    Declaration
    public static double LogAverageFactor()
    Returns
    Type Description
    Double

    Logarithm of the factor's average value across the given argument distributions.

    Remarks

    The formula for the result is log(factor(enterOne,selector,value,index)).

    LogEvidenceRatio<TDist>(TDist)

    Evidence message for EP.

    Declaration
    public static double LogEvidenceRatio<TDist>(TDist enterOne)
        where TDist : IDistribution<T>
    Parameters
    Type Name Description
    TDist enterOne

    Incoming message from enterOne.

    Returns
    Type Description
    Double

    Logarithm of the factor's contribution the EP model evidence.

    Type Parameters
    Name Description
    TDist
    Remarks

    The formula for the result is log(sum_(enterOne) p(enterOne) factor(enterOne,selector,value,index) / sum_enterOne p(enterOne) messageTo(enterOne)). Adding up these values across all factors and variables gives the log-evidence estimate for EP.

    SelectorAverageConditional(Discrete)

    EP message to selector.

    Declaration
    public static Discrete SelectorAverageConditional(Discrete result)
    Parameters
    Type Name Description
    Discrete result

    Modified to contain the outgoing message.

    Returns
    Type Description
    Discrete

    result

    Remarks

    The outgoing message is the factor viewed as a function of selector conditioned on the given values.

    SelectorAverageLogarithm(Discrete)

    VMP message to selector.

    Declaration
    public static Discrete SelectorAverageLogarithm(Discrete result)
    Parameters
    Type Name Description
    Discrete result

    Modified to contain the outgoing message.

    Returns
    Type Description
    Discrete

    result

    Remarks

    The outgoing message is the factor viewed as a function of selector conditioned on the given values.

    ValueAverageConditional<TDist>(TDist, Discrete, TDist, Int32, TDist)

    EP message to value.

    Declaration
    public static TDist ValueAverageConditional<TDist>([SkipIfAllUniform] TDist enterOne, Discrete selector, TDist value, int index, TDist result)
        where TDist : IDistribution<T>, SettableToProduct<TDist>, SettableToRatio<TDist>, SettableToWeightedSum<TDist>, SettableTo<TDist>, SettableToPower<TDist>
    Parameters
    Type Name Description
    TDist enterOne

    Incoming message from enterOne. Must be a proper distribution. If uniform, the result will be uniform.

    Discrete selector

    Incoming message from selector.

    TDist value

    Incoming message from value. Must be a proper distribution. If uniform, the result will be uniform.

    Int32 index

    Constant value for index.

    TDist result

    Modified to contain the outgoing message.

    Returns
    Type Description
    TDist

    result

    Type Parameters
    Name Description
    TDist

    The type of the distribution over the variable entering the gate.

    Remarks

    The outgoing message is a distribution matching the moments of value as the random arguments are varied. The formula is proj[p(value) sum_(enterOne,selector) p(enterOne,selector) factor(enterOne,selector,value,index)]/p(value).

    Exceptions
    Type Condition
    ImproperMessageException

    enterOne is not a proper distribution.

    ImproperMessageException

    value is not a proper distribution.

    ValueAverageConditional<TDist>(TDist, Int32, Int32, TDist)

    EP message to value.

    Declaration
    public static TDist ValueAverageConditional<TDist>([SkipIfAllUniform] TDist enterOne, int selector, int index, TDist result)
        where TDist : IDistribution<T>, SettableTo<TDist>
    Parameters
    Type Name Description
    TDist enterOne

    Incoming message from enterOne. Must be a proper distribution. If uniform, the result will be uniform.

    Int32 selector

    Constant value for selector.

    Int32 index

    Constant value for index.

    TDist result

    Modified to contain the outgoing message.

    Returns
    Type Description
    TDist

    result

    Type Parameters
    Name Description
    TDist

    The type of the distribution over the variable entering the gate.

    Remarks

    The outgoing message is a distribution matching the moments of value as the random arguments are varied. The formula is proj[p(value) sum_(enterOne) p(enterOne) factor(enterOne,selector,value,index)]/p(value).

    Exceptions
    Type Condition
    ImproperMessageException

    enterOne is not a proper distribution.

    ValueAverageLogarithm<TDist>(TDist, Discrete, Int32, TDist)

    VMP message to value.

    Declaration
    public static TDist ValueAverageLogarithm<TDist>(TDist enterOne, Discrete selector, int index, TDist result)
        where TDist : SettableToPower<TDist>
    Parameters
    Type Name Description
    TDist enterOne

    Incoming message from enterOne. Must be a proper distribution. If uniform, the result will be uniform.

    Discrete selector

    Incoming message from selector.

    Int32 index

    Constant value for index.

    TDist result

    Modified to contain the outgoing message.

    Returns
    Type Description
    TDist

    result

    Type Parameters
    Name Description
    TDist

    The type of the distribution over the variable entering the gate.

    Remarks

    The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except value. Because the factor is deterministic, enterOne is integrated out before taking the logarithm. The formula is exp(sum_(selector) p(selector) log(sum_enterOne p(enterOne) factor(enterOne,selector,value,index))).

    Exceptions
    Type Condition
    ImproperMessageException

    enterOne is not a proper distribution.

    In This Article
    Back to top Copyright © .NET Foundation. All rights reserved.