本文整理汇总了C#中Discrete.GetLogProb方法的典型用法代码示例。如果您正苦于以下问题:C# Discrete.GetLogProb方法的具体用法?C# Discrete.GetLogProb怎么用?C# Discrete.GetLogProb使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Discrete
的用法示例。
在下文中一共展示了Discrete.GetLogProb方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: LogAverageFactor
/// <summary>
/// Evidence message for EP
/// </summary>
/// <param name="sample">Constant value for 'sample'.</param>
/// <param name="p">Incoming message from 'p'.</param>
/// <param name="trialCount">Incoming message from 'trialCount'.</param>
/// <returns>Logarithm of the factor's average value across the given argument distributions</returns>
/// <remarks><para>
/// The formula for the result is <c>log(sum_(p,trialCount) p(p,trialCount) factor(sample,trialCount,p))</c>.
/// </para></remarks>
public static double LogAverageFactor(int sample, Beta p, Discrete trialCount)
{
double logZ = Double.NegativeInfinity;
for (int n = 0; n < trialCount.Dimension; n++)
{
logZ = MMath.LogSumExp(logZ, trialCount.GetLogProb(n) + LogAverageFactor(sample, p, n));
}
return logZ;
}
示例2: LogAverageFactor
/// <summary>
/// Evidence message for EP
/// </summary>
/// <param name="sum">Constant value for 'Sum'.</param>
/// <param name="a">Incoming message from 'A'.</param>
/// <param name="b">Constant value for 'B'.</param>
/// <returns>Logarithm of the factor's average value across the given argument distributions</returns>
/// <remarks><para>
/// The formula for the result is <c>log(sum_(A) p(A) factor(Sum,A,B))</c>.
/// </para></remarks>
public static double LogAverageFactor(int sum, Discrete a, int b)
{
if (a.IsPointMass) return LogAverageFactor(sum, a.Point, b);
int i = sum-b;
if (i < a.Dimension) return a.GetLogProb(i);
else return Double.NegativeInfinity;
}