机器学习主题模型之LDA参数求解——变分推断+EM近似

由上一篇可知LDA主要有两个任务:对现有文集确定LDA模型参数α、η的值;或对一篇新文档,根据模型确定隐变量的分布p(β,z,θ|w,α,η)。由于无法直接求出这个后验分布,因此可以考虑使用Laplace近似、变分近似、MCMC、Gibbs采样法等算法求解。

机器学习主题模型之LDA参数求解——变分推断+EM近似

 

1、变分推断(variational inference)

我们希望找到合适的α、η使对似然函数最大化,并求出隐变量的条件概率分布:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

        机器学习主题模型之LDA参数求解——变分推断+EM近似

        机器学习主题模型之LDA参数求解——变分推断+EM近似

w表示一篇文档中所有N个单词,每个单词都有唯一对应的主题,机器学习主题模型之LDA参数求解——变分推断+EM近似为K维向量,当且仅当文档中第n个词的主题为k时,机器学习主题模型之LDA参数求解——变分推断+EM近似;否则机器学习主题模型之LDA参数求解——变分推断+EM近似

        机器学习主题模型之LDA参数求解——变分推断+EM近似

V表示词典大小,当且仅当文档中第n个词是词典中第i个词时,机器学习主题模型之LDA参数求解——变分推断+EM近似;否则机器学习主题模型之LDA参数求解——变分推断+EM近似

但由于隐变量θ、β之间存在耦合关系,使用EM算法时E步无法直接求解它们基于条件概率分布的期望,因此使用变分法引入mean field assumption,假设所有的隐变量都是通过各自独立的分布生成的,即去掉隐变量之间的连线和w结点,并赋予β、z、θ各自独立分布,λ、Φ、γ为变分参数。

机器学习主题模型之LDA参数求解——变分推断+EM近似

可得隐变量β、z、θ的联合分布q为:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

为了让变分分布q(β,z,θ|λ,Φ,γ)能够近似地表示真实后验p(β,z,θ|w,ɑ,η),则让二者的KL散度D(q||p)尽可能小:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

        机器学习主题模型之LDA参数求解——变分推断+EM近似

文档数据的对数似然可以写为(省略q中的变分参数λ,Φ,γ为了书写简便):

        机器学习主题模型之LDA参数求解——变分推断+EM近似

由Jensen不等式可以得到对数似然的下界,上式左右两部分的差是变化的后验概率与真实后验概率之间的KL散度,令L(λ,Φ,γ;ɑ,η)表示对数似然的下界,称L为Evidence Lower BOund(ELBO),有:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

为了让D(q||p)尽可能小,又对数似然函数不影响KL散度,则应该让L尽可能大。将L根据贝叶斯展开可得:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

第一项展开为:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

 

2、指数分布族的性质

对第三项的求解,需要引入指数分布族的性质。指数分布族是指分布函数满足如下形式的概率分布:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

T(x)是分布的充分统计量(sufficient statistic)。对于给定的统计推断问题,包含了原样本中关于该问题的全部有用信息的统计量;对于未知参数的估计问题,保留了原始样本中关于未知参数的全部信息的统计量,就是充分统计量(不损失信息)。

η是自然参数(natural parameter);

A(θ)是对数配分函数(partition function),即归一化因子的对数形式,使得概率分布的积分为1。

 

指数分布族包含了很多常见分布,如正态分布、伯努利分布、泊松分布、beta分布、Γ分布、Dirichlet分布等,它们的均值和方差都有简洁的表达式。指数分布族的性质有:

(1)指数分布族是唯一的充分统计量是有限大小的分布族;

(2)指数分布族是唯一存在共轭先验的分布族;

(3)指数分布族是选定限制下作的假设最少的分布族;

(4)指数分布族是广义线性模型的核心内容;

(5)指数分布族是变分推断的核心内容。

        机器学习主题模型之LDA参数求解——变分推断+EM近似

 

3、极大化ELBO求解变分参数

由指数分布族的性质可知机器学习主题模型之LDA参数求解——变分推断+EM近似 第三项可写为:

       机器学习主题模型之LDA参数求解——变分推断+EM近似

其中机器学习主题模型之LDA参数求解——变分推断+EM近似

因此L的所有7个子项展开分别为:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

以上7个式子相加得到L后,使用EM算法求解变分参数和模型参数:

    E步关于λ,Φ,γ极大化L得到真实后验分布的近似分布q;

    M步固定变分参数ɑ,η极大化L,反复迭代直到收敛。

 

4、EM算法E步求解变分参数

通过对L的各个变分参数λ,Φ,γ分别求导并令偏导等于0,可以得到迭代表达式,多次迭代收敛后即为最佳变分参数。

(1)只考虑L含有Φ的部分,根据限制条件机器学习主题模型之LDA参数求解——变分推断+EM近似构造Lagrange函数并令L对Φ的偏导=0可得:

       机器学习主题模型之LDA参数求解——变分推断+EM近似

        注意其中的机器学习主题模型之LDA参数求解——变分推断+EM近似当且仅当文档中第n个词为词典中的第i个词,因此上式中的第一项的求和只计算了一项。

 

(2)只考虑L含有γ的部分,并令L对γ的偏导=0可得:

       机器学习主题模型之LDA参数求解——变分推断+EM近似

(3)只考虑L含有λ的部分,并令L对γ的偏导=0可得:

       机器学习主题模型之LDA参数求解——变分推断+EM近似

        参数λ决定了β分布,对于整个训练文集是共有的,因此参数λ实际应按照如下方式更新:

        机器学习主题模型之LDA参数求解——变分推断+EM近似

 

E步的过程就是循环计算机器学习主题模型之LDA参数求解——变分推断+EM近似机器学习主题模型之LDA参数求解——变分推断+EM近似机器学习主题模型之LDA参数求解——变分推断+EM近似直到收敛。

 

5、EM算法M步更新模型参数

M步固定变分参数,极大化ELBO得到最优模型参数。求解最优的模型参数ɑ、η方法有很多,如梯度下降法、牛顿法等,LDA一般使用牛顿法,即通过求L关于ɑ、η的一阶导数和二阶导数的表达式,迭代求解ɑ、η在M步的最优解。

(1)基于整个文集M篇文档只考虑L含有ɑ的部分,并求L对ɑ求二阶导为:

       机器学习主题模型之LDA参数求解——变分推断+EM近似

        其中当且仅当k=j时,δ(k,j)=1,否则δ(k,j)=0。

 

(2)类似ɑ的处理过程,只考虑L含有η的部分,并求L对η求二阶导为:

       机器学习主题模型之LDA参数求解——变分推断+EM近似

        其中当且仅当k=j时,δ(k,j)=1,否则δ(k,j)=0。

 

6、LDA变分推断EM算法流程总结

输入:主题总数K、文集D,D中含有M个文档与相应的词典V。

initialize 机器学习主题模型之LDA参数求解——变分推断+EM近似 and 机器学习主题模型之LDA参数求解——变分推断+EM近似 for all k and i

while not converged do:

        // E-step

        initialize 机器学习主题模型之LDA参数求解——变分推断+EM近似   for all m,n,k

        initialize 机器学习主题模型之LDA参数求解——变分推断+EM近似  for all m,k

        initialize 机器学习主题模型之LDA参数求解——变分推断+EM近似  for all k,i

        repeat

                for m=1 to M:

                        for n=1 to 机器学习主题模型之LDA参数求解——变分推断+EM近似:

                                for k=1 to K:

                                        机器学习主题模型之LDA参数求解——变分推断+EM近似

                                normalize 机器学习主题模型之LDA参数求解——变分推断+EM近似  to sum to 1

                        机器学习主题模型之LDA参数求解——变分推断+EM近似

                for k=1 to K:

                        for i=1 to V:

                                机器学习主题模型之LDA参数求解——变分推断+EM近似

        until convergence

        // M-step

        update α and η using Newton-Raphson method with the newly estimated variational parameters fixed.

        机器学习主题模型之LDA参数求解——变分推断+EM近似

        机器学习主题模型之LDA参数求解——变分推断+EM近似

参考资料

Blei 03 LDA implementation

https://blog.****.net/u011414416/article/details/51168242

http://www.cnblogs.com/pinard/p/6873703.html