Class GaussianProductOp_SHG09
Provides outgoing messages for the following factors:
, given random arguments to the function.Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Factor), "Product_SHG09", new Type[]{typeof(double), typeof(double)})]
[FactorMethod(typeof(Factor), "Product", new Type[]{typeof(double), typeof(double)})]
[Quality(QualityBand.Preview)]
public static class GaussianProductOp_SHG09
Remarks
This class allows EP to process the product factor as if running VMP, as required by Stern's algorithm. The algorithm comes from "Matchbox: Large Scale Online Bayesian Recommendations" by David Stern, Ralf Herbrich, and Thore Graepel, WWW 2009.
Methods
AAverageConditional(Gaussian, Gaussian, Gaussian)
EP message to a
.
Declaration
public static Gaussian AAverageConditional(Gaussian Product, Gaussian B, Gaussian to_B)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | Product | Incoming message from |
Gaussian | B | Incoming message from |
Gaussian | to_B | Previous outgoing message to |
Returns
Type | Description |
---|---|
Gaussian | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of a
as the random arguments are varied. The formula is proj[p(a) sum_(product,b) p(product,b) factor(product,a,b)]/p(a)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ImproperMessageException |
|
AAverageConditional(Gaussian, Double)
EP message to a
.
Declaration
public static Gaussian AAverageConditional(Gaussian Product, double B)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | Product | Incoming message from |
Double | B | Constant value for |
Returns
Type | Description |
---|---|
Gaussian | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of a
as the random arguments are varied. The formula is proj[p(a) sum_(product) p(product) factor(product,a,b)]/p(a)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
BAverageConditional(Gaussian, Gaussian, Gaussian)
EP message to b
.
Declaration
public static Gaussian BAverageConditional(Gaussian Product, Gaussian A, Gaussian to_A)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | Product | Incoming message from |
Gaussian | A | Incoming message from |
Gaussian | to_A | Previous outgoing message to |
Returns
Type | Description |
---|---|
Gaussian | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of b
as the random arguments are varied. The formula is proj[p(b) sum_(product,a) p(product,a) factor(product,a,b)]/p(b)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ImproperMessageException |
|
BAverageConditional(Gaussian, Double)
EP message to b
.
Declaration
public static Gaussian BAverageConditional(Gaussian Product, double A)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | Product | Incoming message from |
Double | A | Constant value for |
Returns
Type | Description |
---|---|
Gaussian | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of b
as the random arguments are varied. The formula is proj[p(b) sum_(product) p(product) factor(product,a,b)]/p(b)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
LogEvidenceRatio(Gaussian, Gaussian, Gaussian, Gaussian, Gaussian, Gaussian)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(Gaussian Product, Gaussian A, Gaussian B, Gaussian to_A, Gaussian to_B, Gaussian to_product)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | Product | Incoming message from |
Gaussian | A | Incoming message from |
Gaussian | B | Incoming message from |
Gaussian | to_A | Previous outgoing message to |
Gaussian | to_B | Previous outgoing message to |
Gaussian | to_product | Previous outgoing message to |
Returns
Type | Description |
---|---|
Double | Logarithm of the factor's contribution the EP model evidence. |
Remarks
The formula for the result is log(sum_(product,a,b) p(product,a,b) factor(product,a,b) / sum_product p(product) messageTo(product))
. Adding up these values across all factors and variables gives the log-evidence estimate for EP.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ImproperMessageException |
|
ImproperMessageException |
|
LogEvidenceRatio(Gaussian, Gaussian, Double, Gaussian, Gaussian)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(Gaussian Product, Gaussian A, double B, Gaussian to_A, Gaussian to_product)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | Product | Incoming message from |
Gaussian | A | Incoming message from |
Double | B | Constant value for |
Gaussian | to_A | Previous outgoing message to |
Gaussian | to_product | Previous outgoing message to |
Returns
Type | Description |
---|---|
Double | Logarithm of the factor's contribution the EP model evidence. |
Remarks
The formula for the result is log(sum_(product,a) p(product,a) factor(product,a,b) / sum_product p(product) messageTo(product))
. Adding up these values across all factors and variables gives the log-evidence estimate for EP.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ImproperMessageException |
|
LogEvidenceRatio(Gaussian, Double, Gaussian, Gaussian, Gaussian)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(Gaussian Product, double A, Gaussian B, Gaussian to_B, Gaussian to_product)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | Product | Incoming message from |
Double | A | Constant value for |
Gaussian | B | Incoming message from |
Gaussian | to_B | Previous outgoing message to |
Gaussian | to_product | Previous outgoing message to |
Returns
Type | Description |
---|---|
Double | Logarithm of the factor's contribution the EP model evidence. |
Remarks
The formula for the result is log(sum_(product,b) p(product,b) factor(product,a,b) / sum_product p(product) messageTo(product))
. Adding up these values across all factors and variables gives the log-evidence estimate for EP.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ImproperMessageException |
|
ProductAverageConditional(Gaussian, Gaussian, Gaussian, Gaussian)
EP message to product
.
Declaration
public static Gaussian ProductAverageConditional(Gaussian A, Gaussian B, Gaussian to_A, Gaussian to_B)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | A | Incoming message from |
Gaussian | B | Incoming message from |
Gaussian | to_A | Previous outgoing message to |
Gaussian | to_B | Previous outgoing message to |
Returns
Type | Description |
---|---|
Gaussian | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of product
as the random arguments are varied. The formula is proj[p(product) sum_(a,b) p(a,b) factor(product,a,b)]/p(product)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ImproperMessageException |
|
ProductAverageConditional(Gaussian, Double, Gaussian)
EP message to product
.
Declaration
public static Gaussian ProductAverageConditional(Gaussian A, double B, Gaussian to_A)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | A | Incoming message from |
Double | B | Constant value for |
Gaussian | to_A | Previous outgoing message to |
Returns
Type | Description |
---|---|
Gaussian | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of product
as the random arguments are varied. The formula is proj[p(product) sum_(a) p(a) factor(product,a,b)]/p(product)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ProductAverageConditional(Double, Gaussian, Gaussian)
EP message to product
.
Declaration
public static Gaussian ProductAverageConditional(double A, Gaussian B, Gaussian to_B)
Parameters
Type | Name | Description |
---|---|---|
Double | A | Constant value for |
Gaussian | B | Incoming message from |
Gaussian | to_B | Previous outgoing message to |
Returns
Type | Description |
---|---|
Gaussian | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of product
as the random arguments are varied. The formula is proj[p(product) sum_(b) p(b) factor(product,a,b)]/p(product)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ProductAverageConditional2(Gaussian, Gaussian, Gaussian, Gaussian, Gaussian)
Declaration
public static Gaussian ProductAverageConditional2(Gaussian product, Gaussian A, Gaussian B, Gaussian to_A, Gaussian to_B)
Parameters
Type | Name | Description |
---|---|---|
Gaussian | product | |
Gaussian | A | |
Gaussian | B | |
Gaussian | to_A | |
Gaussian | to_B |
Returns
Type | Description |
---|---|
Gaussian |