通常情况下,主题模型(如LDA、pLSI等)用于无监督地推断可能存在于一组文档中的主题。我想知道是否有任何想法可以将我的问题塞进LDA框架中,因为有非常好的工具可用于解决LDA问题。
为了全面起见,我有以下输入信息:
- 一组文档(来自同一生物体的DNA片段,其中每个片段都是一个文档)
- 在这种情况下,一个文档只能有一个主题
- 一组主题(来自其他生物体的DNA片段)
- 在这种情况下,单词是碱基三联体(暂时如此)
我想回答的问题是:对于当前文档,它的主题是什么?换句话说,对于给定的DNA片段,它最有可能来自哪个其他生物体(同一物种)?由于片段交换以来可能发生了突变等情况,因此两个片段不会完全相同。
这与传统的LDA模型的主要区别在于,我事先知道主题。
我的初始想法是采用pLSA模型(http://en.wikipedia.org/wiki/PLSA),并明确设置主题节点,然后执行标准EM学习(如果有一个可以处理具有潜在变量的贝叶斯参数学习的好库就好了...),随后使用任何算法进行推理(因为该模型是多叉树,所以算法不应该有影响)。
编辑:我想我已经解决了这个问题,对于可能会遇到这个问题的人,我发现你可以使用带标签的LDA,并将每个标签分配给每个文档。由于每个标签与一个主题具有一一对应关系,因此您实际上是在告诉算法:对于每个文档,请从此给定的主题集(即标签集)中选择主题,而不是自己编造主题。
为了全面起见,我有以下输入信息:
- 一组文档(来自同一生物体的DNA片段,其中每个片段都是一个文档)
- 在这种情况下,一个文档只能有一个主题
- 一组主题(来自其他生物体的DNA片段)
- 在这种情况下,单词是碱基三联体(暂时如此)
我想回答的问题是:对于当前文档,它的主题是什么?换句话说,对于给定的DNA片段,它最有可能来自哪个其他生物体(同一物种)?由于片段交换以来可能发生了突变等情况,因此两个片段不会完全相同。
这与传统的LDA模型的主要区别在于,我事先知道主题。
我的初始想法是采用pLSA模型(http://en.wikipedia.org/wiki/PLSA),并明确设置主题节点,然后执行标准EM学习(如果有一个可以处理具有潜在变量的贝叶斯参数学习的好库就好了...),随后使用任何算法进行推理(因为该模型是多叉树,所以算法不应该有影响)。
编辑:我想我已经解决了这个问题,对于可能会遇到这个问题的人,我发现你可以使用带标签的LDA,并将每个标签分配给每个文档。由于每个标签与一个主题具有一一对应关系,因此您实际上是在告诉算法:对于每个文档,请从此给定的主题集(即标签集)中选择主题,而不是自己编造主题。