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 |