machine-learning - 我们怎么知道狄利克雷分布描述的是主题而不是其他东西?

标签 machine-learning data-mining lda dirichlet

Dirichlet distribution用于文档建模。

我读到了这个article那:

Different Dirichlet distributions can be used to model documents by different authors or documents on different topics.

那么我们如何判断它是否是针对不同作者或不同主题的建模呢?这很重要,因为在文档聚类任务中,它直接决定了聚类结果的语义。

而且我发现将建模的可能方面仅限于作者或主题过于主观。由于似乎没有强有力的证据支持某个特定方面,因此它可能是任何其他潜在/潜在方面。

有人能解释一下吗?

最佳答案

听起来您在考虑 LDA 时犯了一个常见错误。

LDA不是一种文档聚类方法。考虑到模型,任何将主题分配给文档的尝试都是不正确的;事实上,任何将主题分配给单词的尝试也是不正确的。相反,LDA 是一种查看文档集合以及查看主题在这些文档中混合方式的方法。换句话说,每个文档没有一个主题,它具有多个主题的分布。这并不是不确定文档属于哪个主题,而是不确定该文档中使用的主题的比例。给定一个文档,您可以计算该文档中主题混合的分布;给定一个文档集合,您可以推断出每个文档中的混合内容以及最能描述该集合的主题。每个单词还不确定它来自哪个主题,因为根据定义,每个主题都可以发出每个可能的单词,但它们的发出更有可能来自某些主题,而不是其他主题。

回答您关于主题是否反射(reflect)作者、主题、风格、注册或其他内容的原始问题:主题不明确代表其中任何一个。它们代表单词的分组。每个主题都是词汇表的分布,因此不同的主题代表不同的词语使用倾向:在同质作者但异质主题的集合中,这些可能对应于“主题”(即主题)的直观概念;在异质作者但同质主题的集合中,也许不同的主题会与不同的作者相关。在混合主题、作者、语域、流派等的集合中,它们可能根本不对应于任何可观察到的特征。

相反,主题是一个抽象结构,所有最终主题都会告诉您什么是最好的主题,允许您在假设模型正确的情况下重建原始输入。可悲的事实是,这可能与您想要的主题对应的内容不符,因为您真正感兴趣的事物(例如作者身份)与您不感兴趣的其他事物共变(注册、主题、流派)在您提供的集合中。除非你明确标记所有可能导致词汇使用变化的因素(如词袋模型中所表达的那样),然后设计一个模型来解释所有这些因素(肯定不是普通的 LDA),否则你根本就不会这样做。无法保证引发的主题与您关心的维度上的分组之间的对应关系。

关于machine-learning - 我们怎么知道狄利克雷分布描述的是主题而不是其他东西?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21954213/

相关文章:

python - 在cross_val_score中,参数cv的使用有何不同?

python - 使用 TensorFlow 训练神经网络时出现 dtype 错误

optimization - 梯度下降和梯度上升有什么区别?

用于生成和使用生成的决策树的 Java 库

machine-learning - 使用 scikit 的 LatentDirichletAllocation 类训练时评估模型

apache-spark - 来自 RDD 的 PySpark LDA 模型密集向量

python - pyLDAvis 对于 lambda = 0 的条宽的含义

python - tensorflow 错误: Incompatible Shapes for Broadcasting

c++ - 如何创建脚本语言

r - 如何将单词添加到语料库中的文档中?