Peacock采样算法性能比较

近期, 我们将对peacock进行升级, 我们将采用更快的sampler来加速LDA的训练.

我们首先在单机版上进行了正确性验证和性能测试. 下面是实验结果.

  1. 结论

单机版共实现了4个Sampler: LightLDA, AliasLDA, SparseLDA, Gibbs Sampling LDA(下面简称LDA).

我们在调试完收敛性后, 在3个不同语料上做了收敛性实验, 并在其中的大型语料上做了性能测试.

结果表明, LightLDA在收敛性和模型质量相当的情况下, 具有巨大的性能优势.

 

  1. 术语

K: topic数

N: doc数

V: vocab大小

llh: log likelihood.

 

  1. 语料

单机版实验使用了下面3种语料.

 

小型语料

60篇yahoo首演新闻, 分别取自这3个类目: auto, beauty, sports.

K=3

N=60

V=3626

 

中型语料

wget https://archive.ics.uci.edu/ml/machine-learning-databases/bag-of-words/docword.nips.txt.gz

wget https://archive.ics.uci.edu/ml/machine-learning-databases/bag-of-words/vocab.nips.txt

K=100

N=1500

V=12419

 

大型语料

wget https://archive.ics.uci.edu/ml/machine-learning-databases/bag-of-words/docword.nytimes.txt.gz

wget https://archive.ics.uci.edu/ml/machine-learning-databases/bag-of-words/vocab.nytimes.txt

K=1000

N=299752

V= 102660

 

  1. 收敛性

我们发现, 当llh更高, 模型质量更好, 所以我们用llh来衡量模型的收敛性和模型质量, 避免了人为主观评价模型质量.

使用不同的采样器, 我们都预期它们将收敛到和Gibbs Sampling LDA一样的水平, 事实上, 实验结果也达到了这一预期.

 

4.1.    不同Sampler

不同方法收敛水平一致, 符合预期.

4.2.    AliasLDA不同MH Step

MH step越大, 收敛速度越快, 但不同的MH step最终都将收敛.

MH step为2和4时无显著变化.

4.3.    LightLDA不同MH Step

结论与AliasLDA类似.

4.4.    LightLDA不同proposal

结果表明, 只使用doc proposal时, 几乎可以(还差一点)达到同时使用doc和word proposal的水平.

只使用word proposal将无法达到同时使用doc和word proposal的水平.

这个与LightLDA论文结论一致.

 

  1. 性能测试

在小型和中性语料上, 各个方法的性能没有明显区别.

随着K增加, LightLDA的性能优势显现出来. 本节的所有结果均在第3个语料上获得.

 

截至写邮件时, Gibbs Sampler LDA还没有训练完成,这说明了这种方法完全不具有性能优势. 下面的结果不包含这种方法.

 

下表给出了不同Sampler每轮迭代所花时间.

SpaeseLDA和AliasLDA均随着迭代数增加, 耗时减少, 符合预期, 因为它们均充分利用了Sparse这一特点.

LightLDA的每轮耗时不变, 符合预期, 因为它是O(1)采样.

下图给出了三种方法的总耗时. LightLDA毫无悬念的最快. 是SparseLDA的14倍, AliasLDA的7倍左右.

注意: 这里的耗时均值采样的耗时, 不包含计算llh和优化超参数的时间(这一部分耗时每个方法都一样, 本节的目的是比较采样耗时).

本文链接:Peacock采样算法性能比较
本站文章若无特别说明,皆为原创,转载请注明来源:火光摇曳,谢谢!^^


火光摇曳

Peacock采样算法性能比较》有3个想法

    1. 没有时间实现这个方法了, 因为他特殊的数据结构, 没法在现有代码框架上做实验

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*