Search Results for

    Show / Hide Table of Contents

    Class ProductExpOp

    Provides outgoing messages for ProductExp(Double, Double), given random arguments to the function.

    Inheritance
    Object
    ProductExpOp
    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(Factor), "ProductExp", new Type[]{typeof(double), typeof(double)})]
    [Quality(QualityBand.Experimental)]
    public static class ProductExpOp

    Methods

    AAverageLogarithm(Gaussian, Gaussian)

    VMP message to a.

    Declaration
    public static Gaussian AAverageLogarithm(Gaussian ProductExp, Gaussian B)
    Parameters
    Type Name Description
    Gaussian ProductExp

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

    Gaussian B

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

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the a argument.

    Remarks

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

    Exceptions
    Type Condition
    ImproperMessageException

    ProductExp is not a proper distribution.

    ImproperMessageException

    B is not a proper distribution.

    AAverageLogarithm(Double, Gaussian)

    VMP message to a.

    Declaration
    [NotSupported("Variational Message Passing does not support a Product factor with fixed output and two random inputs.")]
    public static Gaussian AAverageLogarithm(double ProductExp, Gaussian B)
    Parameters
    Type Name Description
    Double ProductExp

    Constant value for productExp.

    Gaussian B

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

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the a argument.

    Remarks

    The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except a. The formula is exp(sum_(b) p(b) log(factor(productExp,a,b))).

    Exceptions
    Type Condition
    ImproperMessageException

    B is not a proper distribution.

    BAverageLogarithm(Gaussian, Gaussian, Gaussian, Gaussian)

    VMP message to b.

    Declaration
    public static Gaussian BAverageLogarithm(Gaussian ProductExp, Gaussian A, Gaussian B, Gaussian result)
    Parameters
    Type Name Description
    Gaussian ProductExp

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

    Gaussian A

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

    Gaussian B

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

    Gaussian result

    Modified to contain the outgoing message.

    Returns
    Type Description
    Gaussian

    result

    Remarks

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

    Exceptions
    Type Condition
    ImproperMessageException

    ProductExp is not a proper distribution.

    ImproperMessageException

    A is not a proper distribution.

    ImproperMessageException

    B is not a proper distribution.

    BAverageLogarithm(Gaussian, Gaussian, Gaussian, NonconjugateGaussian, NonconjugateGaussian)

    VMP message to b.

    Declaration
    public static NonconjugateGaussian BAverageLogarithm(Gaussian ProductExp, Gaussian A, Gaussian B, NonconjugateGaussian to_B, NonconjugateGaussian result)
    Parameters
    Type Name Description
    Gaussian ProductExp

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

    Gaussian A

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

    Gaussian B

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

    NonconjugateGaussian to_B

    Previous outgoing message to B.

    NonconjugateGaussian result

    Modified to contain the outgoing message.

    Returns
    Type Description
    NonconjugateGaussian

    result

    Remarks

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

    Exceptions
    Type Condition
    ImproperMessageException

    ProductExp is not a proper distribution.

    ImproperMessageException

    A is not a proper distribution.

    ImproperMessageException

    B is not a proper distribution.

    BAverageLogarithm(Gaussian, Double, Gaussian, NonconjugateGaussian, NonconjugateGaussian)

    VMP message to b.

    Declaration
    public static NonconjugateGaussian BAverageLogarithm(Gaussian ProductExp, double A, Gaussian B, NonconjugateGaussian to_B, NonconjugateGaussian result)
    Parameters
    Type Name Description
    Gaussian ProductExp

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

    Double A

    Constant value for a.

    Gaussian B

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

    NonconjugateGaussian to_B

    Previous outgoing message to B.

    NonconjugateGaussian result

    Modified to contain the outgoing message.

    Returns
    Type Description
    NonconjugateGaussian

    result

    Remarks

    The outgoing message is the factor viewed as a function of b with productExp integrated out. The formula is sum_productExp p(productExp) factor(productExp,a,b).

    Exceptions
    Type Condition
    ImproperMessageException

    ProductExp is not a proper distribution.

    ImproperMessageException

    B is not a proper distribution.

    BAverageLogarithm(Double, Gaussian)

    VMP message to b.

    Declaration
    [NotSupported("Variational Message Passing does not support a Product factor with fixed output and two random inputs.")]
    public static NonconjugateGaussian BAverageLogarithm(double ProductExp, Gaussian A)
    Parameters
    Type Name Description
    Double ProductExp

    Constant value for productExp.

    Gaussian A

    Incoming message from a.

    Returns
    Type Description
    NonconjugateGaussian

    The outgoing VMP message to the b argument.

    Remarks

    The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except b. The formula is exp(sum_(a) p(a) log(factor(productExp,a,b))).

    BAverageLogarithm(Double, Double)

    VMP message to b.

    Declaration
    public static Gamma BAverageLogarithm(double ProductExp, double A)
    Parameters
    Type Name Description
    Double ProductExp

    Constant value for productExp.

    Double A

    Constant value for a.

    Returns
    Type Description
    Gamma

    The outgoing VMP message to the b argument.

    Remarks

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

    ProductExpAverageLogarithm(Gaussian, Gaussian)

    VMP message to productExp.

    Declaration
    public static Gaussian ProductExpAverageLogarithm(Gaussian A, Gaussian B)
    Parameters
    Type Name Description
    Gaussian A

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

    Gaussian B

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

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the productExp argument.

    Remarks

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

    Exceptions
    Type Condition
    ImproperMessageException

    A is not a proper distribution.

    ImproperMessageException

    B is not a proper distribution.

    ProductExpAverageLogarithm(Double, Gaussian)

    VMP message to productExp.

    Declaration
    public static Gaussian ProductExpAverageLogarithm(double A, Gaussian B)
    Parameters
    Type Name Description
    Double A

    Constant value for a.

    Gaussian B

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

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the productExp argument.

    Remarks

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

    Exceptions
    Type Condition
    ImproperMessageException

    B is not a proper distribution.

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