Latent Dirichlet Allocation主题数量未知

时间:2012-10-12 04:58:07

标签: statistics machine-learning artificial-intelligence

我正在寻找一种类似于LDA的技术,但不知道有多少“混合物”是最佳的 - 那里有什么可以做到的吗?

2 个答案:

答案 0 :(得分:6)

有两种方法可以解决这个问题,一种是hacky但很容易;另一个更好的动机,但更复杂。从前者开始,人们可以简单地尝试一系列 k (主题数量)并比较每种情况下观察到的数据的可能性。您可能希望根据您的情况惩罚更多的主题 - 或者您可以明确地将先前分布放在 k 上(即,以主观预期的群集数量为中心的正常分布)。在任何情况下,您只需选择最大化可能性的 k 即可。

更有原则的方法是使用贝叶斯非参数和Dirichlet过程,特别是在主题模型的情况下。看看this paper。我相信有一个可用的实现here,虽然我没有太多的研究。

答案 1 :(得分:1)

正如拜伦所说,最简单的方法是比较不同k值的可能性。但是,如果你注意考虑一些保持数据的概率(即不用于诱导模型),这自然会惩罚过度拟合,因此你不需要对k进行标准化。一个简单的方法是获取训练数据并将其分成训练集和开发集,然后搜索一系列合理的k值,从训练集中引入模型,然后计算开发集概率给出诱导模型。

值得一提的是,在LDA下精确计算可能性是难以处理的,因此您需要使用近似推理。 This paper深入讨论了这个问题,但如果你使用标准的LDA软件包(我推荐使用mallet:http://mallet.cs.umass.edu/),他们应该已经拥有此功能。

非参数版本确实是正确的方法,但非参数模型中的推理在计算上是昂贵的,所以除非上述方法无效,否则我会犹豫不决。