Class GammaRatioOp_Laplace
Provides outgoing messages for Ratio(Double, Double), given random arguments to the function.
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Factor), "Ratio", new Type[]{typeof(double), typeof(double)})]
[Buffers(new string[]{"Q"})]
[Quality(QualityBand.Experimental)]
public static class GammaRatioOp_Laplace
Methods
AAverageConditional(Gamma, Gamma, Gamma, Gamma)
EP message to a.
Declaration
public static Gamma AAverageConditional(Gamma ratio, Gamma A, Gamma B, Gamma q)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | ratio | Incoming message from |
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
| Gamma | q | Buffer |
Returns
| Type | Description |
|---|---|
| Gamma | 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_(ratio,b) p(ratio,b) factor(ratio,a,b)]/p(a).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageConditional(Gamma, Gamma, Gamma, Gamma)
EP message to b.
Declaration
public static Gamma BAverageConditional(Gamma ratio, Gamma A, Gamma B, Gamma q)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | ratio | Incoming message from |
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
| Gamma | q | Buffer |
Returns
| Type | Description |
|---|---|
| Gamma | 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_(ratio,a) p(ratio,a) factor(ratio,a,b)]/p(b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
| ImproperMessageException |
|
LogAverageFactor(Gamma, Gamma, Gamma, Gamma)
Evidence message for EP.
Declaration
public static double LogAverageFactor(Gamma ratio, Gamma A, Gamma B, Gamma q)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | ratio | Incoming message from |
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
| Gamma | q | Buffer |
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_(ratio,a,b) p(ratio,a,b) factor(ratio,a,b)).
LogEvidenceRatio(Gamma, Gamma, Gamma, Gamma, Gamma)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(Gamma ratio, Gamma A, Gamma B, Gamma to_ratio, Gamma q)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | ratio | Incoming message from |
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
| Gamma | to_ratio | Previous outgoing message to |
| Gamma | q | Buffer |
Returns
| Type | Description |
|---|---|
| Double | Logarithm of the factor's contribution the EP model evidence. |
Remarks
The formula for the result is log(sum_(ratio,a,b) p(ratio,a,b) factor(ratio,a,b) / sum_ratio p(ratio) messageTo(ratio)). Adding up these values across all factors and variables gives the log-evidence estimate for EP.
LogEvidenceRatio(Double, Gamma, Gamma, Gamma)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(double ratio, Gamma A, Gamma B, Gamma q)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | ratio | Constant value for |
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
| Gamma | q | Buffer |
Returns
| Type | Description |
|---|---|
| Double | Logarithm of the factor's contribution the EP model evidence. |
Remarks
The formula for the result is log(sum_(a,b) p(a,b) factor(ratio,a,b)). Adding up these values across all factors and variables gives the log-evidence estimate for EP.
Q(Gamma, Gamma, Gamma)
Update the buffer Q.
Declaration
public static Gamma Q(Gamma ratio, Gamma A, Gamma B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | ratio | Incoming message from |
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | New value of buffer |
Remarks
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
QInit()
Initialize the buffer Q.
Declaration
public static Gamma QInit()
Returns
| Type | Description |
|---|---|
| Gamma | Initial value of buffer |
Remarks
RatioAverageConditional(Gamma, Gamma, Gamma)
EP message to ratio.
Declaration
public static Gamma RatioAverageConditional(Gamma ratio, Gamma A, Gamma B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | ratio | Incoming message from |
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing EP message to the |
Remarks
The outgoing message is a distribution matching the moments of ratio as the random arguments are varied. The formula is proj[p(ratio) sum_(a,b) p(a,b) factor(ratio,a,b)]/p(ratio).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|