【问题标题】:Which hyperparameter optimization technique is used in Mallet for LDA?Mallet for LDA 中使用了哪种超参数优化技术?
【发布时间】:2021-05-20 14:43:21
【问题描述】:

我想知道在 Mallet 的 LDA implementation 中使用哪种技术来学习 Dirichlet 先验。

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

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

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

梁杰红在his blog中说:

一种典型的方法是利用 Monte-Carlo EM 方法,其中 E-step 由 Gibbs 采样近似,而 M-step 是执行一个 基于梯度的优化方法来优化 Dirichlet 参数。 这种方法在 Mallet 包中实现。

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

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

使用频率直方图了解 Dirichlet 参数

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

【问题讨论】:

    标签: lda hyperparameters mallet


    【解决方案1】:

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

    【讨论】:

    • 只是为了确定:Mallet 是否使用所描述的直方图技术实现了来自Wallach's thesis, p.27 的“方法 1:使用 Digamma 递归关系”(算法 2.2)并另外引入了 gamma 超先验(第 2.5 节)?
    • 是的,the code 正在使用具有 gamma(shape=1.00001, scale=1) 超超先验的方法。
    猜你喜欢
    • 1970-01-01
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 2011-03-26
    • 2010-10-07
    相关资源
    最近更新 更多