Class GaussianProductOp_LaplaceProp
Provides outgoing messages for the following factors:
, given random arguments to the function.Inheritance
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Factor), "Product", new Type[]{typeof(double), typeof(double)})]
[FactorMethod(new string[]{"A", "Product", "B"}, typeof(Factor), "Ratio", new Type[]{typeof(double), typeof(double)}, Default = true)]
[Quality(QualityBand.Experimental)]
public class GaussianProductOp_LaplaceProp : GaussianProductOpEvidenceBase
Remarks
This class allows EP to process the product factor using Laplace Propagation with other variables marginalized out.
Methods
AAverageConditional(Gaussian, Gaussian, Gaussian, Gaussian)
EP message to a.
Declaration
public static Gaussian AAverageConditional(Gaussian Product, Gaussian A, Gaussian B, Gaussian to_A)
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 |
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).
BAverageConditional(Gaussian, Gaussian, Gaussian, Gaussian)
EP message to b.
Declaration
public static Gaussian BAverageConditional(Gaussian Product, Gaussian A, Gaussian B, Gaussian to_B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | Product | Incoming message from |
| Gaussian | A | 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 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).
LogAverageFactor(Gaussian, Gaussian, Gaussian, Gaussian)
Evidence message for EP.
Declaration
[FactorMethod(typeof(Factor), "Product", new Type[]{typeof(double), typeof(double)})]
public static double LogAverageFactor(Gaussian Product, Gaussian A, Gaussian B, Gaussian to_A)
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 |
Returns
| Type | Description |
|---|---|
| Double | Logarithm of the factor's average value across the given argument distributions. |
Remarks
The formula for the result is log(sum_(product,a,b) p(product,a,b) factor(product,a,b)).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
| ImproperMessageException |
|
LogEvidenceRatio(Gaussian, Gaussian, Gaussian, Gaussian, Gaussian)
Evidence message for EP.
Declaration
[FactorMethod(typeof(Factor), "Product", new Type[]{typeof(double), typeof(double)})]
public static double LogEvidenceRatio(Gaussian Product, Gaussian A, Gaussian B, Gaussian to_A, 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_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 |
|
ProductAverageConditional(Gaussian, Gaussian)
EP message to product.
Declaration
public static Gaussian ProductAverageConditional(Gaussian A, Gaussian B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | A | Incoming message from |
| Gaussian | B | Incoming message from |
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).
ProductAverageConditional2(Gaussian, Gaussian, Gaussian, Gaussian)
Declaration
public static Gaussian ProductAverageConditional2(Gaussian Product, Gaussian A, Gaussian B, Gaussian to_A)
Parameters
| Type | Name | Description |
|---|---|---|
| Gaussian | Product | |
| Gaussian | A | |
| Gaussian | B | |
| Gaussian | to_A |
Returns
| Type | Description |
|---|---|
| Gaussian |