我正在使用潜在的狄利克雷分配与来自六个不同来源的新闻数据语料库。我对主题的演变、涌现很感兴趣,并且想要比较这些来源随着时间的推移是如何相似和不同的。我知道有许多经过修改的LDA算法,例如作者-主题模型、随时间变化的主题等。
我的问题是,这些替代模型规范中很少有以任何标准格式实现的。有一些在Java中可用,但大多数只以会议论文的形式存在。我自己实现这些算法的最佳方式是什么?我精通R和jags,如果使用足够长的时间,我可以在Python中跌跌撞撞。我愿意写代码,但我真的不知道从哪里开始,我也不懂C或Java。我可以仅仅使用手稿中的公式用JAGS或Python构建模型吗?如果是这样的话,有人能给我举一个这样做的例子吗?谢谢。
发布于 2012-04-16 23:48:40
我朋友的回复如下,请原谅我的言辞。
首先,我在这里(http://www.pnas.org/content/101/suppl.1/5228.full.pdf+html)编写了一个折叠吉布斯采样器的
实现,并在这里对其进行了充实(http://cxwangyi.files.wordpress.com/2012/01/llt.pdf)。这很慢,就像球一样。
然后,我使用了本文的一个C实现(http://books.nips.cc/papers/files/nips19/NIPS2006_0511.pdf)的Python包装。它比f*ck快,但结果并不像使用NMF时那么好。
但是我所见过的NMF实现,使用scitkit,甚至使用最近发布的与scipy稀疏兼容的NIMFA库,它们都会在任何规模的语料库上引起轰动。我的新白鲸是这个东西的一个切片,分布式实现。这将不是微不足道的。
发布于 2012-04-17 00:20:54
在Python中,你知道PyMC吗?它可以灵活地指定模型和拟合算法。
此外,当从R和JAGS开始时,还有this tutorial on "Using JAGS in R with the rjags Package"和a collection of examples。
https://stackoverflow.com/questions/10112500
复制相似问题