13

我正在为 R 使用这个 LDA 包。具体来说,我正在尝试进行有监督的潜在狄利克雷分配 (slda)。在链接的包中,有一个slda.em函数。然而让我困惑的是它要求 alpha、eta 和方差参数。据我了解,我认为这些参数在模型中是未知数。所以我的问题是,包的作者的意思是说这些是对参数的初步猜测吗?如果是,似乎没有办法从运行的结果中访问它们slda.em

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

4

1 回答 1

4

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

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

于 2016-05-03T19:26:24.593 回答