Dirichlet分布混合的归一化常数是无界的

时间:2015-02-24 06:45:31

标签: python machine-learning statistics probability dirichlet

我需要在python中计算Dirichlet分布混合的PDF。但是对于每个混合分量,存在归一化常数,其是反β函数,其具有作为分子的超参数之和的伽马函数。因此,即使对于大小超参数的总和来说,60'它无限。请建议我解决这个问题。当我忽略归一化常数时会发生什么?

首先它不是计算NC本身就是问题。对于单个dirichlet我没有问题。但我在这里得到的是dirichlets产品的混合物,因此每种混合物成分都是许多dirichlet的产物,每个dirichlet都有自己的NC。所以这些产品无限制。关于我的目标,我有一个p(s,T,O)的联合分布,其中'是离散的,' T'和' O'是dirichlet变量,即一组参数矢量,它们总和为' 1'。现在,因为'是离散的和有限的我有| S |每组dirichlet组分产品的混合物组合。现在我的目标是找到p(s | T,O)。所以我直接替换特定的(T,O)并计算每个p的值(' s' | T,O)。为此,我需要对NC进行计算。如果只有一个混合成分,那么我可以忽略常数常数calc。最后重新算法化,但由于我有几个混合成分,每个成分都会有不同的缩放比例,所以我不能重新正规化。这是我的难题。

1 个答案:

答案 0 :(得分:0)

一些想法。 (1)要精确计算归一化因子,也许你可以通过gamma(a_i + 1)= a_i gamma(a_i)重写伽玛函数(a_i不必是整数,基本情况是a_i <1)然后你将在分子和分母中得到总和(a_i,i,1,n)项,你可以对它们进行重新排序,以便将最大项除以最大项,并将这些单项比率加在一起,而不是计算一个巨大的分子和一个巨大的分母并将它们分开。 (2)如果你不需要准确,也许你可以应用斯特林的近似值。 (3)也许你根本不需要pdf。出于某些目的,您只需要一个与pdf成比例的函数。我相信马尔可夫链蒙特卡洛就是这样。那么,你想在这里实现的更大目标是什么?