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 |
|