Class SoftmaxOp_Bohning
Provides outgoing messages for Softmax(IList<Double>), given random arguments to the function.
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(MMath), "Softmax", new Type[]{typeof(IList<double>)})]
[Quality(QualityBand.Preview)]
public static class SoftmaxOp_Bohning
Methods
AverageLogFactor<GaussianList>(GaussianList, Dirichlet, Dirichlet)
Evidence message for VMP.
Declaration
public static double AverageLogFactor<GaussianList>(GaussianList x, Dirichlet softmax, Dirichlet to_softmax)
where GaussianList : IList<Gaussian>
Parameters
Type | Name | Description |
---|---|---|
GaussianList | x | Incoming message from |
Dirichlet | softmax | Incoming message from |
Dirichlet | to_softmax | Previous outgoing message to |
Returns
Type | Description |
---|---|
Double | Zero. |
Type Parameters
Name | Description |
---|---|
GaussianList | The type of the incoming message from |
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.
SoftmaxAverageLogarithm<GaussianList>(GaussianList, Dirichlet)
VMP message to softmax
.
Declaration
public static Dirichlet SoftmaxAverageLogarithm<GaussianList>([SkipIfAllUniform] GaussianList x, Dirichlet result)
where GaussianList : IList<Gaussian>
Parameters
Type | Name | Description |
---|---|---|
GaussianList | x | Incoming message from |
Dirichlet | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
Dirichlet |
|
Type Parameters
Name | Description |
---|---|
GaussianList | The type of the incoming message from |
Remarks
The outgoing message is a distribution matching the moments of softmax
as the random arguments are varied. The formula is proj[sum_(x) p(x) factor(softmax,x)]
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|
XAverageLogarithm<GaussianList>(Dirichlet, IList<Gaussian>, GaussianList)
VMP message to x
.
Declaration
public static GaussianList XAverageLogarithm<GaussianList>(Dirichlet softmax, IList<Gaussian> x, GaussianList result)
where GaussianList : IList<Gaussian>
Parameters
Type | Name | Description |
---|---|---|
Dirichlet | softmax | Incoming message from |
IList<Gaussian> | x | Incoming message from |
GaussianList | result | Modified to contain the outgoing message. |
Returns
Type | Description |
---|---|
GaussianList |
|
Type Parameters
Name | Description |
---|---|
GaussianList | The type of the outgoing message. |
Remarks
The outgoing message is the factor viewed as a function of x
with softmax
integrated out. The formula is sum_softmax p(softmax) factor(softmax,x)
.
Exceptions
Type | Condition |
---|---|
ImproperMessageException |
|