Mallet for LDA 使用了哪种超参数优化技术?

Which hyperparameter optimization technique is used in Mallet for LDA?

我想知道在 Mallet 的 LDA implementation.

中使用哪种技术来学习狄利克雷先验

Hanna Wallach 的第 2 章 Ph.D. thesis 对从数据中学习狄利克雷先验的现有技术和新技术进行了很好的概述和有价值的评估。

Tom Minka 最初提供了他著名的 fixed-point iteration approach,但没有任何评估或建议。

此外,Jonathan Chuang 对之前提出的方法进行了一些比较,包括Newton−Raphson method

梁杰宏在his blog中说了以下内容:

A typical approach is to utilize Monte-Carlo EM approach where E-step is approximated by Gibbs sampling while M-step is to perform a gradient-based optimization approach to optimize Dirichlet parameters. Such approach is implemented in Mallet package.

Mallet 提到了带和不带直方图的 Minka 定点迭代。

然而,实际使用的method只是声明:

Learn Dirichlet parameters using frequency histograms

有人可以提供任何描述所用技术的参考资料吗?

它使用不动点迭代。频率直方图方法只是一种有效的计算方法。它们提供了一种代数等效的方法来进行完全相同的计算。更新函数由大量 Digamma 函数的总和组成。这个函数本身很难计算,但是两个 Digamma 函数之间的 差异 (其中参数相差一个整数)相对容易计算,甚至更好,它“望远镜”所以Digamma(a + n) - Digamma(a) 的答案与 Digamma(a + n + 1) - Digamma(a) 的答案差一个运算。如果您处理从 1 到最大值的计数直方图,将您在每一步看到计数 n 的次数相加,计算就会变得非常快。最初,我们担心超参数优化会花费很长时间,以至于没有人会去做。有了这个技巧,它是如此之快,与 Gibbs 采样相比并不重要。