Spark MLLIB LDA主题矩阵的输出是什么?

3
LDAModel.topicsMatrix()的输出对我来说不清楚。我认为我理解了LDA的概念,每个主题都由对术语的分布表示。
LDAModel.describeTopics()中很清楚(我想): 每个主题中单词的似然总和最高的话题,表示该推文属于该话题的证据。 使用n个主题,describeTopics()的输出是一个n乘以m矩阵,其中m代表词汇量的大小。此矩阵中的值小于或等于1。
但是在LDAModel.topicsMatrix()中,我不知道我在看什么。阅读文档时也是如此。 该矩阵是一个m乘以n的矩阵,维度已更改,并且该矩阵中的值大于零(因此可以取值2,这不是概率值)。这些值是什么?该单词在主题中出现的次数?
我如何使用这些值计算句子到主题的距离?

我在文档中也找不到这个信息,但看起来这些是狄利克雷分布的参数,用于描述单词-主题的多项式分布。从维度和观察值的角度来看,这是有意义的。在维基百科上,这被称为$\phi$符号。 - Nick To
1个回答

0

我认为矩阵是m*n的,其中m代表单词数量,n代表主题数量。


val topics = ldaModel.topicsMatrix for (topic <- Range(0, 3)) { print("主题 " + topic + ":") for (word <- Range(0, ldaModel.vocabSize)) { print(" " + topics(word, topic)); } println() } 也许你可以通过这个进行检查 - pengju teng
1
你应该在回答中编辑并添加代码,而不是将其添加到评论中。 - dkb

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接