HLDA Mallet 实现的 alpha、gamma 和 eta 参数的可能值范围

Range of possible values for alpha, gamma and eta params of HLDA's Mallet implementation

我正在尝试 运行 hlda algorytmm 并生成输入文档的描述性层次结构。问题是我正在 运行 配置不同的参数,并试图了解它在 "empirical way" 中的工作原理,因为我无法匹配原始论文中使用的参数(我知道这是一个不同的团队)。例如。 Mallet中的alpha在论文中好像是eta,但我不是很确定。此外,我不知道他们每个人的界限。我的意思是,每个参数的可能值范围。

在源代码中,有一些帮助:

double alpha; // smoothing on topic distributions
double gamma; // "imaginary" customers at the next
double eta;   // smoothing on word distributions.   

首先,我使用了默认值:alpha=10.0;伽玛=1.0; eta = 0.1;

然后,我尝试 运行通过更改值和解释结果来调整算法,但我无法理解它们的含义。例如。我认为改变 gamma(在 Mallet 中)会影响客户的决定:在树中启动一个新节点或放置在现有节点中。所以,如果我设置 gamma = 0.5,应该会产生更少的节点,因为 0.5 是默认概率的一半,对吗?但是 gamma=1 的结果给了我 87 个节点,而 gamma=0.5 的结果是 returns 98!然后,我问我一些新问题:这是概率吗?我试图在这两篇论文中找到可能值的范围,但我没有找到它们:

  1. Hierarchical Topic Models andthe Nested Chinese Restaurant Process
  2. The Nested Chinese Restaurant Process and BayesianNonparametric Inference of Topic Hierarchies

我知道我可能会遗漏一些东西,因为我没有这方面的良好背景,但这就是我在这里问的原因,也许有人已经遇到了这个问题并且可以帮助我理解这些限制。

提前致谢!

每个超参数设置多次 运行 可能会有帮助。我怀疑 gamma 对最终的主题数量没有太大影响,你所看到的可能只是采样过程中的典型变化。

根据我的经验,迄今为止对主题数量影响最大的参数实际上是 eta,即主题词平滑。