Class GetItemOp<T>
Provides outgoing messages for GetItem<T>(IReadOnlyList<T>, Int32), given random arguments to the function.
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Collection), "GetItem<>", new Type[]{})]
[Quality(QualityBand.Mature)]
public static class GetItemOp<T>
Type Parameters
Name | Description |
---|---|
T | The type of an item. |
Methods
ArrayAverageConditional<Distribution, DistributionArray>(Distribution, Int32, DistributionArray)
EP message to array
.
Declaration
public static DistributionArray ArrayAverageConditional<Distribution, DistributionArray>(Distribution item, int index, DistributionArray result)
where Distribution : SettableTo<Distribution> where DistributionArray : IList<Distribution>
Parameters
Type | Name | Description |
---|---|---|
Distribution | item | Incoming message from |
Int32 | index | Constant value for |
DistributionArray | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
DistributionArray |
|
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
DistributionArray | The type of the outgoing message. |
Remarks
The outgoing message is a distribution matching the moments of array
as the random arguments are varied. The formula is proj[p(array) sum_(item) p(item) factor(item,array,index)]/p(array)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ArrayAverageConditional<Distribution, DistributionArray>(T, Int32, DistributionArray)
EP message to array
.
Declaration
public static DistributionArray ArrayAverageConditional<Distribution, DistributionArray>(T item, int index, DistributionArray result)
where Distribution : HasPoint<T> where DistributionArray : IList<Distribution>
Parameters
Type | Name | Description |
---|---|---|
T | item | Incoming message from |
Int32 | index | Constant value for |
DistributionArray | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
DistributionArray |
|
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
DistributionArray | The type of the outgoing message. |
Remarks
The outgoing message is a distribution matching the moments of array
as the random arguments are varied. The formula is proj[p(array) sum_(item) p(item) factor(item,array,index)]/p(array)
.
ArrayAverageLogarithm<Distribution, DistributionArray>(Distribution, Int32, DistributionArray)
VMP message to array
.
Declaration
public static DistributionArray ArrayAverageLogarithm<Distribution, DistributionArray>(Distribution item, int index, DistributionArray result)
where Distribution : SettableTo<Distribution> where DistributionArray : IList<Distribution>
Parameters
Type | Name | Description |
---|---|---|
Distribution | item | Incoming message from |
Int32 | index | Constant value for |
DistributionArray | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
DistributionArray |
|
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
DistributionArray | The type of the outgoing message. |
Remarks
The outgoing message is the factor viewed as a function of array
with item
integrated out. The formula is sum_item p(item) factor(item,array,index)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ArrayAverageLogarithm<Distribution, DistributionArray>(T, Int32, DistributionArray)
VMP message to array
.
Declaration
public static DistributionArray ArrayAverageLogarithm<Distribution, DistributionArray>(T item, int index, DistributionArray result)
where Distribution : HasPoint<T> where DistributionArray : IList<Distribution>
Parameters
Type | Name | Description |
---|---|---|
T | item | Incoming message from |
Int32 | index | Constant value for |
DistributionArray | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
DistributionArray |
|
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
DistributionArray | The type of the outgoing message. |
Remarks
The outgoing message is the factor viewed as a function of array
with item
integrated out. The formula is sum_item p(item) factor(item,array,index)
.
AverageLogFactor()
Evidence message for VMP.
Declaration
public static double AverageLogFactor()
Returns
Type | Description |
---|---|
Double | Zero. |
Remarks
The formula for the result is log(factor(item,array,index))
. Adding up these values across all factors and variables gives the log-evidence estimate for VMP.
AverageLogFactor(T, IList<T>, Int32)
Evidence message for VMP.
Declaration
public static double AverageLogFactor(T item, IList<T> array, int index)
Parameters
Type | Name | Description |
---|---|---|
T | item | Incoming message from |
IList<T> | array | Incoming message from |
Int32 | index | Constant value for |
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.
ItemAverageConditional<Distribution>(IList<Distribution>, Int32, Distribution)
EP message to item
.
Declaration
public static Distribution ItemAverageConditional<Distribution>([SkipIfAllUniform] IList<Distribution> array, int index, Distribution result)
where Distribution : SettableTo<Distribution>
Parameters
Type | Name | Description |
---|---|---|
IList<Distribution> | array | Incoming message from |
Int32 | index | Constant value for |
Distribution | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
Distribution |
|
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
The outgoing message is a distribution matching the moments of item
as the random arguments are varied. The formula is proj[p(item) sum_(array) p(array) factor(item,array,index)]/p(item)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ItemAverageConditionalInit<Distribution>(IList<Distribution>)
Declaration
public static Distribution ItemAverageConditionalInit<Distribution>(IList<Distribution> array)
where Distribution : ICloneable
Parameters
Type | Name | Description |
---|---|---|
IList<Distribution> | array | Incoming message from |
Returns
Type | Description |
---|---|
Distribution |
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
ItemAverageLogarithm<Distribution>(IList<Distribution>, Int32, Distribution)
VMP message to item
.
Declaration
public static Distribution ItemAverageLogarithm<Distribution>([SkipIfAllUniform] IList<Distribution> array, int index, Distribution result)
where Distribution : SettableTo<Distribution>
Parameters
Type | Name | Description |
---|---|---|
IList<Distribution> | array | Incoming message from |
Int32 | index | Constant value for |
Distribution | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
Distribution |
|
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
The outgoing message is a distribution matching the moments of item
as the random arguments are varied. The formula is proj[sum_(array) p(array) factor(item,array,index)]
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
ItemAverageLogarithmInit<Distribution>(IList<Distribution>)
Declaration
public static Distribution ItemAverageLogarithmInit<Distribution>(IList<Distribution> array)
where Distribution : ICloneable
Parameters
Type | Name | Description |
---|---|---|
IList<Distribution> | array | Incoming message from |
Returns
Type | Description |
---|---|
Distribution |
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
LogAverageFactor(T, IList<T>, Int32)
Evidence message for EP.
Declaration
public static double LogAverageFactor(T item, IList<T> array, int index)
Parameters
Type | Name | Description |
---|---|---|
T | item | Incoming message from |
IList<T> | array | Incoming message from |
Int32 | index | Constant value for |
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_(item,array) p(item,array) factor(item,array,index))
.
LogAverageFactor<Distribution>(Distribution, Distribution)
Evidence message for EP.
Declaration
public static double LogAverageFactor<Distribution>(Distribution item, Distribution to_item)
where Distribution : CanGetLogAverageOf<Distribution>
Parameters
Type | Name | Description |
---|---|---|
Distribution | item | Incoming message from |
Distribution | to_item | Outgoing message to |
Returns
Type | Description |
---|---|
Double | Logarithm of the factor's average value across the given argument distributions. |
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
The formula for the result is log(sum_(item) p(item) factor(item,array,index))
.
LogAverageFactor<Distribution>(T, IList<Distribution>, Int32)
Evidence message for EP.
Declaration
public static double LogAverageFactor<Distribution>(T item, IList<Distribution> array, int index)
where Distribution : CanGetLogProb<T>
Parameters
Type | Name | Description |
---|---|---|
T | item | Incoming message from |
IList<Distribution> | array | Incoming message from |
Int32 | index | Constant value for |
Returns
Type | Description |
---|---|
Double | Logarithm of the factor's average value across the given argument distributions. |
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
The formula for the result is log(sum_(item,array) p(item,array) factor(item,array,index))
.
LogEvidenceRatio(T, IList<T>, Int32)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio(T item, IList<T> array, int index)
Parameters
Type | Name | Description |
---|---|---|
T | item | Incoming message from |
IList<T> | array | Incoming message from |
Int32 | index | 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_(item,array) p(item,array) factor(item,array,index) / sum_item p(item) messageTo(item))
. Adding up these values across all factors and variables gives the log-evidence estimate for EP.
LogEvidenceRatio<Distribution>(Distribution)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio<Distribution>(Distribution item)
where Distribution : IDistribution<T>
Parameters
Type | Name | Description |
---|---|---|
Distribution | item | Incoming message from |
Returns
Type | Description |
---|---|
Double | Logarithm of the factor's contribution the EP model evidence. |
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
The formula for the result is log(sum_(item) p(item) factor(item,array,index) / sum_item p(item) messageTo(item))
. Adding up these values across all factors and variables gives the log-evidence estimate for EP.
LogEvidenceRatio<Distribution>(T, IList<Distribution>, Int32)
Evidence message for EP.
Declaration
public static double LogEvidenceRatio<Distribution>(T item, IList<Distribution> array, int index)
where Distribution : CanGetLogProb<T>
Parameters
Type | Name | Description |
---|---|---|
T | item | Incoming message from |
IList<Distribution> | array | Incoming message from |
Int32 | index | Constant value for |
Returns
Type | Description |
---|---|
Double | Logarithm of the factor's contribution the EP model evidence. |
Type Parameters
Name | Description |
---|---|
Distribution | The type of the distribution over an item. |
Remarks
The formula for the result is log(sum_(item,array) p(item,array) factor(item,array,index) / sum_item p(item) messageTo(item))
. Adding up these values across all factors and variables gives the log-evidence estimate for EP.