个性化推荐引擎:采用一种高效的算法来估计贝叶斯模型中的参数


问题定义:

LDA是一个三层次的贝叶斯模型,没一个item可以通过一组topic来表示,而每个topic又符合一定的概率分布。本文的LDA算法应用比较广泛,可应用于文本建模,文本分类和电影推荐,并且本文采用了一种高效的算法来估计贝叶斯模型中的参数。 

方法:

(1)LDA算法

首先是几个常见的术语:

v=1,否则wv=0;

12.Documents:是由N个words组成,

13.Corpus:是有M个documents组成,

LDA算法的基本思想是,每个documents可以看做是由不同的topic组合而成,而每个topic则是由不同的words组成,如图1所示。

 

LDA跟LSA、PLSA一样,是一种主题模型(topic model),可以无监督地对文档和词进行分类。相对于LSA和PLSA只能对训练集中的文档分类,LDA的好处在于能够预测非训练集中的文档和词的主题分布。与一般的机器学习分类算法不同,LDA的预测目标——主题分布,是训练集中不能直接观察到的量,是人(或模型)虚构出来的一个东东,因此称之为潜在的(Latent)。也正因为预测目标是模型自身虚构出来的一个隐变量,而不需要训练集提供这个量,所以LDA可以实现无监督的学习。

LDA是一种生成模型(generative model),也就是说,与直接根据观察到的文档来进行预测不同,LDA首先假设了产生文档的一个过程,然后根据观察到文档,来预测背后的产生过程是怎样 的。LDA假设所有的文档存在K个主题(主题其实就是词的分布),要生成一篇文档,首先生成该文档的一个主题分布,然后再生成词的集合;要生成一个词,需 要根据文档的主题分布随机选择一个主题,然后根据主题中词的分布随机选择一个词。

ij=p(wj|zi)=第i个主题中出现词wj的概率,那么生成一个文档的主题分布、再生成N个主题、进而得到这篇文档的N个词的概率可以表示为:

z是N维的主题向量,w是N个词组成的向量。由于θ和z是训练数据中观察不到的潜在变量,求边缘分布将其从左边消掉:

d=1…Mp(wd|α,β),所以

 LDA的训练过程就是求使得p(D|α,β)最大的参数α和β的值。求得α和β,我们就可以对一篇文档的主题分布,以及每个词所属的主题进行预测,即求:

w|α,β)中的积分无法计算其解析表达式,因此需要采用统计估算技术。不管什么样的技术,只要能有效率地求出使得p(D|α,β)近似最大的参数α和β的值,以及使得p(θ,z|w,α,β)近似最大的θ和z的 的值,都可以用来训练LDA模型和进行预测。在LDA的原始论文,采用variational inference算法来估算预测值,利用EM迭代算法来对参数α和β进行估计,Blei和Daichi Mochihashi的实现代码也是采用这样的方法,本文就不对定量的数学推导和估算做深入研究了,下面直接以Daichi Mochihashi的实现为例来讲一下训练和预测算法。

LDA训练算法:

(1)随机初始化α和β;
(2)以下步骤迭代直到收敛:
   (2.1)对训练集中的每篇文档:
       (2.1.1)利用当前的α和β值计算每篇文档的主题分布、每个词所属的主题分布(具体算法见下文);
   (2.2)累积所有文档中,属于主题k(k=1…K)的词的个数,得到向量gammas;以及词i(i=1…V)属于主题k的次数,得到矩阵betas;
   (2.3)根据当前的gammas,利用Newton-Raphson迭代方法求得当前的最优α值;
   (2.4)对矩阵betas的列归一化,直接得到当前的β值,即每个主题的词的分布;
(3)输出达到收敛时的α和β的值。

步骤(2.1.1)的算法与基于训练好的模型来进行预测的算法是相同的。它也是一个EM迭代算法,具体算法如下:

LDA预测算法:

(1)以平均分布初始化K维向量nt,ntk是当前文档中属于类别k的词的个数,nt可视为未归一化的文档的主题分布;
(2)以下步骤迭代直到nt达到稳定:
   (2.1)根据当前的α值(决定主题的先验分布),以及当前的nt值(当前文档的主题分布),以及当前的β值(主题的词的分布),计算文档中的各个词的主题分布,得到矩阵q, qij=文档中的第i个词属于主题k的概率(具体计算方法参考LDA论文以及variational inference方法);
   (2.2)利用矩阵q的值更新向量nt的值。
(3)将nt归一化作为文档的主题分布,矩阵q则为文档中每个词的主题分布。

=======================================================================

题目:Latent Dirichlet Allocation

作者:David M. Blei,Andrew Y. Ng and Michael I. Jordan