论文部分内容阅读
随着互联网的快速发展,对非结构化数据处理的时效性要求逐渐变高,并行化的主题建模是一种能够有效的快速处理非结构化数据的方法。潜在狄利克雷分配(Latent Dirichlet Allocation,LDA)是一种常用的概率主题模型,它能够通过获取文档在主题空间的低维表示来实现文档的分析。但是并行LDA模型在处理大规模数据时面临两大问题:一是对于已有的LDA近似推理算法,都存在着相应的缺点使其难以被应用于大规模数据的处理与分析。信息传播算法虽然在收敛速度以及计算复杂度上都具有一定的优势,但其空间复杂度过大,使其无法在大数据处理上得到很好的应用;二是现有基于共享内存并未很好的解决线程之间的阻塞问题,线程阻塞大大降低了并行LDA算法效率。如何改进已有LDA算法中近似推理方法以避免其在大规模数据处理中的缺陷,以及如何有效减少共享内存并行算法中线程阻塞时间,从而实现一种更实用和高效的基于共享内存的并行LDA算法是一件非常有挑战性的工作。基于传统信息传播算法的空间复杂度较大的问题,本文通过从最大化期望(Expectation Maximization,EM)的角度对信息传播算法进行重新解释,提出了一种新的参数更新方法(Expectation-maximization Belief Propagation,EBP)。这种更新方式不再需要剔除信息矩阵本身信息,能够避开统计过程中的信息存储问题,从而极大地减少信息传播算法中的空间复杂度。基于传统共享内存的并行LDA算法无法有效利用线程的计算资源,经常会导致线程阻塞问题。本文提出了一种基于共享内存的动态调度并行方法,能够将算法并行的过程看成是一个为线程分配工作的过程,通过动态的为线程分配任务,实现了线程间无等待的动态调度,改善了传统共享内存并行算法中的线程等待问题。通过将改进的信息传播算法与改进的并行算法结合实现了一种基于共享内存的快速并行主题建模算法(Parallel Expectation-maximization Belief Propagation,PEBP)。实验结果表明,EBP算法在混淆度与收敛速度方面的性能接近基于传统近似推理算法的LDA模型。此外,相对于一般的基于共享内存的并行方法,PEBP具有更好的加速比以及纵向扩展比,在混淆度以及收敛速度方面同样具有明显的优势。