对于稀疏数据,训练 LDA(Latent Dirichlet allocation)和预测新文档的更快方法是什么?

With sparse data,what is the faster way to train LDA( Latent Dirichlet allocation ) and predict for a new document?

  1. 关于训练 LDA :

    当我们尝试实现LDA时,我们需要构建一个词-文档矩阵,但是这个矩阵是稀疏数据,因为我们的token字典非常大(几百万个词),而一个文档只有一小部分token (~ 1000 - 10000 words),所以在words-documents矩阵中,它有很多0值,训练模型需要更长的时间。那么我们怎样才能做得更快呢?

  2. 关于预测一个新文档 :

    经过训练,现在我们有了一个新的 LDA 模型,所以我们可以用它来预测新文档的主题。但是在向我们的模型提供新文档之前,我们需要将其转换为单词向量,其向量长度将是我们的字典长度(几百万个单词)。所以,它会有很多零值,事实上,我们的成本时间增加了矢量长度。

那么documents-words matrix是实现LDA的有效方式吗?我们可以有其他更好的方法吗?我的项目需要一些推荐,所以请帮助

对于稀疏数据,您当然应该使用稀疏向量而不是密集向量。

您只保留非零值,而不是存储所有零。

典型的数据模型(参见替代方案的文献)是简单地使用元组列表 (i,v),其中 i 是列索引,v 是非零值。