parameters - 在LDA模型中,多项式参数(theta)是如何从狄利克雷先验权重(alpha)中得出的?

标签 parameters lda topic-modeling dirichlet

我是一名大一新生,现在正在研究LDA(Latent Dirichlet Allocation)模型。但是,我遇到了一个问题。

如何从 alpha 中得出 theta?

theta ~ Dir(alpha)

根据我的简短理解,变量 theta 是一个长度为 K 的向量,其分量代表文档中的主题比例。 而且,每个文档的 theta 都不同。 并且,在语料库级别,alpha 仍然是 K 向量,而 theta 是 M(文档数)乘 K(主题数)大小的矩阵。

第一个问题:我上面所说的是真的吗?

第二个问题:如果为真,在文档上,如何从相同的狄利克雷分布中得出不同的 theta(K 向量)?

最佳答案

第一个答案:是的,你完全正确。

第二个答案:正如您提到的,alpha 是 K 向量。当我们从狄利克雷分布中抽取样本时,我们得到另一个 K 向量。这些值本身取决于 alpha 的值,但它们的总和均为 1(这就是它们可以被视为一份文档中所有主题的比例的方式)。我们对每个文档采样一次,以获得 M 个向量 - 这就是我们获得 MxK 矩阵 theta 的方式。

我们对狄利克雷分布进行采样得到的向量长度取决于其参数 alpha 的长度。

关于parameters - 在LDA模型中,多项式参数(theta)是如何从狄利克雷先验权重(alpha)中得出的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18180639/

相关文章:

python - 如何从函数的结果中删除 None?

R LDAvis K=2 createJSON() 错误

node.js - 使用来自 GET param 的对象作为 sequelize 中的 where 子句

javascript - 将 php 字符串作为参数传递给 php 脚本中调用的 javascript 函数

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

python - 值错误: cannot compute LDA over an empty collection (no terms)

python scikit学习,在LDA中获取每个主题的文档

parameters - H.264 流的序列/图片参数集的可能位置

用于传递参数的连续内存

java - "main"java.lang.ClassCastException : [Lscala. Tuple2;无法在 Spark MLlib LDA 中转换为 scala.Tuple2