潜在狄利克雷分配(LDA)

潜在狄利克雷分配(LDA)

潜在狄利克雷分配(LDA),作为基于贝叶斯学习的话题模型,是潜在语义分析、概率潜在语义分析的扩展,于2002年由Blei等提出。LDA在文本数据挖掘、图像处理、生物信息处理等领域被广泛使用。

LDA模型是文本集合的生成概率模型。假设每个文本由话题的一个多项式分布表示,每个话题由单词的一个多项式分布表示,特别假设文本的话题分布的先验分布是狄利克雷分布,话题的单词分布的先验分布也是狄利克雷分布。先验分布的导入使LDA能够更好地应对话题模型学习的过拟合现象。

LDA的文本集合的生成过程如下:首先随机生成一个文本话题分布,之后再该文本的每个位置,依据该文本的话题分布随机生成一个话题,然后在该位置依据该话题的单词分布随机生成一个单词,直至文本的最后一个位置,生成整个文本。重复以上的过程生成所有文本。

LDA模型是含隐变量的概率图模型。模型中,每个话题的单词分布,每个文本的话题分布,文本的每个位置的话题是隐变量;文本的每个文职的单词是观测变量。LDA模型的学习与推理无法直接求解,通常使用吉布斯抽样和变分EM算法。前者是蒙特卡洛法,后者是近似计算。

一、狄利克雷分布

1.分布定义

多项分布是一种多元离散随机变量的概率分布,是二项分布的扩展。

假设重复进行n次独立随机试验,每次试验可能出现的结果有k种,第i中结果出现的概率为p_i,第i种结果出现的次数为n_i。如果用随机变量\mathbf {X=\{X_1,X_2,\dots,X_k\}},表示试验所有可能结果的次数,其中\mathbf X_i表示第i种结果出现的次数,那么随机变量\mathbf X服从多项分布。

若元离散随机变量的概率密度为
\begin{aligned} P(X_1=n_1,X_2=n_2,\dots,X_k=n_k)=\frac{n!}{n_1!n_2!\dots n_k!}p_1^{n_1}p_2^{n_2}\dots p_k^{n_k} \\ =\frac{n!}{\prod_{i=1}^k n_i! } \prod_{k=1}^k p_i^{n_i} \end{aligned}
其中p=(p_1,p_2,\dots,p_k),p_i \ge 0,i=1,2,\dots,k,\sum_{i=1}^k p_i = 1, \sum_{i=1}^k n_i = n,,则称随机变量X服从参数为(n,p)的多项分布,记作X \sim Mult(n,p)

当试验的次数n为1时,多项分布变成类别分布。类别分布表示试验可能出现的k种结果的概率。显然多先分布包含类别分布。

2.狄利克雷分布

狄利克雷分布是一种多元随机变量的概率分布,是贝塔分布的扩展。在贝爷斯学习中,狄利克雷分布作为多项分布的先验概率使用。

多元连续型随机变量\theta = (\theta_1,\theta_2,\dots,\theta_k)的概率密度函数为
p(\theta|\alpha)=\frac{\Gamma(\sum_{i=1}^k \alpha_i)}{\prod_{i=1}^k \Gamma(\alpha_i)}\prod_{i=1}^k \theta_i^{\alpha_i-1}
其中\sum_{i=1}^k \Theta_i = 1,\Theta_i \ge 0,\alpha=(\alpha_1,\alpha_2,\dots,\alpha_k) ,\alpha_i > 0,i=1,2,\dots,k,称随机变量\Theta服从参数为\alpha的狄利克雷分布,记作\Theta \sim Dir(\alpha)
式中
\Gamma(s) = \int_{0}^{\infty} x^{s-1}e^{-x} ds,s > 0

具有以下性质
\Gamma(s+1) = s\Gamma(s)
当s是自然数时,有
\Gamma(s+1) = s!

B(a) = \frac{\prod_{i=1}^k \Gamma(a_i)}{\Gamma (\sum_{i=1}^k a_i)}
则狄利克雷分布的密度函数可以写成
p(\Theta|a) = \frac{1}{B(a)}\prod_{k=1}^k \Theta^{a_i-1}

B(a)是规范化因子,称为多元贝塔函数(称为扩展的贝塔函数)。由密度函数性质
\int \frac{\Gamma(\sum_{i=1}^k a_i)}{\prod_{i=1}^k \Gamma(a_i)}\prod_{i=1}^k\Theta^{a_i-1} d\Theta =\frac{\Gamma(\sum_{i=1}^k a_i)}{\prod_{i=1}^k \Gamma(a_i)} \int \prod_{i=1}^k\Theta^{a_i-1} =1
B(a) = \int \prod_{i=1}^k \Theta^{a_i-1} d\Theta

二.共轭先验

狄利克雷有一些重要性质:(1)狄利克雷分布属于指数分布簇(2)狄利克雷分布是多项分布的共轭先验
贝叶斯学习中常使用共轭分布,如果后验分布与先验分布属于同类,则先验分布与后验分布称为共轭分布,先验分布称为共轭先验。如果多项分布的先验分布是狄利克雷分布,作为先验分布的狄利克雷分布的参数又称为超参数,使用共轭先验分布的好处是便于从先验分布计算后验分布。

将样本数据表示为D,目标是计算样本数据D给定条件下参数\Theta的后验概率p(\Theta|D),对于给定样本数据D,似然函数是
p(D|\theta)=\theta_1^{n_1}\theta_2^{n_2}\dots\theta_k^{n_k}=\prod_{i=1}^k\theta_i^{n_i}
假设随机变量\theta服从狄利克雷分布p(\theta|a)其中a=(a_1,a_2,\dots,a_k)为参数,则\theta的先验分布为
p(\theta|a)=\frac{\Gamma(\sum_{i=1}^k a_i)}{\prod_{i=1}^k \Gamma(a_i)}\prod_{i=1}^k \theta^{a_i-1}=\frac{1}{B(a)}\prod_{i=1}^k \theta_i^{a_i-1} = Dir(\theta|a),a>0

根据贝爷斯规则,在给定样本数据D和参数a的条件下,\theta的后验概率分布是
\begin{aligned} p(\theta|D,a) = \frac{p(D|\theta)p(\theta|a)}{p(D|\alpha)} \\ =\frac{\prod_{i=1}^k \theta_i^{n_i}\frac{1}{B(a)}\theta_i^{a_i-1}}{\int \prod_{i=1}^k \theta_i^{n_i}\frac{1}{B(a)}\theta_i^{a_i-1}d\theta} \\ =\frac{1}{B(a+n)}\prod_{i=1}^k \theta_i^{a_i+n_i+1} \\ =Dir(\theta|a+n) \end{aligned}
狄利克雷的后验分布等于狄利克雷分布参数a=(a_1,a_2,\dots,a_k)加上多项分布的观测技术n=(n_1,n_2,\dots,n_k)

三、潜在狄利克雷分配模型

1.基本想法

潜在狄利克雷分配(LDA)是文本集合的生成概率模型。模型假设话题由单词的多项分布表示,文本由话题的多项分布表示,单词分布和话题分布的先验分布都是狄利克雷分布。文本内容的不同时由于话题分布不同。

LDA模型表示文本集合的自动生成过程:首先,基于单词分布的先验分布(狄利克雷分布)生成多个单词分布,即决定多个话题内容;之后基于话题分布的先验分布(狄利克雷分布)生成多个话题分布,针对每个话题,基于话题的单词分布生成单词,整体构成一个单词序列,即生成文本,重复这个过程生成所有文本。文本的单词序列是观测变量,文本的话题序列是隐变量,文本的话题分布和话题的单词分布也是隐变量。

可以认为LDA是PLSA的扩展,相同点都假设话题是单词的多项分布,文本是华话题的多项分布。不同点LDA使用狄利克雷分布作为先验,而PLSA不使用先验分布(或者说假设先验分布为均匀分布),两者对文本生成过程有不同假设;学习过程LDA基于贝叶斯学习,PLSA基于极大似然估计。LDA的优点是,使用先验概率分布,可以防止学习过程中产生过拟合。

2.模型定义

(a)模型要素

使用三个集合:一是单词集合W=\{w_1,\dots,w_v,\dots,w_V\},其中w_v是第v个单词,v=1,2,\dots,V,V是单词个数。二是文本集合D=\{\mathbf {w_1,\dots,w_m,\dots,w_M}\},其中\mathbf w_m= \{w_{m1},\dots,w_{mn},\dots,w_mN_m\},其中w_{mn}是文本w_m的第n个单词,n=1,2,\dots,N_mN_m是文本w_m中单词个数。三是话题集合Z=\{z_1,\dots,z_k,\dots,z_K\},其中,z_k是第k个话题,k=1,2,\dots,K,K是话题的个数。

每一个话题z_k是由一个单词的条件概率分布p(w|z_k)决定的,w\in W。分布p(w|z_k)服从多项分布(严格意义上类别分布),其参数为\varphi_k。参数\varphi是V维向量\varphi_k服从狄利克雷分布(先验分布),其超参数为\beta。参数\varphi_k=(\varphi_{k1},\varphi_{k2}\dots,\varphi_{kV}),其中\varphi_{kv}表示z_k生成单词w_v的概率。所有话题的参数向量构成K*V矩阵,\mathbf \varphi = \{\varphi\}_{k=1}^K,超参数\beta也是V维向量\beta = (\beta_1,\beta_2,\dots,\beta_V)

每一个文本w_m由一个话题的条件概率分布p(z| w_m)决定,z \in Z,分布p(z|f w_m)服从多项分布(严格意义上的类别分布),其参数为\theta_m,参数\theta_m服从狄利克雷分布(先验分布),其超参数为a。参数\theta_m是K维向量\theta_m = (\theta_{m1},\theta_{m2},\dots,\theta_{mK}),其中\theta_m=(\theta_{m1},\theta_{m2},\dots,\theta_{mK}),其中\theta_{mk}表示文本w_m生成话题z_k的概率。所有文本构成参数构成一个M*K矩阵\theta = \{\theta_m\}_{m=1}^M,超参数a也是一个K维向量a=(a_1,a_2,\dots,a_K)

每一个文本w_m中的每一个单词w_{mn}由该文本的话题分布p(z| w_m)以及所有话题的单词分布p(w|z_k)决定

(b)概率图模型

LDA本质上是一个概率图模型,图为LDA作为概率图模型的板块表示,图中结点表示随机变量,实心结点是观测变量,空心结点是隐变量;有向边表示概率依存关系;矩形(板块)内数字表示重复的次数。


images.png

结点a,\beta表示模型的超参数,结点\varphi_k表示话题的单词分布的参数,结点\theta_m表示文本的话题分布的参数,结点z_{mn}表示话题,结点w_{mn}表示单词。结点\beta指向结点\varphi_k,重复K次,表示根据超参数\beta生成K个话题的单词分布参数\varphi_k;结点a指向结点\theta_m,重复M次,表示根据超参数a生成M个文本的话题分布参数\theta_m;结点\theta_m指向z_{mn},重复N词,表示根据文本的话题分布\theta_m生成N_m个话题z_{mn};结点z_{mn}指向结点w_{mn},同时K个结点\varphi_k也指向结点w_{mn},表示根据话题z_{wn}以及K个话题的单词\varphi_k生成单词w_{mn}。LDA是相同的随机参数被重复多次使用的概率图模型。

四、算法

潜在狄利克雷分配(LDA)的学习(参数估计)是一个复杂的最优化问题,很难精确求解。常用近似求解的方法有吉布斯抽样和变分推理

1.LDA的吉布斯抽样算法

吉布斯抽样的优点是实现简单,缺点是迭代次数可能较多。

(a)基本想法

LDA模型的学习,给定文本(单词序列)的集合D=\{{w_1,\dots,w_m,\dots,w_M}\},其中w_m是第m个文本集合的单词序列,即w = (w_{m1},w_{m2},\dots,w_{mn},\dots,w_{mN}),超参数a,\beta已知。目标是要推断

  1. 话题序列集合的后验概率
  2. 参数\theta
  3. 参数\varphi
    要对联合概率分布p(w,z,\theta,\varphi|a,\beta)进行估计,其中w是观测变量,而z,\theta,\varphi是隐变量。

吉布斯抽样,是一种常用的马尔科夫链蒙特卡罗法。为了估计多元随机变量x的联合概率分布p(x),吉布斯抽样法选择x的一个分量,固定其他分量,按照其条件概率分布进行随机抽样,一次循环对每一个分量执行这个操作,得到联合分布p(x)的一个随机样本,重复这个过程,在燃烧期后,得到联合概率分布p(x)的样本集合。

LDA模型采通常采取收缩的吉布斯抽样方法,基本想法是,通过对隐变量\theta,\varphi积分,得到边缘概率分布p(w,z|a,\beta)(也是联合分布),其中w是可观测变量,z是不可观测的。对后验概率分布p(z|w,a,\beta)进行吉布斯抽样,得到分布p(z|w,a,\beta)的样本集合;再利用这个样本集合对参数\theta\varphi进行估计,最终得到模型p(w,z,\theta,\varphi|a,\beta)所有的参数估计。

(b)算法的主要部分

(1)抽样分布表达式

p(z|w,a,\beta)=\frac{p(w,z|a,\beta)}{p(w|a,\beta} \propto p(w,z|a,\beta)
这里变量w,a,\beta是已知的,分母相同,可以不预考虑。联合概率分布p(z,w|a,\beta)的表达式可以进一步分解为
p(w,z|a,\beta) = p(w|z,a,\beta)p(z|a,\beta)=p(w|z,\beta)p(z|a)
两个因子可以分别处理

推导第一个因子p(w|z,\beta)的表达式
p(w|z,\varphi)=\prod_{k=1}^K\prod_{v=1}^V\varphi_{kv}^{n_{kv}}
其中\varphi_{kv}是k个话题生成单词集合第v个单词的概率,n_{kv}是数据中第k个话题生成第v个单词的次数。

p(w|z,\beta)=\int p(w|z,\varphi)p(\varphi|\beta)d \varphi \\ =\int \prod_{k=1}^K\frac{1}{B(\beta)}\prod_{v=1}^V \varphi_{kv}^{n_{kv}+\beta_v-1}d\varphi \\ =\prod_{k=1}^K\frac{1}{B(\beta)}\int\prod_{v=1}^V \varphi_{kv}^{n_{kv}+\beta_v-1}d\varphi \\ =\prod_{k=1}^K \frac{B(n_k+\beta)}{B(\beta)}
其中n_k = \{n_{k1},n_{k2},\dots,n_{kV}\}

第二个因子p(z|a)的表达式也可以类似推导。首先
p(z|\beta) = \prod_{m=1}^M\prod_{k=1}^K \theta_{mk}^{n_{mk}}
其中\theta_{mk}是第m个文本生成第k个话题的概率,n_{mk}是数据根据第m个文本生成的第k个话题,于是
\begin{aligned} p(z|a)=\int p(z|\theta)p(\theta|a)d\theta \\ =\int \prod_{m=1}^M \frac{1}{B(a)}\prod_{k=1}^K \theta_{mk}^{n_{mk}+a_k-1}d\theta \\ = \prod_{m=1}^M \frac{1}{B(a)}\int \prod_{k=1}^K \theta_{mk}^{n_{mk}+a_k-1}d\theta \\ =\prod_{m=1}^M \frac{B(n_m+a)}{B(a)} \end{aligned}
式中n_m =\{n_{m1},n_{m2},\dots,n_{mK}\},可得
p(z,w|a,\beta)=\prod_{k=1}^K\frac{B(n_k+\beta)}{B(\beta)}*\prod_{m=1}^M\frac{B(n_m+a)}{B(a)}

(2)算法的后处理

通过吉布斯抽样得到的分布p(z|w,a,\beta)的样本,可以得到变量z的分配值,也可以估计变量\theta,\varphi

  1. 参数\theta=\{\theta_m\}
    根据LDA表达式,后验概率满足
    p(\theta_m|z_m,a) = \frac{1}{Z_{\theta_m}}\prod_{n=1}^N p(z_{mn}|\theta_m)P(\theta_m|a)=Dir(\theta_m|n_m+a)
    这里n_{m}=\{n_{m1},n_{m2},\dots,n_{mK}\}是第m个文本话题的计数。Z_{\theta_m}表示分布p(\theta_m,z_m|a)对变量\theta_m的边缘化因子。于是得到参数\theta_m=\{\theta_m\}的估计式
    \theta_{mk} = \frac{n_{mk}+a_k}{\sum_{k=1}^K (n_{mk}+a_k)},m=1,2,\dots,M;k=1,2,\dots,K
  2. 参数\varphi =\{\varphi_k\}
    后验概率满足p(\varphi_k|w,z,\beta) = \frac{1}{Z_{\varphi_k}}\prod_{i=1}^Ip(w_i|\varphi_k)p(\varphi_k|\beta)=Dir(\varphi_k|n_k+\beta)
    这里n_k=\{n_{k1},n_{k2},\dots,n_{kV}\}是第k个话题单词的计数,Z_{\varphi_k}表示分布p(\varphi_k,w|z,\beta)对变量\varphi_k的边缘化因子,I是文本集合单词序列w的单词总数,于是得到参数
    \varphi_{kv}=\frac{\varphi_{kv}+\beta_v}{\sum_{v=1}^V(n_{kv}+\beta_v},k=1,2,\dots,K;v=1,2,\dots,V

2.LDA的变分EM算法

(a)变分推理

变分推理是贝叶斯学中常用的,含隐变量模型的学习和推理方法。变分推理和马尔科夫蒙特卡洛(MCMC)属于不同的技巧。MCMC通过随机抽样的方法近似统计模型的后验概率,变分推理则通过解析的方法计算模型的后验概率。

变分推理的基本想法如下,假设模型是联合桂林分布p(x,z),其中x是观测变量,z是隐变量,包括参数。目标是学习模型的后验概率分布p(z|x),用模型进行概率推理。但这是一个复杂的分布,直接估计分布的参数很困难,所以考虑使用概率分布q(z)近似条件桂林分布p(z|x),用KL散度D(q(z))||p(z|x))计算两者的相似度,q(z)称为变分分布。如果能找到与p(z|x)在KL散度意义下的近似分布q^*(z),则可以用这个分布近似p(z|x)

KL散度可以写成以下形式
\begin{aligned} D(q(z)||p(z|x)) = E_q[log \space q(z)]-E_q[log\space p(z|x)]\\ =E_q[log(q(z)]-E_q[log\space p(x,z)]+log \space p(x) \end{aligned}

(b)变分EM算法

将变分EM算法应用到LDA模型的学习上,首先定义具体的变分分布,推导证据下界的表达式,接着推导变分分布的参数和LDA模型的参数的估计形式,最后给出LDA模型的变分EM算法

(1).变分下界的定义

文本的单词序列w = \{w_1,w_2,\dots,w_N\},对应的话题序列z = \{z_1,z_2,\dots,z_N\},以及话题分布\theta,和随机变量{w,z}和\theta的联合概率分布是
p(\theta,z,w|a,\varphi)=p(\theta|a)\prod_{n=1}^Np(z_n|\theta)p(w_n|z_n,\varphi)
定义基于平均场的变分分布
q(\theta,z|\gamma,\eta)=q(\theta|\gamma)\prod_{n=1}^Nq(z_n|\eta_n)
其中w是可观测变量,\theta,z是隐变量,a,\varphi是参数
定义基于平均场的变分分布
q(\theta,z|\gamma,\eta)=q(\theta|\gamma)\prod_{n=1}^N q(z_n|\eta_n)
其中\gamma是狄利克雷分布参数,\eta=(\eta_1,\eta_2,\dots,\eta_n)是多项分布参数,变量\theta和z的各个分量都是条件独立的,目标是求KL散度意义下最相近的变分分布p(\theta,z|\gamma,\eta)以及近似LDA模型的后验概率分布p(\theta,z|w,a,\varphi)

inference_graphic_model.png

变分分布的板块表示,LDA模型中隐变量\theta和z之间不存在依存关系,变分分布中这些依存关系被去掉,变量\theta和z条件独立

由此可得到一个文本的证据下界
L(\gamma,\eta,a,\varphi)=E_q[log \space p(\theta,z,w|a,\varphi)]-E_q(log \space q(\theta,z|\gamma,\eta)]
所有文本的证据下界为
L_w(\gamma,\eta,a,\varphi)=\sum_{m=1}^M\{E_q[log \space p(\theta_m,z_m,w_m|a,\varphi)]-E_{q_m}[log\space p(\theta_m,z_m|\gamma_m,\eta_m)]\}
为了求证据下界L(\gamma,\eta,a,\varphi)的最大化,首先写出证据下界的表达式。为此展开证据下界表达式
L(\gamma,\eta,a,\varphi)=E_q[log \space p(\theta|a)]+E_q[log \space (z|\theta)+E_q [log \space p(w|z,\varphi)]-E_q[log \space q(\theta|\gamma)-E_q[log \space q(z|\eta)]

根据变分参数\gamma和\eta,模型参数a,\varphi继续展开,并将展开式的每一项写成一行

\begin{aligned} L (\gamma,\eta,a,\varphi) = log \Gamma \bigg(\sum_{k=1}^K a_l\bigg)-\sum_{k=1}^K log \Gamma(a_k) +\sum_{k=1}^K(a_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l)\bigg)\bigg]+ \\ \sum_{i=1}^N\sum_{k=1}^K\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]+ \\ \sum_{n=1}^N\sum_{k=1}^K\sum_{v=1}^V \eta_{nk}w_n^vlog \space \varphi_kv -\\ log \psi\bigg(\sum_{l=1}^K\gamma_l\bigg)+\sum_{k=1}^K log \Psi(\gamma_k)-\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]-\\ \sum_{n=1}^N\sum_{k=1}^Kn_{nk} log \eta_{nk} \end{aligned}
\Psi(a_k)是对数伽马函数,即
\Psi(a_k)=\frac{d}{d_{a_k}}log\space \Gamma(a_k)

第一项推导,求E_q[log \,p(\theta|a)],是关于分布p(\theta,z|\gamma,\eta)的数学期望
E_q[log\, p(\theta|a)]=\sum_{k=1}^K(a_k-1)E_q[log \, \theta_k]+log\, \Gamma\bigg(\sum_{l=1}^Ka_l\bigg)-\sum_{k=1}^Klog \,\Gamma(a_k)
其中\theta \sim Dir(\theta|\gamma)
所以E_{q(\theta|\gamma)}log\,\theta_k]=\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)
故得
E_q[log\,p(\theta|a)=log\,\Gamma\bigg(\sum_{k=1}^Ka_k\bigg)-\sum_{k=1}^Klog\,\Gamma(a_k)+\sum_{k=1}^Klog\,\Gamma(a_k)+\sum_{k=1}^K(a_k-)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]
式中a_k,\gamma_k分别表示第k个话题的狄利克雷分布参数

第二项推导,求E_q[log\,p(z|\theta)]是关于分布q(\theta,z|\gamma,\eta)的数学期望
\begin{aligned} E_q[log\,p(z|\theta)]=\sum_{n=1}^N E_q[log\,p(z_n|\theta)]\\ =\sum_{n=1}^NE_{q(\theta,z_n|\gamma,\eta)}[log\,(z_n|\theta)]\\ =\sum_{n=1}^N\sum_{k=1}^Kq(z_{nk}|\eta)E_{q(\theta|\gamma)}[log\,\theta_k]\\ =\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg] \end{aligned}
式中\eta_{nk}表示文档第n个位置的单词由第k个话题产生的概率,\gamma_k表示第k个话题的狄利克雷分布参数。

第三项推导,求E_q[log\,p(w|z,\varphi)]是关于分布q(\theta,z|\gamma,\eta)的数学期望
\begin{aligned} E_q[log\,p(w|z,\varphi)]=\sum_{n=1}^NE_q[log\,p(w_n|z_n,\varphi)]\\ =\sum_{n=1}^NE_{q(z_n|\eta)}[loh\,p(w_n|z_n,\varphi)]\\ =\sum_{n=1}^N\sum_{k=1}^Kq(z_{nk}|\eta)log\,p(w_n|z_{nk},\varphi)\\ =\sum_{n=1}^N\sum_{k=1}^K \sum_{v=1}^V \eta_{nk }w_n^v log\,\varphi_{kv} \end{aligned}
式中\eta_{nk}表示文档第n个位置的单词由第k个话题产生的概率,w_n^v表示在第n个位置的单词是单词集合的第v个单词时取1,否则取0,\varphi_{kv}表示第k个话题生成单词集合第v个单词的概率

第四项推导,求E_q[log\,q(\theta|\gamma)],是关于分布q(\theta,z|\gamma,\eta)的数学期望。由于\theta \sim Dir(\gamma),可以得到
E_q[log \,q(\theta|\gamma)]=log\,\Gamma\bigg(\sum_{l=1}^K\gamma_k\bigg)-\sum_{k=1}^Klog\,\Gamma(\gamma_k)+\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{k=1}^K\gamma_l\bigg)\bigg]
式中\gamma_k表示第k个话题的狄利克雷分布参数

第五项公式推导,求E_q[log\,q(z|\eta)],是关于分布q(\theta,z|\gamma,\eta)的数学期望
\begin{aligned} E_q[log\,q(z|\eta)]=\sum_{n=1}^N[log\,q(z_n|\eta)]\\ =\sum_{n=1}^N E_{q(z_n|\eta)}[log\,q(z_n|\eta)]\\ =\sum_{n=1}^N\sum_{k=1}^Kvq(z_{nk}|\eta)log\,q(z_{nk}|\eta)\\ =\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}log\,\eta_{nk} \end{aligned}
式中\eta_{nk}表示文档第n个位置的单词由第k个话题产生的概率,\gamma_k表示第k个话题的狄利克雷分布参数

(2)变分参数\gamma和\eta的估计

首先通过证据下界最优化参数\eta\eta_{nk}表示第n个位置是由第k个话题生成的概率,\sum_{l=1}^K\eta_{nl}=1,包含\eta_{nl}的约束条件最优化问题拉格朗日函数为
L_{[\eta_{nk}]}=\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{k=1}^K\gamma_l\bigg)\bigg]+\eta_{nk}log\,\varphi_{kv}-\eta_{nk}log\,\eta_{nk}+\lambda_n\bigg(\sum_{l=1}^K\eta_{nl}-1\bigg)
这里\varphi_{kv}第在第n个位置由第k个话题生成第v个单词的概率

\eta_{kv}求偏导数得
\frac{\partial L}{\partial \eta_{nk}}=\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)+log\,\varphi_{kv}-log\,\eta_{nk}-1+ \lambda_n
令偏导数为零,得到参数\eta_{nk}的估计值
\eta_{nk} \approx \varphi_{kv}exp\bigg(\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg)
接着通过证据最优化估计参数\gamma\gamma_k是第k个话题的狄利克雷分布参数
\begin{aligned} L_{[\gamma_k]}=\sum_{k=1}^K(a_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]+\sum_{n=1}^N\sum_{k=1}^K\eta_{nk}\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]-\\ =log\,\Gamma\bigg(\sum_{k=1}^K\gamma_l\bigg)+log\,\Gamma(\gamma_k)-\sum_{k=1}^K(\gamma_k-1)\bigg[\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\\ =\sum_{k=1}^K\bigg(\Psi(\gamma_k)-\Psi\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\bigg(a_k+\sum_{n=1}^N\eta_{nk}-\gamma_k\bigg)-log\,\Gamma\bigg(\sum_{l=1}^K\gamma_l\bigg)+log\,\Gamma(\gamma_k) \end{aligned}
\gamma求偏导数得
\frac{\partial L}{\partial \gamma_k}=\bigg[\Psi'(\gamma_k)-\Psi'\bigg(\sum_{l=1}^K\gamma_l\bigg)\bigg]\bigg(a_k+\sum_{n=1}^N\eta_{nl}-\gamma_k\bigg)
令偏导数为零,解得到参数\gamma_k的估计值为
\gamma_k = a_k+\sum_{n=1}^N\eta_{nk}
由此得到坐标上升法算法估计变分参数的方法

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容