Class CasesOp
Provides outgoing messages for Cases(Boolean), given random arguments to the function.
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Gate), "Cases", new Type[]{typeof(bool)})]
[Quality(QualityBand.Mature)]
public static class CasesOp
Methods
AverageLogFactor(IList<Bernoulli>, Bernoulli)
Evidence message for VMP.
Declaration
public static double AverageLogFactor(IList<Bernoulli> cases, Bernoulli b)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<Bernoulli> | cases | Incoming message from |
| Bernoulli | b | Incoming message from |
Returns
| Type | Description |
|---|---|
| Double | Zero. |
Remarks
In Variational Message Passing, the evidence contribution of a deterministic factor is zero. Adding up these values across all factors and variables gives the log-evidence estimate for VMP.
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageConditional(IList<Bernoulli>)
EP message to b.
Declaration
public static Bernoulli BAverageConditional(IList<Bernoulli> cases)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<Bernoulli> | cases | Incoming message from |
Returns
| Type | Description |
|---|---|
| Bernoulli | 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_(cases) p(cases) factor(cases,b)]/p(b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageLogarithm(IList<Bernoulli>)
VMP message to b.
Declaration
public static Bernoulli BAverageLogarithm(IList<Bernoulli> cases)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<Bernoulli> | cases | Incoming message from |
Returns
| Type | Description |
|---|---|
| Bernoulli | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of b with cases integrated out. The formula is sum_cases p(cases) factor(cases,b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
CasesAverageConditional<BernoulliList>(Bernoulli, BernoulliList)
EP message to cases.
Declaration
public static BernoulliList CasesAverageConditional<BernoulliList>(Bernoulli b, BernoulliList result)
where BernoulliList : IList<Bernoulli>
Parameters
| Type | Name | Description |
|---|---|---|
| Bernoulli | b | Incoming message from |
| BernoulliList | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| BernoulliList |
|
Type Parameters
| Name | Description |
|---|---|
| BernoulliList | The type of the outgoing message. |
Remarks
The outgoing message is a distribution matching the moments of cases as the random arguments are varied. The formula is proj[p(cases) sum_(b) p(b) factor(cases,b)]/p(cases).
CasesAverageConditionalInit()
Declaration
public static DistributionStructArray<Bernoulli, bool> CasesAverageConditionalInit()
Returns
| Type | Description |
|---|---|
| DistributionStructArray<Bernoulli, Boolean> |
Remarks
CasesAverageLogarithm<BernoulliList>(Bernoulli, BernoulliList)
VMP message to cases.
Declaration
public static BernoulliList CasesAverageLogarithm<BernoulliList>(Bernoulli b, BernoulliList result)
where BernoulliList : IList<Bernoulli>
Parameters
| Type | Name | Description |
|---|---|---|
| Bernoulli | b | Incoming message from |
| BernoulliList | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| BernoulliList |
|
Type Parameters
| Name | Description |
|---|---|
| BernoulliList | The type of the outgoing message. |
Remarks
The outgoing message is a distribution matching the moments of cases as the random arguments are varied. The formula is proj[sum_(b) p(b) factor(cases,b)].
CasesAverageLogarithmInit()
Declaration
public static DistributionStructArray<Bernoulli, bool> CasesAverageLogarithmInit()
Returns
| Type | Description |
|---|---|
| DistributionStructArray<Bernoulli, Boolean> |
Remarks
CasesDeriv<DistributionType>(DistributionType)
Declaration
public static DistributionType CasesDeriv<DistributionType>(DistributionType result)
where DistributionType : SettableToUniform
Parameters
| Type | Name | Description |
|---|---|---|
| DistributionType | result |
Returns
| Type | Description |
|---|---|
| DistributionType |
Type Parameters
| Name | Description |
|---|---|
| DistributionType |
LogEvidenceRatio(IList<Bernoulli>, Bernoulli)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(IList<Bernoulli> cases, Bernoulli b)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<Bernoulli> | cases | Incoming message from |
| Bernoulli | b | Incoming message from |
Returns
| Type | Description |
|---|---|
| Double | Logarithm of the factor's contribution the EP model evidence. |
Remarks
The formula for the result is log(sum_(cases,b) p(cases,b) factor(cases,b) / sum_cases p(cases) messageTo(cases)). Adding up these values across all factors and variables gives the log-evidence estimate for EP.
LogEvidenceRatio(IList<Bernoulli>, Boolean)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(IList<Bernoulli> cases, bool b)
Parameters
| Type | Name | Description |
|---|---|---|
| IList<Bernoulli> | cases | Incoming message from |
| Boolean | b | Constant value for |
Returns
| Type | Description |
|---|---|
| Double | Logarithm of the factor's contribution the EP model evidence. |
Remarks
The formula for the result is log(sum_(cases) p(cases) factor(cases,b) / sum_cases p(cases) messageTo(cases)). Adding up these values across all factors and variables gives the log-evidence estimate for EP.