Class PowerPlateOp
Provides outgoing messages for Enter<T>(T, Double), given random arguments to the function.
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(PowerPlate), "Enter<>", new Type[]{})]
[Quality(QualityBand.Preview)]
public static class PowerPlateOp
Methods
AverageLogFactor()
Evidence message for VMP.
Declaration
public static double AverageLogFactor()
Returns
| Type | Description |
|---|---|
| Double | Zero. |
Remarks
The formula for the result is log(factor(enter,value,exponent)). Adding up these values across all factors and variables gives the log-evidence estimate for VMP.
EnterAverageConditional<T>(T, T, Double, T)
EP message to enter.
Declaration
[SkipIfAllUniform(new string[]{"enter", "value"})]
public static T EnterAverageConditional<T>(T enter, T value, double exponent, T result)
where T : SettableToPower<T>, SettableToProduct<T>
Parameters
| Type | Name | Description |
|---|---|---|
| T | enter | Incoming message from |
| T | value | Incoming message from |
| Double | exponent | Constant value for |
| T | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| T |
|
Type Parameters
| Name | Description |
|---|---|
| T | The type of the distribution over the variable entering the power plate. |
Remarks
The outgoing message is a distribution matching the moments of enter as the random arguments are varied. The formula is proj[p(enter) sum_(value) p(value) factor(enter,value,exponent)]/p(enter).
EnterAverageConditionalInit<T>(T)
Declaration
public static T EnterAverageConditionalInit<T>(T value)
where T : ICloneable
Parameters
| Type | Name | Description |
|---|---|---|
| T | value | Incoming message from |
Returns
| Type | Description |
|---|---|
| T |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the distribution over the variable entering the power plate. |
Remarks
EnterAverageLogarithm<T>(T)
VMP message to enter.
Declaration
public static T EnterAverageLogarithm<T>(T value)
Parameters
| Type | Name | Description |
|---|---|---|
| T | value | Incoming message from |
Returns
| Type | Description |
|---|---|
| T | The outgoing VMP message to the |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the distribution over the variable entering the power plate. |
Remarks
The outgoing message is a distribution matching the moments of enter as the random arguments are varied. The formula is proj[sum_(value) p(value) factor(enter,value,exponent)].
LogEvidenceRatio<T>(T, T, Double, T)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio<T>(T enter, T value, double exponent, T to_enter)
where T : CanGetLogAverageOf<T>, CanGetLogAverageOfPower<T>
Parameters
| Type | Name | Description |
|---|---|---|
| T | enter | Incoming message from |
| T | value | Incoming message from |
| Double | exponent | Constant value for |
| T | to_enter | Outgoing message to |
Returns
| Type | Description |
|---|---|
| Double | Logarithm of the factor's contribution the EP model evidence. |
Type Parameters
| Name | Description |
|---|---|
| T | The type of the distribution over the variable entering the power plate. |
Remarks
The formula for the result is log(sum_(enter,value) p(enter,value) factor(enter,value,exponent) / sum_enter p(enter) messageTo(enter)). Adding up these values across all factors and variables gives the log-evidence estimate for EP.
ValueAverageConditional<T>(T, Double, T)
EP message to value.
Declaration
public static T ValueAverageConditional<T>(T enter, double exponent, T result)
where T : SettableToPower<T>
Parameters
| Type | Name | Description |
|---|---|---|
| T | enter | Incoming message from |
| Double | exponent | Constant value for |
| T | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| T |
|
Type Parameters
| Name | Description |
|---|---|
| T | The type of the distribution over the variable entering the power plate. |
Remarks
The outgoing message is a distribution matching the moments of value as the random arguments are varied. The formula is proj[p(value) sum_(enter) p(enter) factor(enter,value,exponent)]/p(value).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
ValueAverageLogarithm<T>(T, Double, T)
VMP message to value.
Declaration
public static T ValueAverageLogarithm<T>(T enter, double exponent, T result)
where T : SettableToPower<T>
Parameters
| Type | Name | Description |
|---|---|---|
| T | enter | Incoming message from |
| Double | exponent | Constant value for |
| T | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| T |
|
Type Parameters
| Name | Description |
|---|---|
| T | The type of the distribution over the variable entering the power plate. |
Remarks
The outgoing message is the factor viewed as a function of value with enter integrated out. The formula is sum_enter p(enter) factor(enter,value,exponent).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|