Statistics 结构化文档中的主题模型?(或者EM或MCMC会工作吗?)

Statistics 结构化文档中的主题模型?(或者EM或MCMC会工作吗?),statistics,probability,bayesian,montecarlo,topic-modeling,Statistics,Probability,Bayesian,Montecarlo,Topic Modeling,我有一套文档,每个文档由N个单词组成。每个文档的第i个字是从一组常用字中选择的,Wi={wi1,wi2,wi3,wi4} 例如,每个文档中的第一个单词可以从以下位置选择:{'alpha','one','first','lower'}。第二个单词可以从以下位置选择:{'beta','two','second','lower'}。等等 这些词可能属于不同的主题。例如,一个主题可能由{'alpha','beta','gamma'等组成。另一个主题可能是{'alpha','two','third',等等

我有一套文档,每个文档由N个单词组成。每个文档的第i个字是从一组常用字中选择的,Wi={wi1,wi2,wi3,wi4}

例如,每个文档中的第一个单词可以从以下位置选择:{'alpha','one','first','lower'}。第二个单词可以从以下位置选择:{'beta','two','second','lower'}。等等

这些词可能属于不同的主题。例如,一个主题可能由{'alpha','beta','gamma'等组成。另一个主题可能是{'alpha','two','third',等等..}。每个文档都有不同的主题用法(就像普通的主题模型一样)

要生成一个新文档,您需要遍历每个位置1…N。对于第i个单词,您可以根据文档的主题用法选择一个主题,然后根据主题的单词用法从Wi中选择一个单词。因此,每个主题总共有N个单词-每个位置一个单词

我的问题是如何学习该模型中的潜在参数?具体来说,我想知道(1)每个文档的主题用法,(2)每个主题的单词组成。这看起来很像一个主题模型,但我不知道我是否可以使用任何开箱即用的东西

因为我可以写出给定参数的数据的可能性,所以我尝试实现一个EM算法来估计(1)主题使用情况,然后使用它来更新(2)单词使用情况(并不断迭代直到收敛)。然而,这真的很慢

我读过的另一件事是,如果我能写出关节密度函数,我可以尝试从后验密度中采样来学习这些隐藏参数(使用MCMC)。这听起来可行吗?我有约100个文档,每个文档约1000字长,在每个单词位置,您可以从6个单词中进行选择


如果有人能提供帮助或建议,我将不胜感激。谢谢

您没有明确说明这一点,但在您的第四段中似乎隐含了这一点:鉴于主题,为第i个时段选择的单词的分布与为其他时段选择的(或将要选择的)单词无关

如果是这种情况,那么你的模型是(符合)a,这可能是你最好的选择;这种类型的模型可以配置为一次通过训练数据,并且应该比使用EM算法要好得多


如果单词之间存在相关性,给定类别,您可能需要研究“树增强贝叶斯分类器”。

纯EM不适用于主题模型:您需要使用变分EM,如中所示。另一种推理方法是使用折叠的吉布斯采样器,正如格里菲斯等人(以及其他许多人)的论文所描述的那样


你能解释一下生成过程吗?你是说你从一个不同的主题为每个职位i(标准LDA)?你想要一组不同于职位i+1的主题吗?知道职位i的主题分配意味着你知道i+1..n的分配?如果你能把它写成一个标准的生成模型,那么找出如何进行推理应该非常简单(我很乐意编辑我的答案)。

这不是天真的贝叶斯,因为主题分配是潜在的。如果你知道哪些单词属于哪些主题,那么最大似然估计将是微不足道的。这里没有编程问题。我建议你继续问