Class DoubleMinusVmpOp
Provides outgoing messages for Difference(Double, Double), given random arguments to the function.
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Factor), "Difference", new Type[]{typeof(double), typeof(double)})]
[Quality(QualityBand.Stable)]
public static class DoubleMinusVmpOp
Methods
AAverageLogarithm(Gaussian, Gaussian)
VMP message to a.
Declaration
public static Gaussian AAverageLogarithm(Gaussian Difference, Gaussian b)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | Difference | Incoming message from |
| Gaussian | b | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
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, difference is integrated out before taking the logarithm. The formula is exp(sum_(b) p(b) log(sum_difference p(difference) factor(difference,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
AAverageLogarithm(Gaussian, Double)
VMP message to a.
Declaration
public static Gaussian AAverageLogarithm(Gaussian Difference, double b)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | Difference | Incoming message from |
| Double | b | Constant value for |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of a with difference integrated out. The formula is sum_difference p(difference) factor(difference,a,b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
AAverageLogarithm(Double, Gaussian)
VMP message to a.
Declaration
[NotSupported("Variational Message Passing does not support a Minus factor with fixed output and two random inputs.")]
public static Gaussian AAverageLogarithm(double Difference, Gaussian b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Difference | Constant value for |
| Gaussian | b | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
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(difference,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
AAverageLogarithm(Double, Double)
VMP message to a.
Declaration
public static Gaussian AAverageLogarithm(double Difference, double b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Difference | Constant value for |
| Double | b | Constant value for |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of a conditioned on the given values.
AverageLogFactor()
Evidence message for VMP.
Declaration
public static double AverageLogFactor()
Returns
| Type | Description |
|---|---|
| Double | Zero. |
Remarks
The formula for the result is log(factor(difference,a,b)). Adding up these values across all factors and variables gives the log-evidence estimate for VMP.
BAverageLogarithm(Gaussian, Gaussian)
VMP message to b.
Declaration
public static Gaussian BAverageLogarithm(Gaussian Difference, Gaussian a)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | Difference | Incoming message from |
| Gaussian | a | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
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, difference is integrated out before taking the logarithm. The formula is exp(sum_(a) p(a) log(sum_difference p(difference) factor(difference,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
BAverageLogarithm(Gaussian, Double)
VMP message to b.
Declaration
public static Gaussian BAverageLogarithm(Gaussian Difference, double a)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | Difference | Incoming message from |
| Double | a | Constant value for |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of b with difference integrated out. The formula is sum_difference p(difference) factor(difference,a,b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageLogarithm(Double, Gaussian)
VMP message to b.
Declaration
[NotSupported("Variational Message Passing does not support a Minus factor with fixed output and two random inputs.")]
public static Gaussian BAverageLogarithm(double Difference, Gaussian a)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Difference | Constant value for |
| Gaussian | a | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
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(difference,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageLogarithm(Double, Double)
VMP message to b.
Declaration
public static Gaussian BAverageLogarithm(double Difference, double a)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Difference | Constant value for |
| Double | a | Constant value for |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of b conditioned on the given values.
DifferenceAverageLogarithm(Gaussian, Gaussian)
VMP message to difference.
Declaration
public static Gaussian DifferenceAverageLogarithm(Gaussian a, Gaussian b)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | a | Incoming message from |
| Gaussian | b | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of difference as the random arguments are varied. The formula is proj[sum_(a,b) p(a,b) factor(difference,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
DifferenceAverageLogarithm(Gaussian, Double)
VMP message to difference.
Declaration
public static Gaussian DifferenceAverageLogarithm(Gaussian a, double b)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | a | Incoming message from |
| Double | b | Constant value for |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of difference as the random arguments are varied. The formula is proj[sum_(a) p(a) factor(difference,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
DifferenceAverageLogarithm(Double, Gaussian)
VMP message to difference.
Declaration
public static Gaussian DifferenceAverageLogarithm(double a, Gaussian b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | a | Constant value for |
| Gaussian | b | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of difference as the random arguments are varied. The formula is proj[sum_(b) p(b) factor(difference,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
DifferenceAverageLogarithm(Double, Double)
VMP message to difference.
Declaration
public static Gaussian DifferenceAverageLogarithm(double a, double b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | a | Constant value for |
| Double | b | Constant value for |
Returns
| Type | Description |
|---|---|
| Gaussian | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of difference conditioned on the given values.