R监督潜在Dirichlet分配包

时间:2016-04-27 23:40:35

标签: r topic-modeling dirichlet latent-semantic-analysis

我正在使用this LDA package代替R.特别是我正在尝试supervised latent dirichlet allocation (slda)。在链接包中,有一个mapply(function(x,y){ table(x[y]) },ee,dd) 函数。但令我困惑的是它要求alpha,eta和variance参数。据我了解,我认为这些参数在模型中是未知的。所以我的问题是,包的作者是否意味着这些是参数的初步猜测?如果是,那么似乎不是从运行slda.em的结果中访问它们的方式。

除了编码算法中的额外EM步骤之外,是否有建议的方法来猜测这些参数的合理值?

1 个答案:

答案 0 :(得分:4)

由于您正在尝试生成监督模型,因此典型的方法是使用交叉验证来确定模型参数。因此,您将一些数据作为测试集,在剩余数据上训练模型,并评估模型性能,重复k次。然后,您继续使用不同的模型参数重复,以确定哪种结果具有最佳模型性能。

在slda的特定情况下,我会运行demo(slda)来查看作者的实现。运行演示时,您会看到他设置了alpha=1.0eta=0.1variance=0.25。我建议使用这些作为起点,然后使用交叉验证来确定更好的参数,如果您需要提高模型性能。